Як встановити 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:
Потім обираємо формат аудіопакетів в Core Sound Packages:
Для Music On Hold вибираємо такі мінімальні модулі:
Вибираємо Extra Sound Packages:
Тепер вмикаємо 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 ; 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 <[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 tcp from any to any port 5060,5061
Готово! Ви встановили Asterisk 16 LTS на сервер Ubuntu.
Тепер ви можете перейти до налаштування функцій сервісу під себе. А щоб знати, як всі ці функції працюють і навчитися ними користуватися, ми підготували курс Адміністрування IP-телефонії Asterisk. Групи стартують часто, тому не гайте часу!