Starting this week we have a queue going crazy.
I have 3 people in the queue 8888. Call enters the queue and the first phone rings. If he does nothing the call will return to his phone after 10 sec. No other agent in this queue are on the phone. If the first person hits reject the call will go to the next agent however the process repeats for that agent. This week I did do a few module updates on a few modules but none for “queue”
Here is some system info.
Turn off Retry. You will see its set to retry the agent after 10 sec.
tried that and the call exits the queue and hits the fail-over destination.
Are you using Agent Penalties?
Yes we are however only 2 agents have anything other then 0 set.
maybe strategy => ringall, or anything other than leastrecent? (help text says that with leastrecent it would do exactly what you are describing probably)
Just tested it with fewestcalls with the same outcome. I would think if the agent doses not pick up the call it will go to the next agent. That is how its worked for around 2 years now. Just wanted to make sure it was not a know bug or if a setting was added that I was unaware of
I dont know of a way to make this happen other than using follow me on the primary extension, using the other two extensions as the follow me destination. Other than setting the failover destination as the next extension to be called.
Your issue is how Agent Penalties work in Asterisk. Please see this for a full explanation
I understand if I was using a ringall. I have even made everyone penalty of 0. if we are using leastrecent I would think calls should hit each person in the queue and start over once it hits the last agent as long as the queue timeout has not expired, correct? this is how it acted until Wed of this week after I did a module upgrade. Man I wish I could find what modules got an update.
Leastrecent will only ring the 1 agent with the least recent answered call. Never move ahead unless someone else becomes agent with leastrecent answered call.
That is very odd. like I said if they hit reject it will move to the next agent and all was good until the update. Also just found out the link to Penalty Rules launches a blank page. Going to build a test box this weekend and test it again.
A module in FreePBX or dialplan would not change that. Its built into the core of asterisk and we have no control over it.
Still working this. I installed a fresh freepbx and the queue works as it should. I’m now going to copy the app from the test server to the prod server and see what happens. I have no problem buying something if needed just don’t like something working one way and for no know reason it stops the next day.
Sorry to bring up a post which is almost 3 year old we are also using the leastrecent ring strategy and when an agent misses a call asterisk does not attempt to move on to the 2nd “least recent” agent.
Did you ever get a solution? From your last post, it looks likes you had this working on a fresh install of FreePBX but the end result is unclear.
You are correct, Asterisk will not move on to the next agent just because they didn’t answer. I can suggest a few options.
- If you don’t need the full functionality of a queue, then use a hunt group
- You can turn on lazymembers (this may require a commercial module purchase from Sangoma… not sure if it can be turned on manually in config file or not) See this article for more details on lazy members
- You can follow the Asterisk recommended procedure and “auto pause” agents who don’t answer their phone. This will have several ramifications such as needing a way for agents to unpause themselves. (there are feature codes and hints available to phones to accomplish this) HOWEVER… there is currently a bad bug in this solution (not sure if it’s in Asterisk or in Sangoma’s custom version of app_queue) More Details
Hope that helps a little!
To help you better understand why Asterisk will not “move on” think of it like this… Every time the queue is going to present a call to a member (agent) it follows the ring strategy. So, just because an agent didn’t answer the last it tried to send them a call doesn’t matter that agent is still the one that has “least recently” taken a call.