AGI (z anglického Asterisk Gateway Interface - „ Asterisk gateway interface“) je sada nástrojů pro spouštění programů napsaných v téměř jakémkoli programovacím jazyce z číslovacího plánu IP telefonní ústředny Asterisk . Komunikace mezi programem a serverem Asterisk probíhá pomocí standardních vstupních a výstupních streamů . Typicky se skripty AGI používají k implementaci pokročilé logiky, připojení k relačním databázím a přístupu k dalším externím zdrojům. Předání řízení externímu skriptu AGI umožňuje Asterisk snadno implementovat úkoly, které by jinak byly obtížné nebo nemožné. Nejběžnějším použitím AGI je psaní komplexních IVR systémů .
Existuje mnoho knihoven, které značně zjednodušují proces psaní AGI skriptů. Nejzajímavější z nich:
Příklad pro NanoAGI
#include "src/agi.h" int main () { AGI agi ; pokud ( agi . cmd ( "streamový soubor hello world 0" ) < 0 ) { // cerr << agi.err; návrat -1 ; } agi . cmd ( "zavěšení" ); návrat 0 ; }Zkompilovaný binární soubor musí být umístěn v adresáři ${atagidir} . Poté přidejte následující řádek do ${astetcdir}/extensions.conf a znovu načtěte plán vytáčení:
exten => _100,1,AGI(script)