AGI (от англ. Asterisk Gateway Interface — «шлюзовой интерфейс Asterisk») — это инструментарий для запуска программ, написанных практически на любом языке программирования, из плана нумерации сервера IP-телефонной станции Asterisk. Связь между программой и сервером Asterisk осуществляется стандартными потоками ввода и вывода. Как правило, сценарии AGI используются для реализации расширенной логики, соединения с реляционными базами данных и доступа к другим внешним ресурсам. Передача управления внешнему сценарию AGI позволяет Asterisk без труда реализовать задачи, выполнение которых в противном случае было бы сложным или невозможным. Наиболее часто AGI используется для написания сложных систем IVR.
Существует множество библиотек, значительно упрощающих процесс написания сценариев AGI. Наиболее интересные из них:
Пример для NanoAGI
#include "src/agi.H"
int main()
{
AGI agi;
if(
agi.cmd("stream file hello-world 0")
< 0)
{
// cerr << agi.err;
return -1;
}
agi.cmd("hangup");
return 0;
}
Скомпилированый бинарный файл необходимо поместить в каталог ${astagidir}. Затем добавить в ${astetcdir}/extensions.conf следующую строку и перезагрузить план нумерации:
exten => _100,1,AGI(script)
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |