Интерфейс шлюза Asterisk
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2023 г. ) |
Asterisk Gateway Interface ( AGI ) — это программный интерфейс и протокол связи для управления на уровне приложения выбранными функциями Asterisk PBX .
AGI позволяет внешней, написанной пользователем программе, запускаемой из абонентской группы Asterisk через каналы, управлять телефонными операциями на связанных с ней каналах управления и голосовой связи. Это похоже на CGI функцию веб-серверов , позволяющую использовать любой язык для написания внешней программы, которая взаимодействует с Asterisk через stdin и stdout .
В то время как первоначальный набор функций AGI включал только процедурное управление операциями Asterisk посредством команд и ответного подтверждения, Enhanced AGI (EAGI) также обеспечивал внеполосный доступ к входящему аудиопотоку.
FastAGI — это расширение AGI, которое позволяет внешней программе запускаться на отдельном сетевом узле, чтобы избежать накладных расходов на создание нового процесса для каждого вызова на сервере Asterisk. Он использует сокет TCP для связи с внешним хостом, который обеспечивает функцию службы AGI в духе модели клиент-сервер . по умолчанию TCP-порт для FastAGI — 4573 . [ 1 ] Подобно HTTP унифицированным идентификаторам ресурсов (URI), FastAGI использует формат URI agi://имя_хоста[:порт][/программа/путь] .
Набор функций AGI в Asterisk реализован в виде загружаемого модуля Asterisk ( res_agi ). Доступ к этим функциям возможен через различные интерфейсы прикладного программирования на разных языках, таких как phpagi , библиотека Perl AGI, CAGI , NanoAGI и PyST.
Ссылки
[ редактировать ]- ^ «FastAGI() — выполняет AGI-совместимый сценарий через сетевое соединение — Asterisk: Будущее телефонии, 2-е издание [Книга]» . www.oreilly.com . Проверено 03 августа 2023 г.