Queue Penalty Rules

I’m currently running PBXAct 14 and using Asterisk 16.9.0. We’re getting ready to make some changes to a call queues and was testing the queue penalty rules to be able to set priorities based on the wait time and queue type. I wanted to share settings that I used, in case someone else runs into a similar situation. (Similar to Help With Queue Penalties) @handleric

Scenario: We’re wanting the callers to initially ring an agent and if that agent doesn’t answer or is on the phone, move onto the next agent. Sometimes, an agent may be busy helping someone onsite, so they may walk away from their desk or can’t answer the phone. If they don’t answer, we want it to keep adding in additional phones until someone answers, but keep ringing the initial agent. An example would be to have 101, 102, and 103 in a queue, with it ringing 101 first and then adding in 102 and 103.

  • Caller enters the queue and 101 rings for 11 secs (~2 rings)
  • After 11 secs, the queue then rings 101 and 102
  • After another 11 secs (22 secs total) the queue then rings 101, 102, and 103.

Setup for this Example:

  1. Setup a Queue Penalty Rule
  2. You’ll be using 3 lines in the Penalty Rule
  3. Duration = 11, Max Penalty Change = +1, Queue Raise Penalty = +1
  4. Set this the same for the next 2 lines (Duration = 11, Max Penalty Change = +1, Queue Raise Penalty = +1) - This should all the Max Penalty and Raise Penalty to increase
  5. Setup your Queue setting the Agent Timeout, and Max and Raise Penalty, make sure Ring Strategy = ringall
  6. Queue Agents: Static Agent
  • 101,1
  • 102,2
  • 103,3
  1. Timing & Agent Option - Agent Timeout = 11 Seconds (~2 rings)
  2. Queue Plus Options:
  • Initial Max Penalty = 1 (could be 2 or higher, but needs to be at least 1)
  • Initial Raise Penalty = 1
  • Queue Penalty Rules = Your Queue penalty Rule you set above
  1. Lazy Members = No

There is a bug, as the documentation states that if you do not set the Initial Max or Raise Penalty, it should be set to “0”. However, based on my testing, if you check it and set it as 0 or uncheck the “Enable”, it will not change according to the Penalty Rule. In this case, you have to set it to at least 1; otherwise, the Enable will uncheck.

To add to the bug, if you initially set it to Enable and set the values as 1. And then go back into the queue and change it to 0. It works as expected. But if you make a change elsewhere in the queue and save it (ie, add a queue member), and save it, the penalties do not apply.

Hopefully this will help someone as they setup a queue and want to have it add ringing phones the longer a caller is in the queue.


It would be super-awesome if you could put all of that information into a trouble ticket on the “Issues” tab (top of screen). While it’s good to get it documented here, it’s also good to submit a ticket so it can end up in Jira too. A few Sangomans hang out here, but they’re not really “responsible” for making sure every issue we (as users) identify as tracked.

Done, I opened a support ticket with Sangoma letting them know about the issue.

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