We are running FreePBX Distro - 5.211.65-10 and are running into some issues with the Queue and Penalties.
We are trying to have the queue ring two static extensions for 15 seconds (if not busy) then ring two other extensions for 15 seconds, then repeat until 1 min is up.
What is happening is it will ring the first two extensions for 15 seconds (assuming they are not on the phone), pause for five to ten seconds (caller still hears ringing) plays a recording “thank you for waiting” and then ring the first two extensions again. The queue never rings the 2nd pair of extensions. If I set the retry to 0 it will ring for the 15 seconds then go to the fail over destination.
Any suggestions on where to start?
The Queue Configuration
Static Agents: 111,0;112,0;221,1;222,1 (one on each line)
Agent Restrictions: No Follow-Me or Call Forward
Ring Strategy: ringall
Skip Busy Agents: Yes + (ringinuse=no)
Max wait time: 1 Min
Agent Timeout: 15 seconds
Agent Timeout restart: no
Retry: 20 (and tried 0)
Put 111 and 112 in the queue. Agent time out 15. Build a ring group for the other two agents. Have the queue fail over destination set to the new ring group. Have the ring group timeout set to 15, with its failover destination being the original queue. Make max wait time setting 1 second to ensure failover at 15 sec. No Retry on either. If you had a retry, it would just loop in the queue.
Agent Penalties do not work quite that way in asterisk. It will never try the next penalty group if 1 or more agents with a lower penalty are available. An unavailable agent is only defined as one on a call or paused. If they are logged into a queue and just not answering it never fails over.
You could look at VQ Plus commercial module which lets you change the min and max penalty groups over time of a queue so you could setup the default to ring penalty 1-1 for 20 seconds. Then have it change the penalty to be 2-2 for the next blah seconds and so forth.