Что такое Asterisk – как его установить и настроить
Содержание
- Asterisk — что это?
- Установка 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 действия:
- Ожидать 5 секунд.
- Поднять трубку.
- Повесить трубку (с приоритетом «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, на первом этапе которого проигрывается звуковое приветствие.
Источник: