Freeze one node, list transaction and symptom
Record node, build, loaded modules, manager identity, ActionID, action response, every list event, matching completion event, configured agent ID, queue, member name, interface, channel names, Uniqueid, Linkedid, first contradictory event and synchronized time.
Classify the first symptom as action absent, denied action, missing definition, incomplete list, logged-off state, missing login channel, wrong queue member, rejected logoff, active call ended unexpectedly, absent event or mis-correlated call. Do not combine several agents or reconnects into one incident.
Prove app_agent_pool and definition before queue state
Confirm app_agent_pool is present and the agent ID exists in the effective agents.conf. The Agents action reports that pool, while QueueStatus and queue-member events report another model. A queue interface, endpoint, extension or FreePBX agent label is not automatically an app_agent_pool Agent.
If the intended deployment uses dynamic queue members rather than AgentLogin, stop applying the pool diagnostic and follow the queue-member control path. Do not add a duplicate agent merely to make an inventory row appear.
Validate the completed inventory and login path
Repeat one Agents request with a fresh ActionID and wait for its matching AgentsComplete. For AGENT_IDLE or AGENT_ONCALL, validate the returned channel snapshot and stable IDs; for AGENT_LOGGEDOFF, do not require channel fields.
If login is expected, follow the actual dialplan into AgentLogin(), including its separate authentication step and AGENT_STATUS. Confirm the AgentLogin event and fresh completed inventory. A device-state hint or AGENT(status) value alone does not prove the manager list was complete.
Check event authorization, filters and reconnect gaps
Verify that the manager identity can receive the AGENT class and that server- and client-side filters retain the required list and lifecycle events. Capture connection start, authentication, filter policy, reconnects, parse errors, backpressure and sequence around the incident.
A missing AgentCalled, AgentConnect, AgentComplete, AgentDump, AgentRingNoAnswer, AgentLogin or AgentLogoff event can be a delivery or collection fault. It is not proof that the corresponding PBX transition never happened.
Diagnose logoff with active-call semantics intact
Re-resolve the exact agent and current channel immediately before control. Compare the sent Soft policy with the intended outcome: true is documented not to hang up an existing call. Retain the response, any AgentLogoff event, channel and bridge events, call completion evidence and a later completed agent inventory.
Do not retry a non-soft request while the agent is on a customer call. An action acknowledgement, a logoff event, channel disposal, queue-member change and caller outcome are separate observations.
Repair the first owner and verify one bounded call
Correct only the demonstrated owner: module availability, authoritative agent definition, login dialplan, authentication, manager authorization, event filter, queue membership, collector join or logoff policy. Re-login when required for configuration changes that take effect at login, then obtain one completed inventory before a controlled queue call.
Confirm the expected called, connected and completed or no-answer path using both channel IDs, queue, member and interface. Roll back through the same owner if validation fails. No PBX, module, manager session, agent, queue, channel, event stream, recording, packet, media stream or live call was inspected or tested.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Asterisk Agents AMI action ↗
- Asterisk AgentLogoff AMI action ↗
- Asterisk Agents AMI event ↗
- Asterisk AgentsComplete AMI event ↗
- Asterisk AgentLogin AMI event ↗
- Asterisk AgentLogoff AMI event ↗
- Asterisk AgentCalled AMI event ↗
- Asterisk AgentConnect AMI event ↗
- Asterisk AgentComplete AMI event ↗
- Asterisk AgentDump AMI event ↗
- Asterisk AgentRingNoAnswer AMI event ↗
- Asterisk AgentLogin dialplan application ↗
- Asterisk AGENT dialplan function ↗
- Asterisk app_agent_pool configuration ↗
- Asterisk AMI v2 specification ↗
- Asterisk network security guidance ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.