We would like to share with you one interesting model for the use of the PBX Asterisk. To be more precise, the main idea is to use the Asterisk as a platform for the development of telecommunication services. With its open source software and API, the Asterisk can bring the development of telecommunication services down to a simpler process of Web programming thus considerably lowering "the entrance barrier" for those involving in the programming of new services.
We propose to integrate a new component (proxy) into the Asterisk platform. The main functionality of the proxy is to translate telecommunication calls into HTTP requests to external web services. Telecommunication services are located separately from the PBX, while the information they receive from Asterisk is presented as a HTTP-request. Technically, HTTP GET/POST request is a request, in which external telecommunications service passed information about the subscriber's name - CallerIdName, caller’s number - CallerIdNumber and and called number - Extension. Upon receiving necessary parameters, such as (calling/called number) a web service produces and forwards its instructions to the proxy. The latter receives and translates them into Asterisk instructions. The development of such services under the architecture described above is similar to a conventional CGI-script, for which there is a plenty of programming tools. As a result a programmer doesn’t need to be familiar with the Asterisk API.
You can read the rest of the story in A.Ustinov blog (this topic was actually his master thesis in Moscow State University) as well as download the developed framework here