--- Atis Lezdins <[EMAIL PROTECTED]> wrote: > On Mon, Apr 28, 2008 at 8:34 PM, Vieri > <[EMAIL PROTECTED]> wrote: > > How can I get a list of the callers within a > specific > > queue at any given moment? > > > > I need to get the caller IDs of all active calls > in a > > queue then send them out via a udp socket to a > > listening application on the network (the only > data I > > need to send are two fields: current timestamp > and > > caller id of active queue calls). > > > > I have almost all the elements to do this except > the > > best method to retrieve "all active caller ids > from a > > given queue". I was wondering if someone already > did > > this. > > > > I tried writing a script on the server which > connects > > to the Manager API and receives queue events. I'm > > basically using the AgentCalled event but it > seems > > clumsy to efficiently detect when the call has > ended > > (connect or abandon) and thus update the remote > UDP > > listening app. > > > > I also tried another way by guessing which calls > are > > active via tailing and grepping > > /var/log/asterisk/queue_log. > > > > Finally, a third script method tried parsing the > > output of "show queue XXXX" right after > "Callers:". > > Maybe this is all I really need for my purposes > > (although less efficient and less "real-time" > than the > > queue events method because I would need to > > periodically poll the whole queue statistics) but > I > > only get the originating channel and the wait > time. I > > would require correlating the data to the > caller's ID. > > > > Has anyone already done something similar? > > A simple example/script/suggestion would be > greatly > > appreciated. > > I'm not sure that this is what exactly You need, but > I have a patch > for app_queue > that will store and update queue callers (as well as > update lots of > fields for queue members) in realtime mysql table. > This allows to do > many requests for current queue state simultenously, > and moves load > from asterisk to mysql (which can be on separate > machine). So, > generally to get active callers with all their > callerid/channel info > You will have to do just "SELECT * FROM > queue_callers". > > It's not very finalized, so I haven't yet posted > that to Digium for > inclusion in next asterisk versions, but I intend to > do that in > future. It's been working stable on our production > for several months. > > If You're interested, please reply, and I'll try to > separate that > patch out from other our patches. > Currently I have it updated for 1.4.19, but also > have some version for 1.4.14
Thanks Atis. That patch sounds really neat. Hope it gets into * soon. Just a doubt: suppose the mysql daemon dies for some reason. Will the patched app_queue still handle calls and not hang? ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users