Интерфейс шлюза Asterisk - Asterisk Gateway Interface

Интерфейс шлюза Asterisk (AGI) представляет собой программный интерфейс и протокол связи для управления на уровне приложений выбранными функциями АТС Asterisk.

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

Хотя первоначальный набор функций AGI включал только процедурное управление операциями Asterisk с помощью команд и подтверждения ответа, Улучшенный AGI (EAGI) также обеспечивает внеполосный доступ к входящему аудиопотоку.

FastAGI является расширением AGI, которое позволяет внешней программе запускаться на отдельном сетевом хосте, чтобы избежать накладных расходов на создание нового процесса для каждого вызова на сервере Asterisk. Он использует TCP сокет для связи с внешним хостом, который обеспечивает функцию службы AGI, как клиент-серверная модель. По умолчанию Порт TCP для FastAGI это 4573. Похожий на HTTP унифицированные идентификаторы ресурсов (URI), FastAGI использует формат URI agi: // имя хоста [: порт] [/ программа / путь].

Набор функций AGI Asterisk реализован в виде загружаемого модуля Asterisk (res_agi). Доступ к функциям может осуществляться через различные интерфейсы прикладного программирования на разных языках, например phpagi, Библиотека Perl AGI, CAGI, НаноАГИ, и PyST

Рекомендации