FreePBX Queue handling Agents

Help wanted!

I would like to see a solution for FreePBX.

A call comes in via Inboud Route;
It enters a Queue;
That Queue has 10 Agents;
A maximum of 2 of those Agents may be in conversation;
The remaining callers must be placed in the Queue;
When 1 of the 2 calls is hung up, the next person waiting in the Queue is offered to the other 9 Agents.
How do I solve that within FreePBX16 or FreePBX17.

I would like to hear from you.

Greetings, Gijsbert

Is it always the same 2 agents taking calls? Is there a reason why those not taking calls can’t pause themselves so they dont get queue calls?

I think you need to explain the limit of two. It may turn out that the best way of achieving this is by imposing the limit downstream of the queue mechanism.

Explanation of the situation:

There is a pharmacy where all the assistants help customers at the counter, but they also all have to answer the phone. They just want to be able to help customers on site, but not everyone is on the phone. When calls continue to be made, it becomes restless.
Of course they could sign in or out, but people are afraid that they will forget to sign in. Hence the maximum of two simultaneous telephone conversations.

It could also be possible for employees to put their phones on Pause, or even via Auto Pause, but they also have to put themselves on Available again.

Advice or input in this regard is appreciated.

Unfortunately, https://sangomakb.atlassian.net/wiki/spaces/PG/pages/24608891/Queues+Module has a broken (403) link to https://wiki-legacy.freepbx.org/display/FPG/Queues+Module+User+Guide so I can’t check what you are allowed to specify for a queue agent, but the only way I can think of doing this is to have the queue agents be local channels, which use group counts to detect when the maximum number of calls has been reached. It may be necessary to force the local channel not to optimise.

I think the local channel would need to be custom dialplan.

https://sangomakb.atlassian.net/wiki/spaces/PG/pages/24510614/Queues+Module+User+Guide

Thank you for your feedback and advice.
Too bad that link no longer works.
I wasn’t aware of a difference between PJSIP and Local Channels…
How do you refer to a Custom Dialplan from FreePBX?
And how in combination with a Queue?
Would you have more details?
Thank you very much.
Greetings, Gijsbert

I had a look a the documentation, and decided there were too many questions about how FreePBX works that would either require detailed reading of the documentation, or testing on a live system, for me to be able to determine the minimum divergence from the GUI, and detail the solution.

I am thinking about using Dynamic Routes.
Then I want to create conditions depending on the statuses of all the Agents, and depending on that, adjust the status of the other Agents. In order to simulate that all the Agents are in conversation, until the conversation is over, and the Queue lets callers through to all the Agents again.
Is that possible? How exactly should that be done?
Can someone give examples of that?
I don’t know which Asterisk Variable can/should be used…

I can’t think of a practical way of using dynroutes for this.

If I was going to do this, I would define a new dial prefix for extensions with dialplan to check to see how many active queue calls there are before allowing the dial to continue. Instead of logging in the extensions to the queue directly, add them using a prefix. Asterisk doesn’t make this overly simple, but I think you could do it with the QUEUE_MEMBER function.

Subtract the QUEUE_MEMBER - ready value from the QUEUE_MEMBER count value and you’ll get the number of active calls. If that value exceeds a threshold, just end the channel.

References:
Creating a prefix: Open Source Pro Tips #8 - Creating a Custom Dial Prefix

May not really be a DIY project. If there’s budget, be aware that there is a forum section called Jobs where you can post for paid assistance with a project.