Unter Asterisk gibt es die Möglichkeit innerhalb der extensions.conf externe Programme aufzurufen. Diese Programme sind so genannte AGI-Skripte (Asterisk Gateway Interface). Da der Informationsaustausch zwischen Asterisk und einem AGI-Skript über die Unix Standardsockets stattfindet, können hier alle Programmier- bzw. Skriptsprachen eingesetzt werden, die mit diesen Sockets umgehen können. Wie z.B. PHP, Perl und C.
Während der Laufzeit kann im CLI (Command Line Interface) mit Hochsetzen des Verbosity-Levels (set verbose 5) die Kommunikation zwischen dem AGI-Skript und Asterisk angezeigt werden.
Standardmäßig liegen AGI-Skripte im Verzeichnis /var/lib/asterisk/agi-bin/.
Die Klassensammlung “PHPAGI“ stellt nützliche Funktionen zur Unterstützung der Entwicklung von AGI-Skripten mit PHP zur Verfügung.
Hier Beispielhaft ein Aufruf des AGI-Skriptes ping.php in der extensions.conf:
exten => 1234,1,Answer()
exten => 1234,2,AGI(ping.php)
exten => 1234,3,Hangup()