Asterisk - это решение для компьютерной телефонии с открытым исходным кодом, которое поддерживает протоколы VoIP, SIP и PJSIP для операционной системы Linux. Если подключить к компьютеру соответствующее оборудование, то с помощью Asterisk можно создать полноценную станцию ATC. Среди основных возможностей программы можно отметить голосовую почту, конференции, интерактивное голосовое меню и распределение звонков.
В этой статье мы рассмотрим как выполняется установка Asterisk на Ubuntu 20.04. Программу можно установить из официальных репозиториев дистрибутива или же собрать последнюю версию из исходников.
Содержание статьи
- Установка Asterisk из репозиториев
- Установка Asterisk на Ubuntu из исходников
- Настройка Asterisk в Ubuntu
- Выводы
Установка Asterisk из репозиториев
В репозиториях Ubuntu 20.04 на данный момент находится версия 16. Это версия LTS с длительным сроком поддержки. Для установки программы достаточно выполнить команду:
sudo apt install asterisk
После завершения установки можно проверить версию программы:
asterisk -rvvv
Как видите, мы получили версию 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
Дальше нам нужно перейти в папку с исходниками, но мы не знаем точную версию программы. У нас есть мажорная версия 17, но минорную версию мы не знаем. Поэтому используйте такую команду:
cd asterisk-17*
Перед тем как выполнить сборку и установку Asterisk на Ubuntu необходимо установить нужные mp3 модули:
contrib/scripts/get_mp3_source.sh
Эти команды позволят вам установить некоторые зависимости для проигрывания mp3. Затем установите нужные зависимости для этих модулей:
sudo contrib/scripts/install_prereq install
Выполнение может занять некоторое время, а также вам нужно будет ввести код страны. Дальше подготовим конфигурационные файлы для сборки:
./configure
Затем надо немного настроить процесс сборки:
make menuselect
Используйте клавиши со стрелками для перемещения по меню. Для выбора какого-либо пункта используйте Enter. Сначала включите необходимые дополнения на вкладке Add-ons. Например, как на снимке:
Затем перейдите в раздел Core Sound Packages и включите там необходимые пакеты, например:
Аналогично сделайте в разделе Music on Hold:
Когда закончите с настройкой выберите Save & Exit с помощью клавиши Tab:
Осталось выполнить сборку программы:
make
Затем установка:
sudo make install
Когда установка будет завершена, выполните такую команду, чтобы не создавать сотни конфигурационных файлов вручную:
make samples
Чтобы установить скрипты инициализации, которые позволят запускать asterisk автоматически, при каждой загрузке выполните:
sudo make config
Затем для обновления кэша библиотек выполните такую команду:
sudo ldconfig
Теперь вы можете запустить сервер asterisk и убедится, что все действительно работает:
sudo systemctl start asterisk
И смотрим информацию про утилиту через терминал:
asterisk -rvvv
Если все было сделано правильно и установка 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/{lib,log,spool}/asterisk /usr/lib/asterisk
Также укажем правильные настройки пользователя для полей runuser и rungroup в файле /etc/asterisk/asterisk.conf:
sudo vi /etc/asterisk/asterisk.conf
Когда все будет готово запустите ранее остановленную службу или перезагрузите, если не останавливали:
sudo systemctl start asterisk
Затем проверяем:
sudo asterisk -rvvv
Если пользователь и группа - asterisk, а значит мы сделали все правильно, настройка Asterisk Ubuntu завершена.
Выводы
Вот и все. Установка Asterisk на Ubuntu 20.04 завершена. Теперь вы можете перейти к дальнейшей настройке сети для совершения звонков между вашими абонентами прямо через интернет. В качестве клиентского программного обеспечения можно использовать любую программу, поддерживающую нужные протоколы, например Jitsi или Linphone.
Везде похожие гайды как установить, но нигде нет как добавить первый номер\пользователя (и другие первоначальные и простые настройки) и сделать первый звонок, может добавите в статью или напишите новую, где будет все объяснено на пальцах для новичков?
а есть еше видео курс по Asterisk http://nnm-club.name/forum/viewtopic.php?t=883434
сходите на сайт английского оригинала и поправьте ошибки которые у вас в статье!!!! Часть строк у вас слилось вместе и не работает при копепесте.
https://linoxide.com/ubuntu-how-to/install-asterisk-13-ubuntu-16-04-source/
Спасибо автору!
Только просьба: попробуй выполнить в консоле, то что у тебя написано...
Если не тупо копипастить, а задумываться над тем что делаешь, то ошибок очень легко избежать
Спасибо! Надеюсь на свершения в развитии Вашего проекта. Очень помогает часто.
Большое спасибо Вам за этот гайд!