[Help] Queue Channel not getting cleared


I’m using Asterisk with queues. The agents log in/out using AgentCallBackLogin/ AgentLogoff manager commands. The queue is set for rmemory for routing calls to agent. I’ve also enabled ack call parameter so, agents has to ack the incoming call by pressing # key. Here, Asterisk is used in pure SIP only environment.

I’m facing strange problem where an incoming call gets connected to an agent. But, some times the channel connected the agent is not getting cleared on call disconnect. Also, the status of agent stays as talking to that channel. This prevents the agent from getting further incoming calls.

Call flow sequence.

  1. Caller calls to our Asterisk server using the DID number assigned to it. Channel say SIP/caller is active now.
  2. Call gets routed to a queue.
  3. Say Agent x is available in the queue
  4. From the agent context called the agent phone.
  5. Agent connected to Caller. Now other active channels are Agent/x and SIP/agent
  6. After call disconnect. Sometimes, SIP/caller and Agent/1234 goes off but SIP/agent doesn’t get dropped. And the agent status remains connected to the pending channel. Event Asterisk cmd “Soft hangup” is not disconnecting this pending channel.

Please help.


not sure if this matters, but AgentCallBackLogin is being deprecated in 1.4 as there are too many bugs - to my knowledge, Digium is making AddQueueMember/RemoveQueueMember the preferred mode of logging agents in and out of queue.

I believe there is a bug very similar to what you are describing on the bugtracker.

You may look into using an alternate method of signing your agents in…we are using AddQueueMember and RemoveQueueMember without incident - it works great!

Thanks for your reply.

If agents are logged into queue system via AgentCallBackLogin then even before placing the call to agent we can find to which agent the call is going to be connected from the agent context.

Can this be acheived using AddQueue member? Also, using AgentCallBackLogin call ack can be done based on individual agents. Is this possible in AddQueue Member?

My understanding is Add/Remove Queue member is only for adding / removing interface from the queue. But, for logging the agents into queue system we need to do AgentLogin - right?

So, using agents + Add/Remove Q member + Agent Login can i still have the functionalities mentioned above?

Can you help?


Any help?

the wiki is your friend…

voip-info.org/tiki-index.php … ueueMember
voip-info.org/wiki/view/Aste … nformation
voip-info.org/wiki/view/Agen … nt+channel