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

Asterisk – это решение для компьютерной телефонии с открытым исходным кодом, которое поддерживает протоколы VoIP, SIP и PJSIP для операционной системы Linux. Если подключить к компьютеру соответствующее оборудование, то с помощью Asterisk можно создать полноценную станцию ATC. Среди основных возможностей программы можно отметить голосовую почту, конференции, интерактивное голосовое меню и распределение звонков.

В этой статье мы рассмотрим как выполняется установка Asterisk на Ubuntu 20.04. Программу можно установить из официальных репозиториев дистрибутива или же собрать последнюю версию из исходников.

Установка Asterisk из репозиториев

В репозиториях Ubuntu 20.04 на данный момент находится версия 16. Это версия LTS с длительным сроком поддержки. Для установки программы достаточно выполнить команду:

sudo apt install asterisk

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

После завершения установки можно проверить версию программы:

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

Как видите, мы получили версию 16. Это LTS версия, но на данный момент уже доступна версия 17. Чтобы её получить придется собрать программу из исходников.

Установка Asterisk на Ubuntu из исходников

Первым делом вам нужно установить зависимости для работы программы:

sudo apt install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev

Дальше мы можем перейти к сборке программы, сначала скачаем исходный код из официального сайта:

Для распаковки исходников наберите:

tar zxvf asterisk-17-current.tar.gz

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

Дальше нам нужно перейти в папку с исходниками, но мы не знаем точную версию программы. У нас есть мажорная версия 17, но минорную версию мы не знаем. Поэтому используйте такую команду:

Перед тем как выполнить сборку и установку Asterisk на Ubuntu необходимо установить нужные mp3 модули:

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

Эти команды позволят вам установить некоторые зависимости для проигрывания mp3. Затем установите нужные зависимости для этих модулей:

sudo contrib/scripts/install_prereq install

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

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

Затем надо немного настроить процесс сборки:

Используйте клавиши со стрелками для перемещения по меню. Для выбора какого-либо пункта используйте Enter. Сначала включите необходимые дополнения на вкладке Add-ons. Например, как на снимке:

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

Затем перейдите в раздел Core Sound Packages и включите там необходимые пакеты, например:

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

Аналогично сделайте в разделе Music on Hold:

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

Когда закончите с настройкой выберите Save & Exit с помощью клавиши Tab:

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

Осталось выполнить сборку программы:

sudo make install

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

Когда установка будет завершена, выполните такую команду, чтобы не создавать сотни конфигурационных файлов вручную:

Чтобы установить скрипты инициализации, которые позволят запускать asterisk автоматически, при каждой загрузке выполните:

sudo make config

Затем для обновления кэша библиотек выполните такую команду:

Теперь вы можете запустить сервер asterisk и убедится, что все действительно работает:

sudo systemctl start asterisk

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

И смотрим информацию про утилиту через терминал:

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

Если все было сделано правильно и установка Asterisk на Ubuntu с нуля прошла успешно, то все будет работать.

Настройка Asterisk в Ubuntu

Программа запускается от суперпользователя. Но нам нужно, чтобы её можно было запустить от пользователя asterisk, а поэтому нужно выполнить ещё несколько настроек. Так ваша система будет в большей безопасности. Для начала нужно остановить запущенный сервис:

sudo systemctl stop asterisk

Дальше добавьте группу и пользователя asterisk:

sudo groupadd asterisk
sudo useradd -d /var/lib/asterisk -g asterisk asterisk

Дальше нам нужно изменить скрипт инициализации так, чтобы программа запускалась от имени нужного пользователя. Откройте файл /etc/default/asterisk и расскоментируйте такие строки:

sudo vi /etc/default/asterisk

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

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

sudo chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var//asterisk /usr/lib/asterisk

Также укажем правильные настройки пользователя для полей runuser и rungroup в файле /etc/asterisk/asterisk.conf:

sudo vi /etc/asterisk/asterisk.conf

runuser = asterisk;
rungroup = asterisk;

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

Когда все будет готово запустите ранее остановленную службу или перезагрузите, если не останавливали:

sudo systemctl start asterisk

sudo asterisk -rvvv

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

Если пользователь и группа – asterisk, а значит мы сделали все правильно, настройка Asterisk Ubuntu завершена.

Выводы

Вот и все. Установка Asterisk на Ubuntu 20.04 завершена. Теперь вы можете перейти к дальнейшей настройке сети для совершения звонков между вашими абонентами прямо через интернет. В качестве клиентского программного обеспечения можно использовать любую программу, поддерживающую нужные протоколы, например Jitsi или Linphone.