VoIP.info Troubleshooting

FreePBX queue priority is not applied or callers answer in the wrong order

Trace one caller from its selecting route through the generated priority target, inherited QUEUE_PRIO value, queue admission, comparable waiters, member offers and queue outcome before changing weights or penalties.

Reviewed 2026-10-12Sangoma Queue Priorities overview and PBX GUI 13 user guide, FreePBX Queue Priorities release/17.0 repository metadata and Queueprio.class.php dialplan source, and current Asterisk QUEUE_PRIO and Queue application documentation reviewed October 12, 2026; the Sangoma screen guide is explicitly version 13, repository state does not prove an installed module or loaded channel state, and no PBX, module, priority object, route, queue, caller, member, channel variable, queue log, SLA result or call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one ordering claim with comparable callers

Record the queue, caller channels, arrival times, source routes, expected priority classes, member availability and first observed divergence. Classify the symptom: priority object not selected, wrong value, value lost on a new leg, queue not entered, caller rejected or exited, or admitted callers apparently offered out of order.

Do not use answer time alone. Preserve queue-entry, offer, answer, abandon and exit events for every compared caller, plus the installed FreePBX, Queue Priorities, Queues and Asterisk versions.

Prove the intended priority object executed

Resolve the inbound route, IVR key, time condition or other source to the stable Queue Priorities destination ID. Compare its saved value and next destination with the generated and loaded app-queueprio target. A familiar description or correct GUI value does not prove the live call executed that record.

If Apply Config failed or the loaded target is stale, repair that boundary through supported controls before changing the numeric priority.

Follow QUEUE_PRIO on the exact queue-entering channel

Capture the value immediately after the priority target and again on the channel that invokes Queue. The release/17.0 source uses inherited _QUEUE_PRIO, but Local channels, transfers, callbacks and custom dialplan can create or optimize legs or replace variables. Map channel names and unique identifiers instead of relying on a shared linked identifier.

A value on the original leg is not proof that the admitted queue channel retained it. Find the first creation or handoff where the value diverges.

Separate queue admission from ordering

Confirm that each compared call entered the same queue and was accepted into its waiting population. Join-empty rules, maximum callers, timeouts, leave-empty behavior, failover destinations and caller abandonment can remove a call before priority ordering is relevant.

Keep queue priority separate from member penalty, member pause or device state, ring strategy and queue weight. Changing an agent-side control to fix a missing caller variable can reorder unrelated calls.

Reconstruct offers, not just answers

Use queue-log and channel evidence to order arrivals, effective priorities, member offers, ringing intervals, answers and exits. A lower-priority call may appear to answer first because it was already offered, the higher-priority call had not been admitted, different members were eligible, or the first offer was not accepted.

Do not claim strict SLA compliance from a small test. Preserve simultaneous-event resolution, clock sources and logging gaps as limitations.

Correct one owner and retest the class matrix

Correct the first proven divergence: source selection, saved value, Apply Config, loaded target, variable inheritance, queue destination or a separate member-policy defect. Retest one lower, equal and higher class under controlled availability, plus an unauthorized source path.

Accept only the intended ordering without starving ordinary callers or changing unrelated queues. Roll back the value or path if evidence diverges. This workflow is documentation-derived and was not reproduced on an installed or laboratory FreePBX system.

Sources & applicability

Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.