Установка Asterisk 17.x на Ubuntu 18.4 LTS

Инструкции по установке и настройке оборудования IP-телефонии и АТС
Правила форума
Внимание! Обсуждения в разделе инструкций запрещены!

Обсуждение вопросов установки, настройки, возможных ошибок и решение проблем происходит в соответствующих тематических разделах.
Если Вы обнаружили ошибки или неточности в инструкции, пожалуйста напишите об этом в комментариях под ней, либо отправьте сообщение администрации ресурса.
Ответить
Аватара пользователя
doxtor
Сообщения: 8
Зарегистрирован: 13 фев 2020, 05:05
Контактная информация:

Установка Asterisk 17.x на Ubuntu 18.4 LTS

Сообщение doxtor » 19 мар 2020, 15:24

Здесь описан перечень действий для "чистой" установки Asterisk 17 на хардварный (не виртуальный) локальный сервер (спрятанный за NAT) под управлением Ubuntu 18.4 LTS. Перед установкой на сервере должны быть настроены и запущены сетевые службы.

1. Скачиваем и распаковываем архив с исходниками с официального сайта

Код: Выделить всё

cd /usr/src/
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
sudo tar zxf asterisk-17-current.tar.gz
cd asterisk-17.*/
2. Устанавливаем дополнительные зависимости и модули mp3 при помощи скриптов

Код: Выделить всё

sudo apt install subversion
sudo contrib/scripts/get_mp3_source.sh
sudo contrib/scripts/install_prereq install
Результат

Код: Выделить всё

Current status: 27 (-2) upgradable.
#############################################
## install completed successfully
#############################################
3. Запускаем конфигурацию сборки

Код: Выделить всё

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 :
4. Запускаем меню предустановки

Код: Выделить всё

sudo make menuselect
В меню включаем и отключаем требуемые модули и компоненты Asterisk. Не забываем включить format_mp3. Внимательно обращаемся с модулями из секций --- Deprecated --- , т.к. многие из них НЕ СОВМЕСТИМЫ с действующими модулями. Также обращаем внимание на то, что в Asterisk 17 по умолчанию chan_sip - ОТКЛЮЧЕН. Вместо него на постоянно основе используется chan_pjsip

Выбрав модули в меню нажимаем Save & Exit

5. Запускаем сборку

Код: Выделить всё

sudo make -j2
Результат

Код: Выделить всё

 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+
6. Запускаем установку

Код: Выделить всё

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    +
 +-------------------------------------------+
Установка "пустого" Asterisk 17 завершена. Не забываем, что папки конфигурации Asterisk пока пусты. Вообще пусты, т.е. пока ничего не заработает.

7. Устанавливаем демо-настройки и производит окончательную конфигурацию

Код: Выделить всё

sudo make samples
sudo make basic-pbx
sudo make config
sudo ldconfig
Теперь Asterisk установлен и установлена с использованием демо-настроек (можно даже сказать - базовых настроек). Однако запускать сервис по прежнему рано.

8. Создаем пользователей и группы пользователей от имени которых будет работать Asterisk 17

Код: Выделить всё

sudo addgroup --quiet --system asterisk
sudo adduser --quiet --system --ingroup asterisk --no-create-home --disabled-password asterisk
9. Открываем "любимым" редактором и вносим правки в /etc/default/asterisk

Код: Выделить всё

sudo vim /etc/default/asterisk

....
AST_USER="asterisk"
AST_GROUP="asterisk"
....
10. Добавляем пользователя asterisk в сопуствующие группы и даем необходимые права доступа к файлам.
ВНИМАНИЕ! УСТАНАВЛИВАТЬ ПРАВА ДОСТУПА ОБЯЗАТЕЛЬНО! Без этого при запуске сервиса (а он запустится!) вы "поймаете" кучу очень "интересных" ошибок. Т.е. с виду все будет работать, но не будут ходить звонки, например, не будут до конца отрабатываться exten-ы и т.д.

Код: Выделить всё

sudo usermod -a -G dialout,audio asterisk
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
11. "Сверлим дырки" во встроенном файерволе Ubuntu (либо вовсе отключаем его по желанию)

Код: Выделить всё

sudo ufw allow 5060/udp
sudo ufw allow 16384:16684/udp
Для выключение файрвола целиком делаем

Код: Выделить всё

sudo ufw disable
12. Запуск сервиса Asterisk 17
Почему-то на некторых сборках сервис Asterisk 17 запускался только после первого "ручного" консольного старта приложения. Поэтому перед запуском сервиса рекомендуется запустить Asterisk 17 как приложение вручную

Код: Выделить всё

sudo asterisk -cvvvvvvvvv
Убедившись, что все работает - останавливаем приложение при помощи [Ctrl+C] и после этого уже запускаем его как сервис и ставим в автозагрузку

Код: Выделить всё

sudo systemctl enable asterisk
sudo systemctl start asterisk
Подключаемся к CLI, проверяем что все работает

Код: Выделить всё

sudo asterisk -rvvvvvvvvv
На этом базовая установка Asterisk 17 на Ubuntu 18.04 LTS завершена

Ответить

Вернуться в «Инструкции»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей