Hey everyone,
Our client was complaining that random queue calls end up to the failover destination without ringing in the queue. After looking into this, it turns out, that it appears to happen when there is a single agent in the queue and they are already on a queue call, and there’s another incoming call. While the second call is ringing the agent is being marked as invalid resulting the third call to not be able to join the queue since there are no valid members.
I am able to reproduce this using Asterisk 16.15.1 and FreePBX 14.0.16.4, Queues 14.0.2.34
The queue without any calls:
yplab*CLI> queue show 3233
3233 has 0 calls (max unlimited) in 'rrmemory' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0%, SL2:0.0% within 60s
Members:
Desk1 (Local/[email protected]/n from hint:[email protected]) (ringinuse enabled) (dynamic) (Not in use) has taken no calls yet
No Callers
First call ringing:
3233 has 1 calls (max unlimited) in 'rrmemory' strategy (5s holdtime, 24s talktime), W:0, C:2, A:1, SL:100.0%, SL2:100.0% within 60s
Members:
Desk1 (Local/[email protected]/n from hint:[email protected]) (ringinuse enabled) (dynamic) (Ringing) has taken 2 calls (last was 88 secs ago)
Callers:
1. Local/[email protected];2 (wait: 0:06, prio: 0)
The call is answered:
yplab*CLI> queue show 3233
3233 has 0 calls (max unlimited) in 'rrmemory' strategy (6s holdtime, 24s talktime), W:0, C:2, A:1, SL:100.0%, SL2:100.0% within 60s
Members:
Desk1 (Local/[email protected]/n from hint:[email protected]) (ringinuse enabled) (dynamic) (in call) (In use) has taken 2 calls (last was 104 secs ago)
No Callers
Second call ringing: Agent becomes invalid!
3233 has 1 calls (max unlimited) in 'rrmemory' strategy (6s holdtime, 24s talktime), W:0, C:2, A:1, SL:100.0%, SL2:100.0% within 60s
Members:
Desk1 (Local/[email protected]/n from hint:[email protected]) (ringinuse enabled) (dynamic) (in call) (Invalid) has taken 2 calls (last was 127 secs ago)
Callers:
1. Local/[email protected];2 (wait: 0:04, prio: 0)
Resulting the third call not be able to join the queue, I see in the logs:
app_queue.c:8456 queue_exec: Unable to join queue '3233'
It happens with both, chan_sip and chan_pjsip extensions
Relevant queue settings:
Call Confirm = Yes
Restrict Dynamic Agents = No
Agent Restrictions = Call as Dialed
Ring Strategy = rrmemory
Autofill = No
Skip Busy Agents = No
Join Empty = No
Leave Empty = Yes
I am not even sure if that would be an Asterisk or FreePBX issue.
Please let us know if you need any further information.
Thank you