Asterisk - the Open Source PBX (Private Branch Exchange) - открытая коммуникационная платформа, которая используется для развертывания программных АТС, систем голосовой связи, VoIP-шлюзов, организации IVR-систем (голосовое меню), голосовой почты, телефонных конференций и call-центров.
Связь с биллингом осуществляется при помощи AGI интерфейса (/usr/abills/Abills/modules/Voip/agi_rad.pl).
Установка
Установка Asterisk PBX (Private Branch Exchange)
FreeBSD
cd /usr/ports/net/asterisk16/ && make && make install
Ubuntu, Debian
sudo apt-get install asterisk
Установить Perl AGI интерфейс.
AGI интерфейс авторизации
Связь с биллингом осуществляется при помощи AGI интерфейса (/usr/abills/Abills/modules/Voip/agi_rad.pl).
Авторизация абонентов происходит следующим образом.
При звонке AGI (agi_rad.pl) интерфейс отправляет запрос авторизации на RADIUS сервер. RADIUS пробует авторизировать абонента. При успешной авторизации отправляет следующие данные звонка:
максимальное время звонка по данному направлению;
дополнительные параметры авторизации (префиксы звонка номера если надо);
фильтры, которые AGI может преобразовывать в голосовые сообщения.
После положительного ответа от RADIUS AGI открывает сессию звонкам отправляет аккаунтинг данные (Start Session) на RADIUS сервер.
По завершению звонка AGI отправляет (Stop Session) на RADIUS сервер.
Если RADIUS серверу не удалось авторизовать абонента, он отправляет для AGI отрицательный ответ и следующие параметры:
сообщение с описанием ошибки;
фильтр с параметром ошибки, которые AGI может преобразовывать в голосовые сообщения.
После успешной или неуспешной авторизации система записывает в журнал ошибок параметры сессии и причины ошибки (если она есть). Данные ошибки можно просмотреть в меню Отчёт>Voip>Ошибки или в сервисе абонента меню ошибки (Ошибки).
IVR сообщения и сообщения об ошибках
Таблица ошибок подключения