Synopsis:
Executes an AGI compliant applicationDescription:
[E|Dead]AGI(command|args)Executes an Asterisk Gateway Interface compliant program on a channel. AGI allows Asterisk to launch external programs written in any language to control a telephony channel, play audio, read DTMF digits, etc. by communicating with the AGI protocol on stdin and stdout.
Return codes
Returns -1 on hangup or if application requested hangup, or 0 on non-hangup exit.Requirements for applications
- must be executable
- must be located in /var/lib/asterisk/agi-bin
- must be specified in the dialplan complete with an extension
EAGI gives you a sound channel
Using 'EAGI' provides enhanced AGI, with audio available out of band on file descriptor 3Use DeadAGI when you have no living channel
If you want to execute an AGI script in the 'h' hangup extension of a context, use the DEADAGI() application instead of agi().See also
- Adhearsion - Ruby Dialplan via AGI
- EAGI: Same as AGI except it makes available file descriptors for audio streams
- FastAGI: Run AGI remotely over TCP socket: agi://
- OrderlyCalls (successor to JAGIServer) offers full support for FastAGI and Manager in an easy-to-use Named Service environment. Includes Web Deployer for developing integrated VOIP-HTML applications.
- Another Java framework for FastAGI: http://tanesha.net/Wiki/JastAgi.html
- Asterisk-java now also supports FastAGI in addition to the Manager API
- DeadAGI
- Asterisk AGI
- libagi
- res_php, res_perl, res_python (PyAsterisk) if you don't want to load the interpreter with every AGI call
- Dead Link axraagi: framework for processing an agi while using the manager api; helps in developping outside apps.
Asterisk | Applications | Functions | Variables | Expressions | Asterisk FAQ
Comments