This is provided fom one Issue up, courtesy of MuppetMaster:
[quote=“MuppetMaster”]How to integrate to Asterisk is a frequent question on this forum. Asterisk has multiple interfaces for integration that allow for a myriad of third party applications to be built leveraging Asterisk.
[size=134]AGI[/size]
The first interface is the Application Gateway Interface (AGI), which allows for an external application to be called to provide access to external data/systems and external dialplan logic on calls (incoming or outgoing). The AGI aware application may be written in virtually any language (Perl, PHP, C/C++, Java, Pascal, Bourne Shell, etc) and access almost any database (ODBC, MySQL, Postgres, Oracle, etc). Examples of using the AGI may be to trigger the opening of a new case for a helpdesk automatically when a call arrives, to providing Least Cost Routing (LCR) capabilities from a custom database application, to integrating Text To Speech (TTS) applications.
Those familiar with an Avaya Communication Manager will know this type of functionality as a call to an adjunct link from a vector/VDN, while those familiar with a Nortel Meridian background will know this as the ability to call a host from a CDN. A key difference is that the Asterisk AGI allows for much greater control of the channel (ie - playback messages, capture digits, etc) than an Avaya or Nortel does.
The cousin of the AGI is the FastAGI, which allows one to call a remote AGI aware application via a TCP socket connection. Allowing the developer to offload the AGI resource load onto another server.
[size=134]Manager API[/size]
The Asterisk Manager API is an interface that allows for third-party call control. This may be thought of as a Computer Telephony Integration (CTI) interface such as CSTA/TSAPI. This interface allows for a third-party application to connect via a telnet/TCP interface to do such actions as originate calls, call and extension event monitoring, call recording/monitoring, etc. Examples of uses for this interface would be autodialing (in lieu of using call files), call recording applications, inbound call screen-pops to desktop applications, etc.
[size=134]Opensource Libraries[/size]
While connecting to an AGI/Manager API interface is straightforward, there are several libraries available to do the dirty work for you. These include:
[size=134]Example Application[/size]
Here is an example of an application that was developed using Asterisk and Asterisk integration capabilities:
Just one example of the powerful web services that may be built leveraging Asterisk and its various integration interfaces.[/quote]