FastAGI( )


FastAGI( ) Executes an AGI-compliant script across a network connection

 FastAGI(agi://   hostname   [:   port   ][/   script   ],   args   ) 

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 hostname . If port is not specified, it defaults to port 4573. If script is specified, it is passed to the FastAGI program as the agi_network_script variable. The arguments specified by args will be passed to the program.

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.


Returns -1 if the application requested a hangup, or on a non-hangup exit.

 ; 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)  

See Also

AGI( ) , DeadAGI( )



Asterisk. The Future of Telephony
Asterisk: The Future of Telephony: The Future of Telephony
ISBN: B0026OR3OO
EAN: N/A
Year: 2001
Pages: 380

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net