I thought since the Asterisk-IM forum is already involved in several aspects of what I am working with (Asterisk/Trixbox, Openfire, Spark), I would ask here first.
I would like to replicate a feature from an old phone system where regular agents could see the fact that there were X calls in queue for the queue(s) they were handling.
My thought was to create/modify a plugin for Openfire that would broadcast the queue information somehow. Something like the first line of "show queue" in the Asterisk CLI:
show queue q1
q1 has 0 calls (max unlimited) in 'ringall' strategy (37s holdtime), W:0, C:9, A:2, SL:0.0% within 0s
My first thought was to create a user, let's call it "queues", and update it's status message with a parsed version of "show queues" to simply display the queue name and the number of calls in queue for each queue. But it would seem the status message doesn't allow for carriage returns, or multi-line display.
Then my thought was to create a user for each queue, and run the "show queue <queue_number>" command for each queue, assigning the parsed reponse to each queue's "user".
Either way, these users would be configured to show up in everyone's roster automatically, which should include any updates to their status message.
I thought I might be able to muddle through modifying the Asterisk-IM plugin to handle this to create a new plugin.
But, I figured, I'll post here first to hear what folks have to say about my ideas. Maybe there's a better way to present such information? I am concerned about server load. We would need near-realtime updates of the queue status. If we could add in wait times, that would be great too.
Thoughts? Comments? Flames?
Thanks in advance.