Установка Asterisk 18 на Ubuntu 20.04

Asterisk — это популярная платформа АТС с открытым исходным кодом для использования VoIP — шлюзов. Одним словом это онлайн-телефонное решение, используемое частными лицами, малым и крупным бизнесом, предприятиями и различными правительствами.

Asterisk использует протокол VoIP для совершения звонков через Интернет по протоколу TCP/IP вместо традиционной телефонной линии. Его функции включают голосовую почту, удержание с музыкой, конференц-связь, очередь вызовов, запись вызовов, интерактивный голосовой ответ, SMS-сообщения, автоматическое распределение вызовов и многое другое. Asterisk может быть установлен в операционных системах Linux, NetBSD, macOS и Solaris.

В этой статье подробно описано как выполняется установка Asterisk 18 на Ubuntu 20.04.

Возможно вас заинтересует:

ОГРАНИЧЕНИЕ НА ЗВОНКИ ДЛЯ ГРУППЫ НОМЕРОВ В ASTERISK

Установка Asterisk 18 на Ubuntu 20.04

В репозиториях Ubuntu мы можем найти пакет Asterisk, но это старая версия. Чтобы получить последнюю версию, вам необходимо установить Asterisk из исходного кода.

Во — первых, обновите свою систему Ubuntu:

$ sudo apt update

Затем установите необходимые пакеты для компиляции Asterisk из исходного кода:

$ sudo apt install wget build-essential git autoconf subversion pkg-config libtool

Установка DAHDI и LibPRI

DAHDI — это дополнение к инструментам, которое позволяет Asterisk взаимодействовать с аналоговыми и цифровыми телефонами. Библиотека LibPRI используется для связи с подключениями ISDN. Если вам не нужны эти библиотеки, вы можете игнорировать этот раздел.

$ sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
$ cd dahdi-linux
$ sudo make
$ sudo make install
$ cd ..

$ sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
$ cd dahdi-tools
$ sudo autoreconf -i
$ sudo ./configure
$ sudo make install
$ sudo make install-config
$ sudo dahdi_genconf modules

Выполните следующие команды для компиляции и сборки LibPRI:

$ cd ..
$ sudo git clone https://gerrit.asterisk.org/libpri libpri
$ cd libpri
$ sudo make
$ sudo make install

Установка Asterisk на Ubuntu

Первое что требуется это клонирование репозитория исходного кода Asterisk (это может занять некоторое время).:

$ sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18

На момент написания этого руководства последней версией Asterisk была 18.7.2, вот ее мы собираемся скомпилировать и установить.

Затем загрузите исходники MP3. Делается это с помощью скрипта оболочки, который необходим для сборки модуля MP3, и используйте файлы MP3 на Asterisk:

$ sudo contrib/scripts/get_mp3_source.sh

Теперь запустите скрипт install_prereq, это требуется для установки необходимых зависимостей (этот шаг также займет некоторое время).:

$ sudo contrib/scripts/install_prereq install

В середине процесса вам будет предложено ввести свой телефонный код:

Установка кода города при установке Asterisk на Ubuntu
Установка кода города при установке Asterisk на Ubuntu

Когда он завершится, вывод должен быть:

Processing triggers for libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.4) …
Processing triggers for libc-bin (2.31-0ubuntu9.2) …
Processing triggers for systemd (245.4-4ubuntu3.13) …
Processing triggers for man-db (2.9.1-1) …
Processing triggers for install-info (6.7.0.dfsg.2-5) …
Setting up libgmime-2.6-dev (2.6.23+dfsg1-4) …
Setting up libgmime-3.0-dev:amd64 (3.2.7-1) …

#######################################
## install completed successfully
#######################################

Далее нам нужно проверить, присутствуют ли все зависимости в системе, чтобы скомпилировать исходный код. Затем выполните следующую команду:

$ sudo ./configure

В конце вас встретит красивый логотип ASCII со звездочкой.

Далее выберите модули, которые вы хотите скомпилировать и установить. Чтобы получить доступ к меню, введите следующее:

$ sudo make menuselect

Установка Asterisk 18 на Ubuntu 20.04
Установка Asterisk 18 на Ubuntu 20.04

Выберите опцию “format_mp3” в меню, чтобы создать модуль MP3. Перейдите с помощью клавиш со стрелками, затем нажмите клавишу Ввод (Enter), чтобы выбрать нужный параметр. Выберите другие опции, которые вы хотите включить. Далее нажмите F12, чтобы сохранить и выйти из меню установки Asterisk.

Выход из меню установки Asterisk
Выход из меню установки Asterisk

Вы должны увидеть такой ответ терминала:

menuselect changes saved!
make[1]: Leaving directory '/home/linoxide/asterisk-18'

Чтобы начать компиляцию исходного кода, выполните команду make:

$ sudo make -j2

В зависимости от количества ядер процессора на вашем компьютере, вы можете настроить параметр -j в соответствии с количеством ядер на вашем компьютере, чтобы ускорить время компиляции.

Если все прошло успешно, вы должны получить:

+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running:              +
+                                           +
+ make install                              +
+-------------------------------------------+

После завершения компиляции, выполните установку Asterisk и его модулей. Для этого введите команду:

$ sudo make install

Вы можете установить общие файлы конфигурации:

$ sudo make samples

А так же, установите основные файлы конфигурации АТС:

$ sudo make basic-pbx

И наконец, выполните следующие действия, чтобы установить сценарий инициализации Asterisk и обновить кэш общих библиотек:

$ sudo make config
$ sudo ldconfig

Создание пользователя Asterisk в Ubuntu

Мы создадим нового пользователя, от имени которого будет работать Asterisk. Выполните следующую команду, чтобы создать нового пользователя с именем asterisk:

$ sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk

Результат должен быть следующим:

Adding system user asterisk' (UID 114) ... Adding new groupasterisk' (GID 120) …
Adding new user asterisk' (UID 114) with groupasterisk' …
Not creating home directory `/var/lib/asterisk'.

Чтобы настроить Asterisk для запуска от имени вновь созданного пользователя, откройте файл /etc/default/asterisk и раскомментируйте следующие две строки в начале (просто удалите # перед строками).:

$ sudo nano /etc/default/asterisk

AST_USER="asterisk"
AST_GROUP="asterisk"

Затем добавьте пользователя asterisk в следующие группы:

$ sudo usermod -a -G dialout,audio asterisk

Нам также необходимо изменить владельца всех файлов и папок asterisk, чтобы пользователь 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

Запуск Asterisk

Осталось запустить службу Asterisk, делается это следующей командой:

$ sudo systemctl start asterisk

Убедитесь, что Asterisk запущен, подключившись к интерфейсу командной строки (CLI) Asterisk, введя:

$ sudo asterisk -vvvr

Вы должны увидеть результат, аналогичный этому:

Connected to Asterisk GIT-18-804b1987fb currently running on linoxide (pid = 31426)
linoxide*CLI>

Теперь включите запуск службы при старте системы:

$ sudo systemctl enable asterisk

Настройка брандмауэра

Если у вас настроен брандмауэр, откройте порты HTTP и порты 5060,5061:

$ sudo ufw allow 5060/udp
$ sudo ufw allow 10000:20000/udp

Заключение

Поздравляю! Вы успешно установили и настроили сервер Asterisk в Ubuntu 20.04

Для получения дополнительной информации вы можете посетить официальный веб-сайт Asterisk.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.

  1. vs145

    А dahdi-tool я так понимаю нет здесь?

    Ответить