Настройка Asterisk
Подробные руководства и справочные материалы по настройке Asterisk. Документация постоянно обновляется и дополняется.
Установка
Asterisk работает под управлением операционных систем Linux и FreeBSD.
Доступны установка из бинарных файлов и компиляция из исходного кода.
Также существует множество дистрибьютивов Linux с уже готовым к работе предустановленным Asterisk и FreePBX.
Инструкции по установке Asterisk для различных дистрибьютивов Linux:
Конфигурационные файлы Asterisk
Большинство настроек Asterisk контролируются с помощью конфигурационных файлов, расположенных в директории /etc/asterisk. Синтаксис конфигурационных файлов Asterisk разработан для редактирования вручную и имеет простую и понятную структуру. Категории или по иному контексты группируют свойства объектов и отделяют их друг от друга именами в квадратных скобках по принципу наследования. Все, что записано после имени контекста относится к нему, пока не появится следующее имя контекста в квадратных скобках. Практически в каждом кофиге встречается категория [general], которая задает параметры для всех объектов конфигурационного файла. Параметры объектов имеют приоритет над глобальными параметрами, если одинаковый параметр, может быть назначен, как глобально, так и конкретному объекту. Некторые конфиги имеют только заранее определенные секции, например asterisk.conf отвечающий за общие настройки pbx. Но в большинстве случаев, для назначения объектов, создаются контексты и задаются их имена. Приведенные ниже примеры конфигов Asterisk 14 с описанием параметров, переведены и дополнены авторами сайта.
Realtime архитектура Asterisk
Реалтайм Архитектура Asterisk - набор драйверов и функций для конфигурации в режиме реального времени. Существует два типа конфигурации - статический и динамический: - Статический хранит конфигурации в БД, как конфигурационные файлы и также обновляет данные при перезагрузке модулей. - Динамический используется для создания и обновления объектов в режиме реального времени, при совершении вызовов
Каналы связи в Asterisk
SIP
Под каналами связи в Asterisk подразумевается набор драйверов для взаимодействия с устройствами и протоколами связи.
Так как Asterisk в первую очередь VoIP АТС ключевое значение имеют драйвера взаимодействия с VoIP протоколами, в частности с SIP протоколом.
Изначально в Asterisk был один драйвер SIP протокола chan_sip. Но его реализация была неполной и в конкуренции с FreeSWITCH, который имел более продвинутый SIP драйвер, в Asterisk начиная с версии 12, был включен новый драйвер SIP - chan_pjsip.
Поддержка старого драйвера сохраняется и оба драйвера могут действовать совместно.
Однако предпочтительней использовать новый драйвер PJSIP.
IAX
Также в Asterisk реализован собственный VoIP протокол - IAX (Inter Asterisk Exchange). Как и следует из названия, он в первую очередь ориентирован на создание каналов связи между серверами Asterisk. IAX имеет упрощенную структуру, используя один и тот же порт для сигнализации и медиа, что в теории упрощает прохождение NAT и экономит трафик, однако в современных условиях и с появлением PJSIP его преимущества не завоевали ему популярности.
h323
Поддержка устаревшего VoIP протокола h323 может понадобиться для интеграции с устаревшими АТС, например Avaya CSI.
DAHDI
Драйвер DAHDI поддерживает большую линейку устройств, таких как платы потоков ISDN PRI E1, FXO, FXS и GSM интерфейсов.
Local
Прокси - псевдо канал Asterisk, позволяющий вызывать канал любой технологии без явного ее указания.
NAT SIP Asterisk
Руководства по настройке Asterisk для работы за NAT.
План набора Asterisk
Для понимания Asterisk очень важен - диалплан (dialplan).
Диалплан направляет каждый звонок от его источника, с помощью различных приложений,
в пункт назначения. Все вызовы, будь-то голосовая почта, конференция, меню автосекретаря
или вызов телефона, определяются логикой и концепцией диалплана.
Русская документация мануал по dialplan Asterisk
Команды диалплана Asterisk
Функции диалплана Астериск
Asterisk Dialplan functions
Функции Asterisk используются в диалплане. Это не команды диалплана и не могут быть использованы прямо. Функции возвращают значение для дальнейшего использования в логике диалплана.
Очереди и Агенты Asterisk
Очередями в Asterisk называется механизм ACD (automated call distribution) для распределения входящих вызовов между агентами колл центра. Конфигурация очередей осуществляется в файле Asterisk настройка очереди - queues.conf, имена очередей вызовов используются в качестве аргумента команды Queue в файле конфигурации плана набора extensions.conf. Интерфейсы операторов назначаются параметром очереди - member. Агенты, которые обрабатывают вызовы, поступающие в очередь, могут быть заданы в файле Asterisk: agents.conf.
Шифрование в Asterisk
Конференции Asterisk
Asterisk позволяет организовать телеконференции с неограниченным числом пользователей.
Абонентские функции Asterisk
В файле features.conf назначаются пользовательские коды абонентских функций Asterisk и опции абонентских функций, такие как:
Переадресация вызова(transfer), перехват вызова (pickup), запись по требованию (record on demand), таймауты между набора и переадресации (digit timeout), паркинг (park) и др.
Отчеты о звонках Asterisk
Детализированный отчет о звонках (CDR) backend для сохранения данных о входящих, исходящих и внутренних вызовах Asterisk. Полное описание на русском языке CDR, MySQL, ODBC etc.
Логи в Asterisk
CLI - интерфейс командной строки Asterisk.
Командная строка является мощным инструментом для мониторинга и управления работой Asterisk PBX
Asterisk AMI
Asterisk manager Interface - интерфейс управления.
Asterisk Call Files - Автообзвон
Asterisk имеет возможность инициировать вызовы по команде извне при помощи dialplan, AMI и Call files (spooling interface). Call files позволяют инициировать вызов, поместив в директорию (по умолчанию /var/spool/asterisk/outgoing/) файл с определенным содержимым. Этот метод позволяет создавать эффективные системы обзвона абонентов.