Hi everyone,
I have an Asterisk setup with the Queue() module for call distribution, and it works well for us. However, I have one use case that I haven’t found a clean solution for.
Sometimes, I want to transfer a call into a queue, but with a condition: the call should try a specific agent first, while still being reported in the queue statistics (queue_log). If that agent doesn’t answer, then the call should continue in the queue normally with the standard strategy (round-robin, least recent, etc.).
Key points:
-
I don’t want to change the queue strategy permanently.
-
I don’t want to reconfigure the queue members or add duplicate logins.
-
The solution should still generate the normal queue reports (
ENTERQUEUE,CONNECT,ABANDON, etc.), so we can track the call properly.
In other words, the logic I’m looking for is something like:
-
Send the call to the queue.
-
Prioritize a specific agent X for this call.
-
If X doesn’t answer, fall back to the queue’s normal behavior.
Is there a recommended way to achieve this in Asterisk? Maybe some trick with QUEUE_MIN_PENALTY, dynamic members, or another approach? I’d really appreciate any guidance or examples.
Thanks