Рейтинг@Mail.ru

NetCloud

Простыми словами о сетевых технологиях

Установка Asterisk на сервере Ubuntu

Сервер Asterisk можно устанавливать на различных дистрибутивах Linux и многих архитектурах ПК.  В данной статье мы устанавливаем лабораторный стенд для проведения опытов с Asterisk. Характеристики сервера будут следующими:

  1. Процессор Intel Core 2 Duo 3 GHz
  2. ОЗУ: 2 Гб
  3. Операционная система: Ubuntu 14.04

Основные конфигурации Asterisk содержат в себе три пакета:

  1. Основная программа Asterisk (asterisk)
  2. Драйверы телефонии (dahdi)
  3. PRI-библиотеки (libpri)

Стоит отметить, что если планируется создавать только VoIP-сеть, то достаточно пакета asterisk. Однако мы советует вам установить все три пакета: какие модули активировать можно выбрать позже.

Драйвер dahdi нужен, если используется аналоговое или цифровое оборудование. Сам Asterisk не умеет обмениваться данными с периферийным оборудованием, эту задачу должен выполнять драйвер. Asterisk передает и принимает данные и сигнализацию с помощью dahdi. Схема работы следующая:

сервер Asterisk <-> chan_dahdi <-> Драйвера dahdi <-> Карта <-> Телефон/Коммутатор/Тел. сеть

Библиотека libpri позволяет использовать TDM-интерфейсы ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface). Libpri используется различными производителями оборудования мультиплексирования с разделение каналов по времени (TDM, Time Division Multiplexing).

Необходимые пакеты для Linux

Для сборки Asterisk необходимо установить набор пакетов build-essetial (содержит в себе g++, gcc, libc6-dev, dpkg-dev, make):

$ sudo apt-get install build-essential

Ncurses — это библиотека для управления вводом-выводом на терминал.

$ sudo apt-get install libncurses5-dev

Libxml2 — библиотека для анализа XML-документов. Данная библиотека нужна, так как телефонные книги в Asterisks имеют расширение .xml.

$ sudo apt-get install libxml2-dev

OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TSL. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509.

$ sudo apt-get install openssl

$ sudo apt-get install libssl-dev

Получение исходного кода Asterisk

Самый оптимальный вариант — взять исходный код для Asterisk прямо с официального сайта http://www.asterisk.org или на FTP-сервере.

Стоит упомянуть, что существует две основных области разработки Asterisk: ветвь (Branch) и ствол (Trunk). Ствол является наиболее свежей версией, в него добавляются все новые функции. Ветвь, в свою очередь, содержит в себе все исправленные дефекты предыдущих версий. Соответственно для производственной эксплуатации лучше использовать ветвь, так как она является более стабильной и безопасной.

vx0xoumw-1

Все манипуляции с Asterisk мы будет проводить в папке /usr/src. Следует помнить что для установки Asterisk необходимо обладать правами администратора.

Получаем самую последнюю версию исходного кода с помощью команды wget:

$ cd /usr/src/

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

Извлекаем исходные коды из архива:

$ tar -zxvf asterisk-14-current.tar.gz

$ tar -zxvf libpri-current.tar.gz

$ tar -zxvf dahdi-linux-current.tar.gz

$ tar -zxvf dahdi-tools-current.tar.gz

$ tar -zxvf dahdi-linux-complete-current.tar.gz

Выполнение этих команд обеспечит извлечение пакетов и исходного кода из архивов в соответствующие папки.

Компиляция Asterisk, LibPRI, DAHDI

Прежде чем начнем компилировать проект, приведу немного теории. Большинство программ перед использованием необходимо компилировать.

Компиляция — это преобразование программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке понятном компьютеру.

Процесс установки разделяется на три этапа:

  1. Конфигурирование (./configure)
  2. Сборка (make)
  3. Установка (make install)

Конфигурирование позволяет выполнить поиск всех зависимостей для программы (библиотек и заголовочных файлов), а также настройку особых параметров и подключение специальных библиотек. Когда команда ./configure обнаружит все, что ей нужно, она создаст Makefiles — файл, необходимый для сборки программы.

Make — является самой важной программой, выполняющей компиляции программы. Для своей работы она использует Makefiles, в котором подробно описана процедура сборки приложения со всеми параметрами.

Make install — позволяет выполнять установку программы в указанную директорию.

Прежде всего установим библиотеку PRI и драйверы телефонии dahdi.

Для установки LibPRI:

$ cd /usr/src/libpri-1.6.0

$ make

$ make install

$ cd ..

Для установки DAHDI:

$ cd /usr/src/dahdi-linux-complete-2.11.1+2.11.1

$ make all

$ make install

$ cd ..

Для установки Asterisk:

$ cd /usr/src/asterisk-14.7.6

$ ./configure

Если у вас вышло такое же окно как и внизу, поздравляю, можно продолжать дальше. В противном случае, при возникновении ошибок, воспользуйтесь данной статьей. Программа ./configure выполнит поиск всех необходимых пакетов, в случае если какой-то пакет не установлен, она выдаст ошибку. В коде этой ошибки будет содержаться название пакета, вам останется только его установить командой sudo apt-get install название_пакета.

rzl2qnic

Следующим командой можно выбрать модули/функции/опции Asterisk, которые вы хотите устанавливать.  Если отмечено звездочкой *, значит пункт выбран.

$ make menuselect

cgi4zelh

Следующей командой компилируем Asterisk:

$ make

В случае удачной компиляции вам предложат установку:

skrinshot-01-05-2018-220845

Выполняем установку Asterisk:

$ make install

В самом конце вы должны получить следующее окно:

04f4arsg

$ cd ..

Тестируем сервер Asterisk

После успешной установки сервера, попробуем его запустить. Создаем тестовые конфигурации:

$ make samples

Делаем первый запуск нашей станции:

$ sudo asterisk -vvvcd

7ok7jayx

Для того, чтобы не сочинять скрип автозапуска выполняем:

$ sudo make config

Теперь можно запустить наш сервер Asterisk как демон:

$ sudo /etc/init.d/asterisk start

И подключиться к его консоли:

$ sudo asterisk -rvvvcd

 


 

Обсуждение закрыто.