The Asterisk Manager interface is not really designed to interface with lots of different simultaneous clients.
Some of the issues:
- Every client using the Manager interface sees data for all other clients (bandwidth/security/privacy)
- Asterisk Manager interface doesn’t cope well when clients misbehave
- Asterisk Manager interface doesn’t cope well when there are network problems
- Every client requires a separate connections to the Asterisk Manager adding processing load to Asterisk
Most people creating Asterisk Manager applications that will interact with multiple clients have implemented an Asterisk Manager Proxy to address these issues.
Multiple Clients <—–> Asterisk Manager Proxy <—–> Asterisk Manager Interface
Manager Proxies
- Octopasty is a Python based multi-client/multi-server proxy for the Asterisk Manager Interface (AMI)
- AACC daemon, allows large number of agents to connect to asterisk and get CTI functionality.
- AstManProxy is a Multi-Threaded Manager Proxy with support for multiple I/O formats, including XML
- Asterisk Flash Operator Panel contains a manager proxy in perl
- Asterisk Simple Manager Proxy simplified version of the proxy in Asterisk Flash Operator Panel
- Astguiclient contains a manager proxy that uses a MySQL to queue requests
- Asterisk GUI DeStar contains a Python based manager proxy
- DialApplet, Unified communications
- TclMyAst offers a proxy that maintains channel state.
- CommServer is a Proxy server which gives the complete user profiling and billing managment for voip services using AMI.
- (amiws) Asterisk Management Interface (AMI) to Web-socket proxy on C. Can work with multiple AMI servers via TCP/TLS.