FastAGI()

Führt ein AGI-konformes Skript über eine Netzwerkverbindung aus.

FastAGI(agi://hostname[:Port][/script],Argumente)

Führt ein AGI-konformes Skript über das Netzwerk aus. Diese Anwendung ist AGI() sehr ähnlich, außer dass sie ein FastAGI-Skript über eine Netzwerkverbindung ausführt. Der wichtigste Verwendungszweck ist, rechenintensive AGI-Skripte von Remote-Servern ausführen zu lassen und die Startzeiten von AGI-Skripten zu reduzieren (ein FastAGI Skript läuft bereits bevor Asterisk sich mit ihm verbindet, ähnlich FastCGI bei Web-Servern).

FastAGI() versucht, sich direkt zu einem laufenden FastAGI-Programm zu verbinden, welches auf einem spezifizierten Port des Servers hostname bereits auf Verbindungen wartet. Als Standardport wird 4573 benutzt, falls kein anderer angegeben ist. Ist script angegeben, wird es als agi_network_script-Variable an das FastAGI-Programm übergeben. Die in Argumente stehenden Parameter werden an das Programm weitergegeben.

Im Verzeichnis agi/fastagi-test befindet sich ein Beispiel-FastAGI-Skript. Verwenden Sie es als Ansatzpunkt für Ihre eigenen FastAGI-Programme.

Liefert -1, falls die Anwendung ein Auflegen verlangt, oder 0 bei Beendigung ohne Auflegen.

; mit dem Beispiel-FastAGI-Programm "fastagi-test" verbinden, das
; bereits auf dem lokalen Rechner laufen muss:
exten => 123,1,Answer()
exten => 123,n,FastAGI(agi://localhost/fastagi-test)

; mit dem FastAGI-Skript "test" auf einem Host namens "testbox" auf
; Port 9000 verbinden und als Parameter "123" übergeben:
exten => 124,1,Answer()
exten => 124,n,FastAGI(agi://testbox:9000/test,123)

Siehe auch. AGI(), DeadAGI()