]> 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>
Wed, 17 Sep 2025 19:36:24 +0000 (13:36 -0600)
commit151a883037b5606a35a8c02d1a5cbe26e62fd05b
tree9f4c742db7bf2608d5a23ba300e815585ad7df5e
parentc902012d9efff7c6fd8459ff2d15169fe5124674
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.
apps/app_queue.c
configs/samples/queuerules.conf.sample