FastAGI() — Executes an AGI-compliant script across a network connection
Executes an AGI-compliant program across the network. This
application is very similar to
AGI(), except that it calls a specially
written FastAGI script across a network connection. The main purposes
for using FastAGI are to offload CPU-intensive AGI scripts to remote
servers and to help reduce AGI script startup times (the FastAGI
program is already running before Asterisk connects to it).
FastAGI() tries to connect
directly to the running FastAGI program, which must already be
listening for connections on the specified
port on the server specified by
port is not specified, it defaults to port
script is specified, it is passed
to the FastAGI program as the
agi_network_script variable. The arguments
args will be passed to the
See agi/fastagi-test in the Asterisk source directory for a sample FastAGI script. This should serve as a good roadmap for writing your own FastAGI programs.
-1 if the application
requested a hangup, or
0 on a
; connect to the sample fastagi-test program, which must already be running ; on the local machine exten => 123,1,Answer() exten => 123,2,FastAGI(agi://localhost) ; connect to a FastAGI script on a host named "calvin" on port 8000, and pass along ; a script name of "testing", with the argument "12345" exten => 124,1,Answer() exten => 124,2,FastAGI(agi://calvin:8000/testing,12345) ...