Asterisk Gateway Interface is a language independent API to process calls and helps programmers to manipulate and route calls on Asterisk servers in an easy and simple way. Asterisk provides different ways to perform call logic such as AGI, Dial plan and AMI. Usually AGI script is used to do advanced logic, communicate with relational database and access other external resources.
Turning the control over to the dialplan of an external AGI script enables Asterisk to easily perform tasks that would otherwise be difficult or impossible. Dial Plan is Asterisk’s native language stored in its memory to perform call logic in a way that is quick, efficient and easy to learn, but has its drawback due to unsophistication and tediousness in handling large softwares. Although AGI is dependent on the PBX and requires some sort of dial plan modification to run, it can be used either locally or across networks and would only require some sort of dial plan modification to run.
There are different types of AGI Standard AGI, dead AGI, EAGI and Fast AGI.
Standard AGI is simple and most widely used form of AGI. It uses local PBX and communicates with Asterisk through socket descriptors i.e STDIN and STDOUT, while allowing usage of all AGI commands.
Fast AGI is the AGI that uses TCP socket protocol and is provided to developers who need resource intensive AGI programs. It is recommended for large applications as it runs bulk of the AGI logic on another server, while the Asterisk server can process calls without worrying and handle complex computation for other services.
EAGI communicates through the file descriptors on the local machine and provides a way to directly access the audio channel and process the calls for developers to analyze audio data.
AGI helps in developing IVR and also help in developing billing solutions. Thus AGI posses innumerable practical advantage in providing reliable communication solution in various businesses such as consumer goods, service industries and other sectors.
Do you want custom AGI scripting? Contact us today