DataLife Engine / Asterisk на Ubuntu: Полная инструкция по установке и настройке

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 -rvvv

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

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

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

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

tar zxvf asterisk-17-current.tar.gz

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

cd asterisk-17*

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

contrib/scripts/get_mp3_source.sh

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

sudo contrib/scripts/install_prereq install

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

./configure

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

make menuselect

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

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

make

Затем установка:

sudo make install

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

make samples

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

sudo make config

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

sudo ldconfig

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

sudo systemctl start asterisk

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

asterisk -rvvv

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

AST_USER="asterisk"
AST_GROUP="asterisk"

Asterisk на Ubuntu: Полная инструкция по установке и настройке

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

sudo chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/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.

12-10-2025, 15:42
Вернуться назад