Asterisk – это решение для компьютерной телефонии с открытым исходным кодом, которое поддерживает протоколы VoIP, SIP и PJSIP для операционной системы Linux. Если подключить к компьютеру соответствующее оборудование, то с помощью Asterisk можно создать полноценную станцию ATC. Среди основных возможностей программы можно отметить голосовую почту, конференции, интерактивное голосовое меню и распределение звонков.
В этой статье мы рассмотрим как выполняется установка Asterisk на Ubuntu 20.04. Программу можно установить из официальных репозиториев дистрибутива или же собрать последнюю версию из исходников.
Установка Asterisk из репозиториев
В репозиториях Ubuntu 20.04 на данный момент находится версия 16. Это версия LTS с длительным сроком поддержки. Для установки программы достаточно выполнить команду:
sudo apt install asterisk
После завершения установки можно проверить версию программы:
Как видите, мы получили версию 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
Дальше нам нужно перейти в папку с исходниками, но мы не знаем точную версию программы. У нас есть мажорная версия 17, но минорную версию мы не знаем. Поэтому используйте такую команду:
Перед тем как выполнить сборку и установку Asterisk на Ubuntu необходимо установить нужные mp3 модули:
Эти команды позволят вам установить некоторые зависимости для проигрывания mp3. Затем установите нужные зависимости для этих модулей:
sudo contrib/scripts/install_prereq install
Выполнение может занять некоторое время, а также вам нужно будет ввести код страны. Дальше подготовим конфигурационные файлы для сборки:
Затем надо немного настроить процесс сборки:
Используйте клавиши со стрелками для перемещения по меню. Для выбора какого-либо пункта используйте Enter. Сначала включите необходимые дополнения на вкладке Add-ons. Например, как на снимке:
Затем перейдите в раздел Core Sound Packages и включите там необходимые пакеты, например:
Аналогично сделайте в разделе Music on Hold:
Когда закончите с настройкой выберите Save & Exit с помощью клавиши Tab:
Осталось выполнить сборку программы:
sudo make install
Когда установка будет завершена, выполните такую команду, чтобы не создавать сотни конфигурационных файлов вручную:
Чтобы установить скрипты инициализации, которые позволят запускать asterisk автоматически, при каждой загрузке выполните:
sudo make config
Затем для обновления кэша библиотек выполните такую команду:
Теперь вы можете запустить сервер asterisk и убедится, что все действительно работает:
sudo systemctl start asterisk
И смотрим информацию про утилиту через терминал:
Если все было сделано правильно и установка 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 нужно дать доступ ко всем каталогам программы:
sudo chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/
Также укажем правильные настройки пользователя для полей runuser и rungroup в файле /etc/asterisk/asterisk.conf:
sudo vi /etc/asterisk/asterisk.conf
runuser=asterisk;
rungroup=asterisk;
Когда все будет готово запустите ранее остановленную службу или перезагрузите, если не останавливали:
sudo systemctl start asterisk
sudo asterisk -rvvv
Если пользователь и группа – asterisk, а значит мы сделали все правильно, настройка Asterisk Ubuntu завершена.
Выводы
Вот и все. Установка Asterisk на Ubuntu 20.04 завершена. Теперь вы можете перейти к дальнейшей настройке сети для совершения звонков между вашими абонентами прямо через интернет. В качестве клиентского программного обеспечения можно использовать любую программу, поддерживающую нужные протоколы, например Jitsi или Linphone.