the situation:
- agent has a desk phone
- agent sometimes works from home on a cell phone
- agent added the cell phone number as a follow me to his desk phone
- queue settings “skip busy agents” is set to Yes+(ringinuse=no) - the help text for this setting says “When set to ‘Yes + (ringinuse=no)’ the queue configuration flag ‘ringinuse=no’ is set for this queue in addition to the phone’s device status being monitored. This results in the queue tracking remote agents (agents who are a remote PSTN phone, called through Follow-Me, and other means) as well as PBX connected agents, so the queue will not attempt to send another call if they are already on a call from any queue.”
However when a queue call comes in and the agent is working from home, the system will successfully call his cell phone but the system does not seem to track the fact that the ext/follow me is busy. with the result that if the agent is on a queue call on his cell phone and a second queue call comes in, the system will ring his deskphone and his cell phone.
i think this is a bug but was hoping to get an opinion here before submitting a ticket
run this command after the follow me has been executed asterisk -x " core show hints"
This is about device state, not hints.
Local channels do not provide device state, so by default, you will get a device state of unknown. You can specify an interface in your queue member definition that will stand in for the local channel, but you can only specify one interface, which would have to be the local number, as you don’t want to block just because someone else is using the trunk.
You will need to investigate further in that it is possible that the local device’s device state may not recover fast enough from the redirected attempt.
I believe it is possible to created virtual devices, so your local channel may be able generate a composite state, but it will need to make sure it always restores the idle state in failure conditions.
is “ringinuse” not part of app_queue? i had assumed that the way things worked was that when a queue call is delivered to an agent that is on a remote phone that asterisk would monitor both the device state and track the fact that the agent is active on a remote phone. is that not true? and if yes, then it would appear that there is a bug?
It monitors exactly one device. That is either the device specified as the member, or the device you explicitly provide an an extra parameter.
Local channels are not real devices, so always have state unknown.
This is not a bug. The code is behaving as intended.
1 Like
i don’t think you are understanding my question. i give up
I don’t think you are understanding my answer!
I agreed with you, but based on the documentation : The CLI command core show hints will show extension state for all defined hints, as well as display a truncated list of the mapped Device State or Presence State identifiers.