Queue does not respect agent status

Hi

I am experiencing a problem with a queue not respecting the agents status:

9 has 0 calls (max unlimited) in ‘rrmemory’ strategy (11s holdtime, 30s talktime), W:0, C:351, A:62, SL:82.9% within 60s
Members:
Switchboard3 (Local/2002@from-queue/n from hint:2002@ext-local) (ringinuse enabled) (Unavailable) has taken no calls yet
Switchboard1 (Local/2000@from-queue/n from hint:2000@ext-local) (ringinuse enabled) (Not in use) has taken 3 calls (last was 83 secs ago)
Switchboard2 (Local/2001@from-queue/n from hint:2001@ext-local) (ringinuse enabled) (Unavailable) has taken no calls yet
No Callers

As we can see 2002 and 2001 are Unavailable agents but the queue_log still indicates that they are being sent call:

1505283976|1505283976.199068|9|NONE|DID|0123456789
1505283976|1505283976.199068|9|NONE|ENTERQUEUE||0123456789
1505283984|1505283976.199068|9|Switchboard2|RINGNOANSWER|0
1505283984|1505283976.199068|9|Switchboard3|RINGNOANSWER|0
1505283985|1505283976.199068|9|Switchboard1|RINGNOANSWER|1000
1505283990|1505283976.199068|9|Switchboard1|RINGNOANSWER|0
1505283990|1505283976.199068|9|Switchboard2|RINGNOANSWER|0
1505283990|1505283976.199068|9|Switchboard3|RINGNOANSWER|0
1505283995|1505283976.199068|9|Switchboard1|RINGNOANSWER|0
1505283995|1505283976.199068|9|Switchboard2|RINGNOANSWER|0
1505283995|1505283976.199068|9|Switchboard3|RINGNOANSWER|0
1505284004|1505283976.199068|9|Switchboard1|CONNECT|28|1505284000.199092|3
1505284018|1505283976.199068|9|Switchboard1|COMPLETECALLER|28|14|2

Regards

I have done some more testing and found that this only happens when making using of Local channels. When using the devices like SIP it works as expected:

Works:
member=SIP/2000
member=SIP/2001

Doesn’t work:
member=Local/2000@from-queue/n,0,“2000”,hint:2000@ext-local
member=Local/2001@from-queue/n,0,“2001”,hint:2001@ext-local

I have confirmed that my hints are active:
2001@ext-local : SIP/2001&Custom:DND2 State:Unavailable Presence:not_set Watchers 0
2000@ext-local : SIP/2000&Custom:DND2 State:Idle Presence:not_set Watchers 0

Can this be confirmed as a Bug with the queue application?

Using Asterisk 13.

Regards

It’s not a bug. It is exactly why there is an additional parameter in the queue member definition to provide the device whose status will actually be used.

Local channels do not have device states.

What about if you turn off ringinuse?

Can you utilize PauseQueueMember/UnpauseQueueMember instead of trying to manipulate device state to do this instead?

You then have to expect the agents to manage the login and log out services. They are using soft phones and to them closing the soft phone is easier then logging out.

Regards