Re: [Asterisk-java-users] AsteriskQueue Interface
Brought to you by:
srt
From: Stefan R. <sr...@re...> - 2006-09-27 00:08:01
|
Hey Chris, > 1. Number of queue members logged into the queue. > 2. Number of queue members available to take calls > 3. Number of channels currently waiting in the queue (looks like=20 > AsteriskQueue will do this one) > 4. Average wait time. Yes these sound like a good fit for AsteriskQueue. > It looks like the AsteriskQueue interface is a good start for this but = > I'm not sure if it's even possible to get the other information without= =20 > parsing through a big list of queuemember responses. There already is an empty method in live.internal.QueueManager called handleQueueMemberEvent() that is called on initialization, where we could put some meat in. A new live object QueueMember (or AsteriskAgent) will be needed to represent agents. The interesting part starts after initialization, i.e. tracking agent events and updating the model. The relevant ones seem to be - AgentLoginEvent - AgentLogoffEvent - AgentCallbackLoginEvent - AgentCallbackLogoffEvent To associate agents with the callers they are serving (and to see whether they are busy or not) looking for AgentCalledEvents will be needed as well as observing the associated channel for hangup or redirection so we know when the agent is available again. Once that has been done some new methods could be added to AsteriskQueue and AsteriskAgent like support for easy login/logout, etc. > I'm thinking about=20 > adding an action to asterisk QueueStatSummaryRequest that will take as = > an argument the queue name and return the above info as a response (I=20 > really hate the way asterisk tries to send events as a response). Any = > thoughts? I hope that this is not needed because the idea of the live package is to observe asterisk events and update an in memory model of asterisks state so you dont have to talk to asterisk each time you query the state.= =3DStefan --=20 reuter network consulting Neusser Str. 110 50760 Koeln Germany Telefon: +49 221 1305699-0 Telefax: +49 221 1305699-90 E-Mail: ste...@re... Jabber: ste...@re... |