Global waiting list for multiple queue

I have a PBX running FreePBX 16 configured with multiple queues.
The agents are shared across these queues, but the queues are not identical and must remain distinct due to the agents’ specific expertise in handling different topics.

For example:

  • Agent A is logged into Queues 1, 2, and 3.
  • Agent B is logged into Queues 2, 3, and 4.
  • Agent C is logged into Queues 1, 3, and 4.
  • etc.

The goal is to achieve the following behavior:
A free agent should be connected to the call waiting the longest in any of the queues to which that agent is assigned.

Is it possible to implement this functionality?
How can I send the call with the longest wait of every queue to the first free agent?

It requires a significant rework of the code, which will take quite a few man weeks of developer time.

Before I retired, I did this, but it was against Asterisk 1.6.2, when it was already past end of life, and it was only tested within my employer’s usage, e.g. it wasn’t tested for ARA, so it wasn’t something I could submit back to the project.

An Asterisk option to app_queue[1] actually went in last year to make app_queue behave like such. I don’t know if FreePBX has exposed it, and a modern version of Asterisk would need to be used of course.

[1] app_queue: Add force_longest_waiting_caller option. by nbruning · Pull Request #109 · asterisk/asterisk · GitHub

2 Likes

Thank you @jcolp it seems like the right fit for me, I’ll do some tests and let you know

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