Что такое Asterisk – как его установить и настроить

Содержание

SIP-телефония является самым продвинутым видом телефонной связи, и пользоваться ею может каждый, у кого есть доступ к интернету. Самое широкое распространение она получила в корпоративных кругах, где наиболее высоко ценится соотношение качества связи и экономичности.

Благодаря возможности гибкой настройки решение на базе протокола SIP может взаимодействовать с любыми линиями связи. Более того, такие программные продукты, как описываемый в данной статье Asterisk, кроссплатформенны и совместимы с приложениями-клиентами (софтофонами) для Windows, Linux, FreeBSD и так далее.

Asterisk — что это?

Asterisk — это открытая софтовая АТС с модульной архитектурой, в представлении по умолчанию не привязанная ни к одному телефонному протоколу. Независимость и многофункциональность позволяют создавать на ее базе самые различные по масштабу и применению узлы связи от простых телефонных центров для работников, до многоканальных call-центров, объединяющих традиционные средства связи (например, GSM) и VoIP. Asterisk можно установить на Linux, FreeBSD и некоторые другие ОС. Этот процесс в подробностях будет описан далее с акцентом на последние выпущенные к моменту подготовки материала версии Ubuntu Server (19.04 и новее).

Что за программа?

На Windows Asterisk не работает. Но можно установить в системе виртуальную машину и уже в нее установить Астериск.

Установка Asterisk

Установить программный комплекс можно двумя способами: быстро через репозитории или более качественно из исходного кода. Быстрая установка предполагает использование всего одной команды

Она не является рекомендованной разработчиками самой Ubuntu по причине отсутствия дополнительных компонентов (скачиваются отдельно) и важных шагов, в будущем позволяющих избежать множества проблем.

Установка из исходников включает 4 строго последовательных этапа. Вначале нужно подготовить систему, затем поставить DAHDI (драйверы для аппаратных адаптеров телефонии), после LibPRI (библиотеку для взаимодействия с потоковыми TDM-интерфейсами) и, наконец, сам Asterisk.

Предварительный этап

Нужно запустить терминал, обновить информацию о пакетах:

и синхронизировать часы посредством NTP:

Если ПО устанавливается на чистый сервер, тогда средства сборки в нем скорее всего отсутствуют, ровно как браузер, файл-менеджер, архиватор и, возможно даже текстовый редактор с графической оболочкой, поэтому следующая команда установит их в систему:

Сборка DAHDI

Для начала — установка исходников libusb из репозиториев:

Следует перейти в браузере Epiphany на страницу загрузки драйверов.

После скачивания (желательно выбрать самые новые) их можно распаковать (ПКМ (правая кнопка мыши) на файле — Извлечь сюда) и поместить в удобное место. Затем следует перейти в распакованную папку, открыть в ней терминал (ПКМ на свободном пространстве — Открыть терминал) и выполнить команды сборки:

Сборка пакетов

Сборка LibPRI

Дальше идет скачивание последней версии библиотеки с официального сайта.

Прединсталляционные действия и команды сборки аналогичны описанным выше.

Сборка Asterisk

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

Затем следует подключить аудио-библиотеки:

Самое время приступить к конфигурированию исходного кода:

Параметр —with-dahdi означает, что при последующей компиляции будут подключены ранее проинсталлированные драйверы DAHDI, а —with-pri — библиотека PRI. Полный перечень допустимых опций вызывается командой

Результат ввода команд

В случае успеха в терминале отобразится такой логотип:

Команды для сборки, опять же, ничем не отличаются от используемых ранее.

Настройка и первый запуск

Для базовой настройки к первому запуску рекомендуется создать конфигурационный файл:

С таким содержимым:

И конфиг модулей:

На первых порах включающий только:

Потом нужно добавить в систему нового юзера asterisk, снабдить его домашней директорией:

и установить соответствующие привилегии для отдельных каталогов:

Проверка всех конфигов:

Если в последней строке вывода терминала появилась надпись «*CLI», то есть был выполнен вход в консоль управления программным комплексом, значит критических ошибок нет. Остается настроить автозапуск и перезагрузиться. Для этого можно добавить запись в Cron:

Если появится предупреждение о выборе переменной «editor», лучше приравнять ее к Nano.

Для запуска ПО через 10 секунд после старта системы:

После перезагрузки, команда:

должна вызывать уже знакомую консоль управления («*CLI»). Если в ней выполнить:

Отобразиться список доступных действий, в частности перезапуск ПО через:

Выйти из этой консоли очень просто — достаточно нажать Ctrl+Z.

Возможные ошибки и предупреждения

Распространенные ошибки и консольные уведомления, с которыми сразу может столкнуться пользователь, обычно связаны с модулями. Они будут отображены в выводе:

Ненужные и мешающие запуску модули можно отключать, добавляя в их конфигурационный файл (расположение — смотреть выше) соответствующие строки. Например, отключить модуль PostgreSQL и так далее:

Первая строка [general] — обязательно должна присутствовать в обоих созданных файлах конфигурации. Если они будут пустыми, приложение запустить не удастся!

Ошибка “Name or service not known” указывает на проблему сопоставления имени компьютера с его IP-адресом. Решение — добавление этого имени в /etc/hosts.

Как добавить номера?

Для того, чтобы добавить номера звонков по SIP, понадобится создать следующие 2 файла конфигурации:

В первый помещаются такие строчки:

Прикладывается экстеншн на контекст outcalling, для обслуживания 4-значных внутренних номеров — XXXX — через SIP.

Во второй — собственно, сами номера. Для примера их будет 2 (1010 и 1020):

Так были оформлены номера 1010 и 1020 с проверкой (type) по имени пользователя и IP-адресу (friend), добавочными номерами (regexten), паролями (secret), группой (context), автоматической регистрацией (dynamic) IP-адреса/ИП (host), идентификаторами звонящего (callerid) и другими параметрами.

Для вступления настроек в силу нужно перезапустить Asterisk.

Как добавить план звонков?

Любой план звонков (dialplan) помещается в /etc/asterisk/extensions.conf. Он может состоять и из нескольких экстеншенов. Например:

Вышеперечисленные строки включают 3 действия:

  1. Ожидать 5 секунд.
  2. Поднять трубку.
  3. Повесить трубку (с приоритетом «n», то есть «next» — «следующий», который можно применять вместо любого, кроме 1-го, и позволяет быстро изменять строки без перестановок других приоритетов).

Настройки транка

Получить настройки транка можно у любого SIP-провайдера, в частности на zadarma.com. Вставлять их нужно в конец /etc/asterisk/sip.conf в том же порядке, в каком они представлены в инструкции провайдера. Вроде того:

«379950» — обозначение номера и одновременно пира, который после перезапуска и выполнения в консоли:

Должен отобразиться в выводе:

Приветствие

Существующую конфигурацию Asterisk позволяет установить голосовое приветствие. В качестве звукового файла подойдет дорожка в формате WAV, которую нужно переименовать в «ivr-main.wav» и расположить в папке /etc/asterisk/ivr. Эта директория, вместе с сопутствующими настройками будет прописана в /etc/asterisk/extensions.conf, а конкретно — в новом контексте ivr-main:

Контекст call-in отвечает за входящие звонки на знакомый по предыдущим настройкам номер 379950. Когда поступает вызов, стартует контекст ivr-main, на первом этапе которого проигрывается звуковое приветствие.


Источник: composs.ru