Queue issue - no Failover


I am trying to setup the following scenario.
2 agents with the ability to answer up to 4 calls (2 calls each agent) and when an extension is busy then it should ring ONLY when both agents are busy

So I set it up like this:
1x Queue - say name QueueMain - where they are both agents, Skip Busy set to YES.
1x Queue - say name QueueFailover - where Skip Busy is set to No, and Retry set to NoRetry

Failover of QueueMain is QueueFailover
Failover of QueueFailover is QueueMain

So, the flow I had in mind is:
=> Incoming call to QueueMain
=> Agent 1 answers
=> Another incoming call to QueueMain, only Agent 2 should ring until the agent answers
=> After both are Busy, Incoming call to QueueMain
=> Queue fails over to QueueFailover ring only 1 time each agent, where ofc Call Waiting is activated for both
=> Then fail over to QueueMain
=> which in turn fails over to QueueFailover due to agents being busy etc.

Instead what happens in reality is that QueueMain indeed fails over to QueueFailover but the QueueFailover never fails over to QueueMain.

Is there something wrong in my logic?

I want to try to avoid to create separate extensions for second Line.
But, I am open for suggestion.

I don’t think what you did was the best solution. It may end up in a loop, between the failover and the main queue after the first cycle if the agents are still busy.
In any case, the fact that the call is not jumping out off of the failover queue could be because of a setting. Please post a log of a call → Providing Great Debug - Support Services - Documentation

Also, the queue_logs may be helpful to understand what happened with the call when on the queues.

Thank you for the answer,

I knew the solution was not ideal and complicated. In the end we discussed it again and agreed that we will just keep Skip Busy to No and have 1 single Queue.

Though I am still wondering how to achieve the behavior I was trying to achieve:

  1. Ring all Free Agents ONLY
  2. If there is a call and all agents are busy, only then Ring in turns on the ones already talking (so that for example you will have the option to pick up phone, ask the customer to hold and resume on Line 1)
  3. Lastly, if any agents gets free then ring on the free agent.

You could use two phones per agent (I mean, two extensions registered on the same phone) and then have two queues in sequence, kind of like

the first queue only has the first set of operators in them; after one minute, it times out and there is another queue with both extensions for both operators.

Statistics might be kind of weird, bit it should work.

1 Like

Like @QM2021 suggests, each phone has two extensions registered. The primary extensions would have 0 penalty, and the secondary extensions would be a penalty 1. The queue would send the calls to the primary extensions first, and then only try the secondary extensions if the primaries do not answer.

Make sure you understand how Asterisk decides how to scale up by penalty, though :wink:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.