Management/Monitoring interface via PHP?

Hello all,

We are a 350 seat call center looking to develop an interface to Asterisk to allow our managers to manage and monitor their agents via a PHP web interface.

The short list of features would include:

  1. call statistics (done)
  2. queue statistics (done)
  3. recorded call reviewing (done)
  4. voicemail access (done)
  5. queue sign-in and out
  6. queue monitoring (number of callers, hold time, agent status, etc)
  7. live call monitoring (probably via ZapBarge, but tied to an extension, not a channel - I would create logic that would tie the extension to the channel, shouldn’t be hard)

I’ve started looking into tying into the Manager API and sending various commands (for queue information, i would use ‘show queues’ and parse the data line by line) to get the information I need. Obviously, this is resulting in very INextensible code.

I’m interested in what others might have done or found that would help jumpstart this project. I’m fairly proficient in PHP, but would learn a new language if needs be. We would prefer this to be a web-app, but standalone woudl be fine as well.

Like I said, if you have any thoughts, suggestions, or just a link to something interesting, I’m all ears.



There is a company out there that does offer software that will do pretty much all that you asked for. I do remember seeing it on the digium lists (not sure if it was asterisk-biz or asterisk-users). You can go thru the archives and see if you can find it (I did a quick scan and didnt but I know its out there because I remember seeing an email about it). The list is at . You can also post the message that you posted here on the asterisk-biz list. I am pretty sure that some on will reply to you promptly.

We have built all of those reports/functions around our VICIDIAL installation. The latest development version has just about all of the statistical info you need, you just need to pull it from the right places in the MySQL database, no Manager coding necessary.

hey Matt! this is Wes from CLK.

we’re still using vicidial for our dialer, but we needed something a bit simpler for our managers.

i ended up created a custom PHP based web app that connects to the manager interface via sockets. parsing the data was a bear, but i ended up having a two-dimensional array of all of the useful data, so I can sort and send commands based on those variables.

it’s not pretty, and it’s definitely not finished. i’d still like to see other alternatives, if they exist.

thanks guys!


Live call monitoring can easily be done by grabbing the MySQL sessionIDs that are active in the vicidial_auto_calls table and the Server_ip and using a dialplan wildcard to send the monitor calls automatically from any Asterisk server on your network over IAX by dialing into listen-only and quiet-entry meetme exten on the local server:
; quiet monitor extensions for meetme rooms (for room managers)
exten => 68600051,1,Meetme,8600051|mq

Here would be the exten to get to that server from a different Asterisk box:
exten => _128600XXX,1,Dial(${TRUNKX}/6${EXTEN:2},55,)

In the above example it’s just 6 + the sessionID for the local server to monitor and 12 + sessionID from a remote Asterisk server to monitor that agent. We’ve used this method of monitoring for the last two years and it works wonderfully.

With astGUIclient and VICIDIAL there is really no reason to ever have to connect directly to the manager interface because all channel, session and agent info is constantly updated in one way or another in the database.

What other specific information are you looking for?

Do any one have VICIDial Database Architecture (ER Diagram)?
Thanks in advance for thr Help.