Як встановити та налаштувати Asterisk 16 LTS на Ubuntu 24.04|22.04|20.04

Як встановити та налаштувати 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_ooh323format_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.

Прокрутка до верху