We have a Freepbx server to which our four client applications (.NET) are connecting to its Asterisk manager for listening to its events. My question from experts is that:
- Is connecting to the asterisk manager using 4 parallel connections ok?
- Should we use a single asterisk manager account for all 4 agent applications or create a separate client account for each client application?
- How reliable is manager connection as our all logic of client’s applications is working using these connections to asterisk manager.
I would never have multiple clients connected. You need to create a server piece for your software that connects to the AMI and than dispatches out to your clients what it needs. Do not have every client connected direct to the AMI. 1 security will be a nightmare and 2 more importantly the AMI is not designed for that and you need a proxy for that.
As far as security is concerned, our applications and this whole setup is just under one roof and is limited to a single LAN.
Your 2nd point regarding AMI design, does the API can’t handle even 4 parallel connections?
What I understand is that you want to say that I should have a single server side client application listening to all Asterisk events and then this application should tell other client applications about the events those are generated by server for those extensions/agents. Right?
The AMI API isn’t particularly well suited to multiple access systems. It can do it, but there are lots of ways that you can walk on other people’s work.
Having a server-side application that creates an API that handles the AMI interface would actually be a cool thing.