Установка asterisk 16 на centos 8
Содержание:
Введение
Asterisk — бесплатное решение для организации voip телефонии. Он обладает всеми возможностями обычных АТС, но предоставляет более богатый функционал по управлению звонками. За относительную простоту настройки, по сравнению с цифровыми АТС, бесплатность и широкие возможности он и снискал такую популярность.
Freepbx — бесплатный веб интерфейс для управления астериском. Он существенно упрощает работу с конфигурациями, позволяет выполнять некоторые функции людям, вообще далеким от астериска. Например, с его помощью практически любого можно научить управлять учетными записями пользователей.
Лично я больше люблю настраивать asterisk вручную, нежели с помощью готовой панели. Да, конфигов астериск очень много, они объемные, работать с ними не удобно. Тем не менее, чистый астериск предоставляет практически неограниченную возможность по конфигурированию. С готовой панелью вы будете ограничены ее возможностями. Но если они вас полностью удовлетворяют, то лучше использовать ее.
Дальнейшая установка FreePBX будет проходить по следующей схеме:
- Подготовка системы.
- Настройка Web сервера.
- Установка NodeJS.
- Сборка Asterisk из исходников.
- Установка Freepbx.
Сразу важное замечание. Официально Freepbx еще не поддерживает Centos 8
После установки панели, она будет показывать в статусе, что версию системы, на которую она установлена, не может определить. Учитывайте этот нюанс. С таким раскладом для прода она еще не готова. Но в целом, если поставить, попробовать и убедиться, что она работает, можно использовать. По сути, эта панель привязана не к системе, а к версиям софта (php, nodejs, asterisk).
Следующая проблема в том, что стабильной считается 14-я версия, но она работает нормально только на php 5.6, для которого уже кончилась поддержка и ставить ее как-то не с руки. Есть 15-я версия, которая нормально работает на php 7, но она все еще в статусе бета, хоть и работает достаточно стабильно. Что ставить себе, решайте сами. Если непременно нужна Centos 8, то в закрытый контур я бы поставил 14-ю версию на php 5.6. Если версия с доступом из инета, то я бы ставил 15-ю на php 7.
Таким образом, если вам нужна максимальная стабильность, то разумнее всего сейчас использовать Centos 7, php 5.6 и Freepbx 14 (моя статья по теме). Пример одного из многочисленных вопросов на официальном сайте по поводу php 7.
Я покажу 3 примера установки Freepbx:
- 15-я версия на php 7.2
- 14-я версия на php 7.2
- 14-я версия на php 5.6
Переходите по меню сразу к нужному разделу.
Установка Asterisk на Ubuntu 16.04
Для сборки из исходников нам нужно будет выполнять большинство действий от имени суперпользователя, поэтому сразу же получим полные права в системе:
Обратите внимание, что если вы заходите зайти на свой сервер по ssh от имени root, то вам все равно придется подключаться от имени обычного пользователя, а уже потом переключаться в консоль root. Дальше вам нужно установить зависимости для работы программы:. apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion
apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion
Дальше мы можем перейти к сборке программы, сначала скачаем исходный код из официального сайта:
cd /usr/src $ wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
Для распаковки исходников наберите:
tar zxvf asterisk-13-current.tar.gz
Дальше нам нужно перейти в папку с исходниками, но мы не знаем точную версию программы. У нас есть мажорная версия 13, но минорную версию мы не знаем. Поэтому используйте такую команду:
Перед тем как компилировать программу нам нужно собрать и установить pjproject. Сначала скачаем исходники:
git clone git://github.com/asterisk/pjproject pjproject $ cd pjproject $ ./configure —prefix=/usr —enable-shared —disable-sound —disable-resample —disable-v $ make dep make && make install $ ldconfig $ ldconfig -p|grep pj
Наконец теперь мы готовы выполнить сборку и установку Asterisk на Ubuntu 16.04:
cd .. contrib/scripts/get_mp3_source.sh $ contrib/scripts/install_prereq install
Эти команды позволят вам установить некоторые зависимости для проигрывания mp3. Выполнение может занять некоторое время, а также вам нужно будет ввести код страны. Дальше начинаем сборку:
./configure && make menuselect && make && make install
Когда установка будет завершена, выполните такую команду, чтобы не создавать сотни конфигурационных файлов вручную:
Чтобы установить скрипты инициализации, которые позволят запускать asterisk автоматически, при каждой загрузке выполните:
make config ldconfig
Теперь вы можете запустить сервер asterisk и убедится, что все действительно работает:
service asterisk start
И смотрим информацию про утилиту через терминал:
Если все было сделано правильно и установка Asterisk на Ubuntu 16.04 прошла успешно, то все будет работать.
Общие вопросы
Базовая установка Asterisk состоит из четырёх частей:
- Библиотека LibPRI. Эта библиотека предназначена для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface).
- Модули поддержки телекоммуникационного оборудования DAHDI.
- Утилиты DAHDI.
- Собственно сам сервер Asterisk.
Ставить их необходимо именно в таком порядке. Если у вас нет никакого внешнего оборудования, то можно ограничиться установкой чистого Asterisk, однако разработчики всегда рекомендуют ставить полный пакет. Все необходимые пакеты с исходным кодом можно скачать на официальном сайте:
Имейте ввиду, модули и утилиты DAHDI можно загрузить по отдельности, а можно в виде одного пакета DAHDI Complete. При этом в названии пакета DAHDI Complete всегда содержится два номера версии — первый для включённого в него пакета модулей DAHDI Linux, а второй — для DAHDI Tools. Вообще говоря эти номера могут и не совпадать.
Для сборки Asterisk вам потребуется компилятор GCC и некоторые сопутствующие библиотеки.Минимальный же набор необходимого можно поставить командой:
sudo apt-get install build-essential libncurses5-dev openssl libxml2-dev
Если вы собираете DAHDI кроме самого Asterisk, то так же понадобятся исходники ядра.
Server and Operating system Selection
Selecting your server
Sangoma cards are compatible with most commercially available servers and motherboards on the market.Our cards are available in both PCI and PCI express versions and are backwards compatible (i.e. 16x, 8x, 4x, 2x)Also available are different size brackets for 1U and 2U server form factors.
Selecting your Linux Operating system
Sangoma cards are compatible with most official Linux distributions and kernels (i.e. CentOS, Debian, Ubuntu) 32 and 64bit.Sangoma recommends the use of CentOS as our R&D and QA departments use this distribution on a frequent basis.
Below are instructions for CentOS Installation. If you would like use a different Linux Distro, please visit the appropriate online resources.
- After downloading the CentOS ISO, simply burn the image on CD/DVD using your choice of burning utility
- Boot your server with the CD/DVD containing your CentOS ISO. Verify your BIOS settings allow for Boot from CD/DVD ROM drive
- Follow the on-screen prompts to Install your new operating system. You may wish to visit some online step-by-step tutorials (google:))
- Once completed, remove the CD/DVD from your server and reboot your server and log in to your freshly installed operating system
Пункт третий. Устанавливаем ПО для пользователей телефонии.
Как известно, FreePBX предназначен для администрирования системы телефонии. Его использует системный администратор для настройки. Директор и секретарь, а также другие руководители каждый день работают со статистикой звонков и записями разговоров. Для этих целей FreePBX им не подойдет. Пользователь в IT не разбирается. Часто это неуверенный пользователь ПК. Поэтому ему нужна русифицированная интуитивно понятная программа.
По моему мнению, наиболее соответствует этим критериям программа HelloAsterisk. Программа имеет бесплатную версию. В этой бесплатной версии огромное количество нужных функций. Есть и платные функции. Описание можно найти на официальном сайте программы.
Я приведу видео обзор одной из бесплатных функций HelloAsterisk:
Установка
Установку можно выполнить с помощью команды apt install asterisk. Но в данной инструкции мы разберем установку путем сборки из исходников.
Рекомендуется установить Asterisk с DAHDI (драйверы плат интерфейсов телефонии) и LibPRI (библиотека для работы с потоковыми TDM-интерфейсами). Сначала необходимо собрать DAHDI, затем LibPRI и только потом — Asterisk.
Устанавливаем пакеты, необходимые для корректной сборки DAHDI и LibPRI:
apt install make gcc
Сборка DAHDI
Распаковываем его и переходим в распакованный каталог:
tar -xvf dahdi-linux-complete-current.tar.gz
Собираем пакет и устанавливаем его:
Выходим из каталога dahdi:
tar -xvf libpri-current.tar.gz
Собираем и устанавливаем:
Выходим из каталога libpri:
Установка Asterisk
* в моем случае, последняя версия была 15.
Распаковываем архив и переходим в папку, появившуюся после распаковки:
tar -xvf asterisk-*.tar.gz
Устанавливаем библиотеки для работы с mp3:
./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex
- —with-dahdi — с драйверами DAHDI.
- —with-pri — с библиотекой PRI.
- —with-iconv — с возможностью конвертации кодировок (будет не лишним для поддержки русских символов).
- —with-libcurl — возможность извлекать данные посредством CURL-запросов (по http).
- —with-speex — дополнительный VBR-кодек (используется на многих софт-фонах).
** список всех доступных опций можно посмотреть командой ./configure -h.
Мы должны увидеть логотип астериска:
Вызываем оконное меню настройки модулей:
Для большинства случаев, настройки можно оставить по умолчанию. В противном случае рекомендуется изучить опции и выбрать необходимые. После нажимаем Save & Exit.
Затем собираем исходник:
И выполняем установку:
Установим примеры конфигурационных файлов и документацию:
Устанавливаем скрипт инициализации (для автозапуска):
Устанавливаем скрипты для отсекания логов:
Создаем конфигурационный файл для указания дополнительного пути с библиотеками:
Добавляем в него одну строчку:
* это путь до каталога с библиотеками, с которым мы собирали asterisk (опция —libdir).
Operation
-
To start the Sangoma driver, which also starts your Sangoma card(s) run the following command on your Linux command line:-> wanrouter start
Immediately after running this command, you will see on-screen output of all the ports (i.e. wanpipe1, wanpipe2..etc) starting on your card.You will also see your ports plugging into the DAHDI signaling layer. If you see errors occurring, investigate the /var/log/messages file.
-
Configuring the DAHDI ModuleAfter your Sangoma card has started and is plugged into DAHDI, you will need to configure DAHDI by typing the following command on your Linux command line:-> dahdi_cfg
-
Start Asterisk by typing the following command in your Linux command line-> asterisk
- Log into your Asterisk CLI and run some basic commands to verify your system is functioning properly.Type the following in your Linux command Line:-> asterisk -rvvvvvvvvvv (each ‘v’ adds verbosity to what you see when logged in to the CLI)
-
Type the following CLI command to verify all your channels (dahdi channels) are loaded into asterisk:-> dahdi show channels
-
- For PRI/BRI cards only, run the following command to check the status of your pri/bri spans:-> pri show spans