Who is using AddQueueMember?

Hi All

I work for a software developement company that specialis’s in Telephony solutions. We have written a full stats engine desinged for Asterisk… We have released the product a month ago and currently have it running in 4 biggish call centres, the biggest been 170 Agents. The system uses Agents extensivly and now with the AgentCallBackLogin be depreciated we are wondering which is the better root to go… We have currently designed the product to work with the AgentCallBackLogin but have been reading alot about the AddQueueMember and this seems a much better and efficeint way of doing it… What I need to know is… How many of you use AddQueueMemeber over AgentCallBackLogin… Does it work as well as intended? I have used it in our lab but things need to be tested in production to trully see how they handle. I would like to know who has used in a proper Call Centre enviroment and any feedback would be great.

The only problem with AddQueueMemeber is when it comes to hot seating, quiet alot of dial plan is require and also making the system not allow agents to login from multiple phones…

I have looked at the below dial plan which looks like it something that would work well…

voip-info.org/wiki/view/Aste … nformation

Am I correct in saying that if you add a QueueMember Local/1234@test and this would then dial the exten 1234 in the context Text and then dial the appropraite Sip phone tied to that extension? Is that the reason for using Local/ does it refer to an internal extension rather then using Sip/1234?

If you had to add a queuemember Sip/1234 what would happen?

Sorry I have rambled on abit about this but any information or experiances from you guys would be apprecaited…

We are also currently working on our CTI application which should hopefully be released later this year… The system integrates currently with the SNOM phones… We are also looking at maybe PolyCom and Aastra phones… Any other widley used phones that you could recommend we support?


From Stuart

AddQueueMember dynamically adds SIP/Device to a queue, as if you had them listed in queues.conf like member => SIP/Device.

I’m also experimenting with the AddQueueMember functionality and wrote this simple dial plan segment not 2 days ago as a test:

exten => 1065,1,Set(cname=${CUT(CHANNEL,-,1&2)})
exten => 1065,2,AddQueueMember(myqueue-main|${CNAME}||j)
exten => 1065,3,Playback(agent-loginok)
exten => 1065,4,Hangup
exten => 1065,103,RemoveQueueMember(myqueue-main|${CNAME})
exten => 1065,104,Playback(agent-loggedoff)
exten => 1065,105,Hangup

User dials 1065, joins their device to queue “myqueue-main”, unless they’re already in that queue, in which case it unjoins them.

My cut function will be a little off from yours, all of my SIP/device names have a hyphen in them. In order to strip off the channel information (hyphen seperated) and get the device name, I tell CUT that I need the first two groups of hyphen delimited strings instead of just the first. Modify so you get the correct result. :smile:

Keep in mind, when using the dynamic queue member functionality, if you issue a CLI> reload, or restart asterisk, if your members are not hard-coded into the queues.conf, asterisk will forget them and they will need to rejoin the queue. Additionally, any member who are hard-coded in queues.conf can use this same extension to “temporarily” unjoin themselves and rejoin later.


I have used AddQueueMember/RemoveQueueMember for many installations. If you use AgentCallBackLogin, you will run into major issues such as deadlocking where no inbound calls will be delivered to the agents among many other weird issues. I’ve been dealing with QueueMetrics lately and they have dialplan solutions to log events correctly so they show in reports.

The reason to use local channels with AddQueueMember is so that you can run the call through the dialplan. This gives the ability to limit only 1 call to the member and anything else you want to add in.