Advice on building a web platform for monitoring Asterisk extensions

Hi everyone,

First, sorry for my bad english!

I’m starting the development of a web platform for monitoring and controlling Asterisk extensions.
The idea is to build something similar to FOP2 or other call center tools, but in a more customized way.

Some of the features I’d like to implement are:

  • View extension status (idle, in call, paused, offline, etc.);

  • Perform actions (login/logout, pause/unpause, transfer, etc.);

  • Permission control (e.g., supervisors can pause/monitor, agents can only view);

  • An admin interface to manage access and configurations.

My main question is:
What would be the best approach to integrate this type of system with Asterisk?

  • Should I work directly with the AMI (Asterisk Manager Interface) to capture events and execute actions?

  • Or would it be better to use ARI or some other recommended API/practice for this scenario?

If anyone has experience with a similar project, I’d really appreciate insights, challenges, or best practices (especially regarding security and performance).

Thanks in advance!

You appear to be talking about several entities in the Asterisk data model, none of which are extensions, in Asterisk terminology.

They tend to have general connections with endpoints, but they are not things that you directly do with endpoints. pause is something you do with queue members. transfer is something you do with channels. login used to be something you did with agent channels, but some of the details there have changed, and some implementation of login may actually be implemented outside of the Asterisk data model, using data referenced explicitly by custom dialplan.

AMI is probably the best API. ARI would only make sense if you implemented all the above concepts as ARI code, using a data model maintained by your ARI application. Also consider manipulting a database, and accessing it from dialplan, either directly, or through AGI.

(It is possible that you mean register, rather than login, in which case it is endpoint (strictly speaking contact) related.)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.