Management module for Asterisk PBX with built-in HTTP REST server and HTTP REST client.https://github.com/zeppelinen-devops/salara/
In the course of various CRM-PBX integration projects we had to develop various custom API servers and clients required to provide data exchange between Asterisk and various external systems
By default Asterisk PBX can be managed via AMI, Asterisk Management Interface, which is very simple but has very limited features, thus we had to use cumbersome combinations of Asterisk, AMI-server and additional integration services connected to customer systems. Of course such solutions are difficult to support.
One of the main limitations we faced on one of the projects was AMI processing performance. AMI basically represents a simple text stream is easy to parse but on a high-load call-center PBX installation with hundreds of simultaneous calls we experienced major performance issues caused by thousands of events per second that Asterisk sent to AMI and that had to be parsed in real time.
Another limitation we faced was performance loss caused by the need to pipe simple task, like route the call according to CRM-server response via the chain consisting of Asterisk AMI server, AMI client and some integration service connected to CRM.
To solve the problem we developed custom Asterisk server module that can be easily customised according to the project needs.
Module provides two main features:
We achieved high performance and scalability by filtering all unnecessary data on the Asterisk core level.
Module allows us to develop various call management features in a matter of days and had proved to be a flexible base for Asterisk-based call-center installations.
Direct access to built-in Asterisk memory structures allows us to provide features simply unavailable via tradional means.
As a contribution to Asterisk developers community, source code is published on GitHub.