External Numbers in Multiple Queues - Detect Busy Agent?

Ok - We are doing a Law Day Call-In for our State Bar this morning, but with Covid, instead of having the agents on attached phones, all the members of the Queues are on Cel Phones remotely.

I think the problem is that Asterisk is not detecting that an Agent is already on a call from another queue and is therefore offering the caller from the other Queue - here is the setup:

Queue A:
Agent A
Agent B
Agent C

Queue B:
Agent A
Agent D
Agent E

So agent A is in both Queue A and Queue B (Their Cel Phone) - problem seems to be that when they are on a call for Queue A and a call is offered for Queue B, it goes ahead and offers the call from Queue B - Even though I have set both Queues to Skip Busy on the ring strategy.

I don’t think there is a way around this - has anyone else seen this behavior?

If they are working from home and have a stable wifi connection, setup softphones on their cellphones, I haven’t tried yet Sangoma Connect, but if you are looking for a free solution, try Grandstream Wave.

Not an option - Volunteers for a 4-Hour Call-In spread all over the State - Question is if I am diagnosing the behavior properly.

Two possibilities:

  1. Create an extension and configure FMFM to send the call to the external DID, then add the extension number to the queue. This may work, but not sure.
  2. Create an extension of type ‘custom’ and use a dial string of local/[email protected] where xxxx is the external number. Add the extension number to the queue.

In either case, you may need to play with the Agent restriction and Skip busy settings to get the desired effect.

I was thinking about that - Virtual Extensions with FM/FM, but I didn’t know it was a problem before the event got going so the result will be for next year (if we are still in Covid-Hell) - but am I right in diagnosing that Asterisk is not seeing the agent busy in all queues because they are present in the different queues and they are on the phone?

The queue is looking for the hint associated with the queue agent to determine if it’s busy. Local extensions have hints, the mechanism that changes a BLF button to indicate busy, but external numbers don’t have hints.

Good to know, I always thought it’s looking for the device state, which is why it doesn’t call offline extensions when skip busy is enabled. Live and learn…

1 Like

Ok - That is what I thought - one last question - Virtual Extension is enough to have that visibility? I don’t need a channel-based extension, I can just do a Virtual?

You may be correct, I’ve probably over simplified. The hint mirrors the device state and there is probably some additional logic involved when ringinuse comes into play.

1 Like

It’s not just device state. 6-7 years ago @plindheimer and I did a ton of work on this and got patches submitted into I believe asterisk 1.8 finally that allows the queue to use a combination of extension and device state along with func dev state.

Extensions with things like call forward or follow me will have the state information that allows asterisk to better track the channel is in use and not send another call to it from the queue. If you put in static external numbers as agents in a queue you loose all that and it’s not recommended. It also creates issues with transferring calls with the agent not getting a new call until the transferred call has hung up with the new agent and even some voicemail issues.

Lots of history here that was fixed with the smart logic of the way we did hints in FreePBX.

Little update. I guess my timing of this was off. It was now 10 years ago. Dang where had the time gone. https://issues.asterisk.org/jira/plugins/servlet/mobile#issue/ASTERISK-14178


Nice little history lesson, that was just as I was getting into this industry.

This limitation was addressed a couple years ago, and is no longer an issue.

Howdy Tony - long time no talk - so to make this thread as clear as possible for future readers, the key is having the External Numbers as Extensions (Virtual or otherwise) with FM/FM enabled to the external number and then all the tracking will work correctly right?

1 Like

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