Как установить Asterisk 16 LTS на Ubuntu?

Asterisk — свободное решение для IP-телефонии с открытым исходным кодом. Он позволяет настроить голосовую почту, удержание с музыкой, очередь вызовов и много другого. Рассказываем, как установить LTS-версию Asterisk 16 на Ubuntu 22.04 | 20.04 | 18.04.

Шаг 1: Обновите систему

Установку советуем начать с обновления системы. Это поможет избежать проблем с зависимостями: 

sudo apt update && sudo apt -y upgrade
sudo reboot

Шаг 2: Установите зависимости Asterisk

После обновления системы устанавливаем все нужные пакеты сервиса:

sudo apt -y install git curl wget libnewt-dev libssl-dev libncurses5-dev subversion  libsqlite3-dev build-essential libjansson-dev libxml2-dev  uuid-dev

Вам может выдать ошибку для пакета subversion. Выглядит это так:

E: Package 'subversion' has no installation candidate

Это не страшно. В таком случае нужно добавить репозиторий universe и установить subversion оттуда:

sudo add-apt-repository universe
sudo apt update && sudo apt -y install subversion

Шаг 3: Скачайте тарбол Asterisk 16 LTS

Asterisk 16 недоступен в основных репозиториях Ubuntu, поэтому будем устанавливать его из исходного кода. Это даёт подключить все нужные функции PBX и настроить VoIP-систему под себя.

Загружаем последнюю версию Asterisk 16 LTS в свою систему:

cd /usr/src/
sudo curl -O http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Теперь извлекаем файл:

sudo tar xvf asterisk-16-current.tar.gz
cd asterisk-16*/

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

$ sudo contrib/scripts/get_mp3_source.sh
A addons/mp3/decode_ntom.c
A addons/mp3/interface.c
A addons/mp3/MPGLIB_README
A addons/mp3/common.c
A addons/mp3/huffman.h
A addons/mp3/tabinit.c
A addons/mp3/Makefile
A addons/mp3/README
A addons/mp3/decode_i386.c
A addons/mp3/dct64_i386.c
A addons/mp3/MPGLIB_TODO
A addons/mp3/mpg123.h
A addons/mp3/layer3.c
A addons/mp3/mpglib.h
Exported revision 202.

Проверяем все ли зависимости разрешены:

sudo contrib/scripts/install_prereq install

Если всё хорошо, получим такое сообщение:

#############################################
## install completed successfully
#############################################

Шаг 4: Соберите и установите Аsterisk 

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

Запускаем скрипт configure:

sudo ./configure

Настраиваем параметры меню с помощью команды:

sudo make menuselect

В надстройках выбираем chan_ooh323 и format_mp3:

chan_ooh323 и format_mp3

Затем выбираем формат аудиопакетов в Core Sound Packages:

Core Sound Packages

Для Music On Hold выбираем такие минимальные модули:

Music On Hold

Выбираем Extra Sound Packages:

Extra Sound Packages

Теперь включаем app_macro в меню “Applications”:

app_macro в меню “Applications"

Вы можете изменить все конфигурации, которые посчитаете нужными. Как только вы это сделаете, нажмите “Save & Exit”. Теперь можете установить Asterisk с выбранными модулями.

Собираем сервис с помощью команды sudo make. Вот что мы получим:

Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons 
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +

Нам осталось установить сервис с помощью sudo make install

Дальше по желанию можно установить документацию:

sudo make progdocs

И последнее — устанавливаем конфигурации и шаблоны:

sudo make samples
sudo make config
sudo ldconfig

Шаг 5: Создать пользователя Asterisk

Чтобы запустить сервисы Asterisk, создаём отдельного пользователя и группу, назначаем разрешения:

sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk

Устанавливаем пользователя по умолчанию. В нашем случае это asterisk:

$ sudo vim /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"

$ sudo vim /etc/asterisk/asterisk.conf
runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.

Перезагружаем Asterisk:

sudo systemctl restart asterisk

Следующая команда будет запускать сервис при загрузке системы:

sudo systemctl enable asterisk

Теперь всё должно работать без ошибок. Проверим, можете ли вы подключиться к командной строке сервиса:

$ sudo asterisk -rvv
Asterisk 16.10.0, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
====================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 16.10.0 currently running on ubuntu20 (pid = 88786)
ubuntu-01*CLI> core  show channels
Channel              Location             State   Application(Data)             
0 active channels
0 active calls
0 calls processed
ubuntu-01*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups

Если у вас есть активный UFW фаервол, откройте http-порты и порты 5060, 5061:

sudo ufw allow proto tcp from any to any port 5060,5061

Готово! Вы установили Asterisk 16 LTS на сервер Ubuntu. 
Теперь вы можете перейти к настройке функций сервиса под себя. А чтобы знать, как все эти функции работают и научиться ими пользоваться, мы подготовили курс Администрирование IP-телефонии Asterisk. Группы стартуют часто, поэтому не теряйте времени!

Добавить комментарий

Спасибо, что поделились