]> git.ipfire.org Git - thirdparty/asterisk.git/commit
app_queue: queue rules – Add support for QUEUE_RAISE_PENALTY=rN to raise penalties...
authorphoneben <67923255+phoneben@users.noreply.github.com>
Mon, 26 May 2025 20:52:34 +0000 (23:52 +0300)
committerGeorge Joseph <gjoseph@sangoma.com>
Thu, 26 Jun 2025 18:15:05 +0000 (12:15 -0600)
commitaad714961399cd3180245be8b449b53e67bee41d
tree4299a6142c3b0f5e0788cfcf49caa2a0c778a5f8
parent91203a8612ed0fe21d01d2491f4446289fdf8052
app_queue: queue rules – Add support for QUEUE_RAISE_PENALTY=rN to raise penalties only for members within min/max range

This update adds support for a new QUEUE_RAISE_PENALTY format: rN

When QUEUE_RAISE_PENALTY is set to rN (e.g., r4), only members whose current penalty
is greater than or equal to the defined min_penalty and less than or equal to max_penalty
will have their penalty raised to N.

Members with penalties outside the min/max range remain unchanged.

Example behaviors:

QUEUE_RAISE_PENALTY=4     → Raise all members with penalty < 4 (existing behavior)
QUEUE_RAISE_PENALTY=r4    → Raise only members with penalty in [min_penalty, max_penalty] to 4

Implementation details:

Adds parsing logic to detect the r prefix and sets the raise_respect_min flag

Modifies the raise logic to skip members outside the defined penalty range when the flag is active

UserNote: This change introduces QUEUE_RAISE_PENALTY=rN, allowing selective penalty raises
only for members whose current penalty is within the [min_penalty, max_penalty] range.
Members with lower or higher penalties are unaffected.
This behavior is backward-compatible with existing queue rule configurations.

(cherry picked from commit 12440d232fea6970250381b408982b9a6e4c9ff2)
apps/app_queue.c
configs/samples/queuerules.conf.sample