Resolve the queue member and its state source
Start with the responding node, installed Asterisk release, loaded app_queue module, exact case-sensitive queue and the member Interface stored in that queue. Preserve MemberName as a display value and StateInterface as the channel technology or location from which Asterisk reads device-state changes; neither is a substitute for the member Interface.
Capture a completed QueueStatus sequence for the same queue and member before control. Record membership, penalty, pause state and reason, InCall, numeric Status, Ringinuse, wrap-up value and timestamps. Registration, contact reachability and queue membership do not by themselves establish queue eligibility.
Send an explicit queue-scoped control
QueueMemberRingInUse sets the ring-in-use value for a queue member and exposes Interface, RingInUse, Queue and optional ActionID. The generated branch-22 and branch-23 pages publish no field descriptions beyond those names, no valid literal set, no omitted-field defaults and no all-queue scope. Supply all three target fields exactly as accepted by the installed release; do not infer a default or silently broaden scope.
Preserve the raw request and response. An AMI success response establishes acceptance by that node, not a saved FreePBX setting, persistent Asterisk configuration, device-state change, ring attempt or completed call.
Read the change event without inventing correlation
QueueMemberRinginuse is an AGENT-class event raised when a member's setting changes. Its published schema includes queue, MemberName, Interface, StateInterface, membership, penalty, call counters, InCall, numeric Status, pause fields, Ringinuse and wrap-up time. It does not list ActionID.
Correlate conservatively by exact node, queue, member interface, timestamps and event-stream continuity. The event can show a setting transition; it does not prove the request caused it exclusively, that the device state is correct, that the member became eligible or that a caller was offered.
Keep policy, device state and eligibility separate
The Ringinuse member field is policy, while Status is the numeric device state derived through the member's StateInterface. The published queue-member event schemas enumerate unknown, not-in-use, in-use, busy, invalid, unavailable, ringing, ring-in-use and on-hold status values. A policy value and a status value answer different questions.
Use a completed later QueueStatus sequence to re-read the member record. When the state source itself is disputed, DeviceStateList emits a framed sequence of DeviceStateChange events followed by DeviceStateListComplete. Match the exact state source rather than an extension label, presence indicator or endpoint contact. Pause, wrap-up, penalty, queue strategy and other eligibility inputs remain independent.
Prove an offer and outcome on the call path
A confirmed ring-in-use setting does not prove Asterisk selected the member for a waiting caller. Preserve caller admission, eligibility at the decision instant, member selection, outbound channel creation, endpoint response, answer, bridge and two-way media as distinct observations. A device can reject an additional call, apply call waiting, forward, time out or be unavailable even when queue policy permits an attempt.
Conversely, a ring attempt while the device is in use does not prove this AMI transaction caused it; another queue, direct dial, stale state source or later configuration change can participate. Use exact channel identities and a bounded timeline rather than a dashboard label.
Test persistence and negative cases safely
In an approved nonproduction window, use one disposable queue member and caller. Capture the before snapshot, send one explicit control, record response and change event, obtain a completed later snapshot, then observe state, selection, ring, answer and media separately. Repeat with the opposite explicit value only if the test plan authorizes a second call-treatment change.
Exercise wrong queue, wrong member interface, mismatched StateInterface, denied manager account, unsupported release, hidden AGENT events, interrupted snapshot and later FreePBX apply or queue reload. No PBX, module, queue, member, manager account, session, event stream, endpoint, packet, audio or live call was inspected or tested; documentation does not establish availability, compatibility, accepted literals, persistence, eligibility, ringing, answer, media or caller outcome.
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.