Як встановити та налаштувати Asterisk 16 LTS на Ubuntu 24.04|22.04|20.04
У цій статті ми розглянемо кроки для встановлення Asterisk 16 LTS на Ubuntu 24.04|22.04|20.04. Asterisk – це повноцінна система АТС з відкритим вихідним кодом з функціями більшості комерційно доступних систем АТС. Він має підтримку конференц-зв’язку, прямого доступу до системи всередину, паркування викликів, черг викликів та багатьох інших функцій.
Нижче наведено кроки встановлення Asterisk 16 на Ubuntu 24.04|22.04|20.04.
Крок 1: Оновіть систему
Почніть установку Asterisk 16 на Ubuntu, оновивши систему, щоб уникнути будь-яких проблем із залежностями:
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
Потім додайте репозиторій universe і встановіть subversion з нього:
sudo add-apt-repository universe
sudo apt update && sudo apt -y install subversion
Крок 3: Завантажте Asterisk 16 LTS tarball
Оскільки 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 https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-16.7.0.tar.gz
Потім розпакуйте файл:
sudo tar xvf asterisk-16.7.0.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
Після того, як ви завантажили архів 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 для вибору.
На Додатки виберіть і як показано нижчеchan_ooh323
format_mp3
У пакетах Core Sound виберіть формати аудіопакетів, як показано нижче
Для параметра Music On Hold, виберіть такі мінімальні модулі
У розділі Extra Sound Packages виберіть, як показано нижче:
Увімкніть у меню 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 для зірочки.
Крок 5: Створіть користувача та запустіть службу
Створіть окремого користувача та групу для запуску сервісів із зірочкою та призначте правильні дозволи:
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 для користувача Astarrisk за замовчуванням:o :
$ 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
Увімкніть запуск служби 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 <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 24.04|22.04|20.04.