Как установить Asterisk 16 LTS в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9
Привет добрые люди !. В этой статье мы расскажем, как установить Asterisk 16 LTS в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10 / Debian 9. Asterisk — это полная система PBX с открытым исходным кодом с функциями большинства коммерчески доступных систем PBX. Он поддерживает конференц-связь, прямой доступ к системе, парковку вызовов, очереди вызовов и многие другие функции.
Установите Asterisk 16 в Ubuntu 18.04 / 16.04 и Debian 10/9
Ниже приведены шаги по установке Asterisk 16 на Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9.
Шаг 1. Обновите систему
Начните установку Asterisk 16 в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9, обновив систему, чтобы избежать проблем с зависимостями:
sudo apt update && sudo apt -y upgrade
sudo reboot
Шаг 2. Установите зависимости Asterisk 16 LTS
После того, как система будет запущена и обновлена, установите все необходимые пакеты зависимостей 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 в Ubuntu, как показано ниже:
E: Package 'subversion' has no installation candidate
Затем добавьте репозиторий юниверса и установите из него Subversion:
sudo add-apt-repository universe
sudo apt update && sudo apt -y install subversion
Шаг 3. Загрузите тарбол Asterisk 16 LTS
Поскольку Asterisk 16 недоступен в исходных репозиториях Debian и Ubuntu, установка будет выполнена из исходников. Сборка из исходного кода позволяет легко создавать все необходимые функции УАТС и настраивать систему VoIP.
$ sudo apt policy asterisk
asterisk:
Installed: (none)
Candidate: 1:13.14.1~dfsg-2+deb9u3
Version table:
1:13.14.1~dfsg-2+deb9u3 500
...
$ sudo apt policy asterisk
asterisk:
Installed: (none)
Candidate: 1:13.18.3~dfsg-1ubuntu4
Загрузите последнюю версию 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. Соберите и установите Asterisk 16 в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9
После того как вы скачали архив Asterisk 16 и установили необходимые зависимости, вы должны быть готовы к сборке Asterisk.
Запустите сценарий настройки, чтобы удовлетворить зависимости сборки.
sudo ./configure
Успех должен иметь результат, как показано ниже:
.................. configure: Menuselect build configuration successfully completed .$$$$$$$$=.. .$7$7.. .7$7:. .$:. ,$7.7 .$7. 7$$ .$77 ..$. $$$ .$$7 ..7$ .?. $$$ .?. 7$$. $.$. .$$7. $$7 .7$$. .$$. .777. .$$$77$$77$$$7. $$, $$~ .7$$$$$$$7. .$$. .$7 .7$$$$7: ?$$. $$ ?7$$$$$I .$$7 $$ .7$$$$$$$$ :$$. $$ $$$7$$$$$$ .$$. $$ $$ 7$$7 .$$ .$$. $$ $$7 .$$. 7$$7 7$$ 7$$ $$$ $$ $$7. $ (TM) $$$$. .7$$$ $ $$$$$$7$$$$$.$$$ $$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : x86_64 configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu : configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
Параметры меню настройки, выполнив следующую команду:
sudo make menuselect
Используйте клавиши со стрелками для навигации и клавишу Enter для выбора.
Add-ons выберите chan_ooh323
и, format_mp3
как показано ниже
В Core Sound Packages выберите форматы аудио пакетов, как показано ниже.
Для Music On Hold выберите следующие минимальные модули
В дополнительных звуковых пакетах выберите, как показано ниже:
Включите app_macro
в меню « Приложения» .
Вы можете изменить другие конфигурации по своему усмотрению. Когда закончите, сохраните и выйдите, затем установите Asterisk с выбранными модулями.
Затем соберите 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 +
Когда закончите, установите Asterisk, выполнив команду:
sudo make install
Пример вывода:
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ For generic reference documentation: +
+ make samples +
+ +
+ For a sample basic PBX: +
+ make basic-pbx +
+ +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
При желании вы можете установить документацию:
sudo make progdocs
Наконец, установите конфиги и образцы.
sudo make samples
sudo make config
sudo ldconfig
Будет создан файл служебной единицы systemd для звездочки.
Создать пользователя 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 по умолчанию 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
Сервис должен работать без ошибок:
$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/init.d/asterisk; generated)
Active: active (running) since Sun 2020-05-03 12:18:29 UTC; 1min 19s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 69 (limit: 2344)
Memory: 112.0M
CGroup: /system.slice/asterisk.service
└─88786 /usr/sbin/asterisk -U asterisk -G asterisk
May 03 12:18:29 ubuntu20 systemd[1]: Starting LSB: Asterisk PBX...
May 03 12:18:29 ubuntu20 asterisk[88756]: * Starting Asterisk PBX: asterisk
May 03 12:18:29 ubuntu20 asterisk[88756]: ...done.
May 03 12:18:29 ubuntu20 systemd[1]: Started LSB: Asterisk PBX.
Проверьте, можете ли вы подключиться к Asterisk CLI:
$ sudo asterisk -rvv Asterisk 16.10.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email protected]> 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 20.04 / 18.04 / 16.04 и Debian 10/9.