[Asterisk-Users] Tearing my hair out with Queues

Douglas Garstang dgarstang at oneeighty.com
Thu Mar 23 23:37:44 MST 2006


I think your requirements are different to ours. I need each agents phone to ring for a given period of time, once. Once each agent has been tried once, the caller should drop out of the queue.  I can't set the queue timeout to 0... we don't want people to be stuck in the queue forever, or even for more than a few minutes if all the agents are busy on other calls.
 
I don't think automatically logging an agent out is a good idea. I think it's better to have a short ring time for each. A limitation of Asterisk (ohoh, I hope no one reads this bit) is that it can't provide visual feedback back to the agent's phone about their status. If they where to be automatically logged out, they'd never know.
 
You know, this would all be quite simple if Queues seem to work the way the docs implied. I can't understand why the timeout passed to the Queue() command doesn't seem to work. I've given it values of 200,300 and it aborts way before that. I've seen it ring 4/6 agents with a timeout of 30, and 6/6 agents with a timeout of 15 (both well below 200 and 300). It also doesn't seem to go to the next step in the dialplan. I've also seen where it sends CHANUNAVAIL back to the dial plan on the CALLING server (one server calls another via IAX who then executes the Queue()), even after the call was answered. What's up with that? All in all, it seems completely flaky, and I'm waaay past frustrated.
 
Doug

	-----Original Message----- 
	From: Joe Dennick [mailto:joe at dennick.net] 
	Sent: Thu 3/23/2006 11:17 PM 
	To: Asterisk Users Mailing List - Non-Commercial Discussion 
	Cc: 
	Subject: Re: [Asterisk-Users] Tearing my hair out with Queues
	
	

	Queues don't process the dial-plan, period.  When you pass a call to a
	queue, it's either going to be answered by an available agent, or stay
	in the queue until the queue time-out has been reached.  As you have
	already seen, the agent time-out value will automatically log out an
	agent who doesn't answer a call within the time-out period.  Once that
	happens, the queue tries the next available agent.  I've got the queue
	time-out set to 0 (meaning it never times out) and the agent time-out
	set to 20 (rings an agent for 20 seconds, which is usually about four
	rings).  That way if there is a call in the queue, but no agents are
	logged in, one can log in and take the call.  We use the Flash Operator
	Panel to identify who is logged in, and how many calls are in the queue.
	
	I have found, however that not using the agent time-out is bad because
	the queue continues to send a caller to the same agent, even though that
	agent isn't at his/her desk to answer the call.  Automatically logging
	that agent out allows the call to be passed to the next available agent.
	
	Douglas Garstang wrote:
	
	>I don't see why I'd be getting CHANUNAVAIL. As I said, all the agents are logged in and are in astdb and 'sip show peers'.
	>
	>I just had another go, I passed a timeout of 300 to the Queue() command and set timeout=30 in queues.conf for the queue. The Queue timed out after TWO minutes (120s) and only rang 4 of the 6 agents (30s each). It also then did not continue execution at the next priority in the dial plan.
	>
	>I also tried with a timeout of 300 passed to Queue() but a timeout of 15 in queues.conf. It rang ALL 6 agents for 15s each. This is well below the queue timeout of 300s, but at this point it stopped, and didn't continue at the next priority in the dialplan.
	>
	>See what I mean?
	>
	>If I go and change some timeouts around, the behaviour becomes equally screwy, but for a different reason.
	>
	>Yeah I saw that link earlier today.... based on the results I'm getting it isn't much help,
	>
	>Doug.
	>
	>
	>
	>       -----Original Message-----
	>       From: CC Jay [mailto:jjcoolio at gmail.com]
	>       Sent: Thu 3/23/2006 10:32 PM
	>       To: Asterisk Users Mailing List - Non-Commercial Discussion
	>       Cc:
	>       Subject: Re: [Asterisk-Users] Tearing my hair out with Queues
	>      
	>      
	>       "300" is the maximum time a call can be placed in a queue, after that, next priority will be executed.
	>       "15" is the time each agent will be rung before * tries the next agent.
	>       "CHANUNAVAIL" happens since Queue rings Agent/xyz, Agent/xyz in turn tries to ring SIP/abc but cannot find it, hence...
	>      
	>       BTW, you may find this helpful: http://www.oinko.net/astrecipes/index.php?n=118
	>      
	>       Cheers
	>      
	>
	> 
	>
	>------------------------------------------------------------------------
	>
	>_______________________________________________
	>--Bandwidth and Colocation provided by Easynews.com --
	>
	>Asterisk-Users mailing list
	>To UNSUBSCRIBE or update options visit:
	>   http://lists.digium.com/mailman/listinfo/asterisk-users
	> 
	>
	_______________________________________________
	--Bandwidth and Colocation provided by Easynews.com --
	
	Asterisk-Users mailing list
	To UNSUBSCRIBE or update options visit:
	   http://lists.digium.com/mailman/listinfo/asterisk-users
	



More information about the asterisk-users mailing list