VoIP.info Troubleshooting

Asterisk AMI PJSIP endpoint list has the wrong state, count or objects

Trace an unexpected endpoint row through list completion, exact object detail, configuration ownership, contacts, device-state calculation, channels and node scope.

Reviewed 2026-10-19Current branch-23 PJSIPShowEndpoints, PJSIPShowEndpoint, EndpointList, EndpointListComplete, EndpointDetail and EndpointDetailComplete references, PJSIP object guidance, res_pjsip configuration reference and AMI v2 specification were reviewed October 19, 2026. Installed branch, loaded modules, manager action inventory and permissions, configuration owner, endpoint, AoR, auth, transport, identify, contact, device-state provider, active channel, registration, qualification and call behavior remain deployment specific. No PBX, module, manager account, session, endpoint, AoR, auth, transport, identify, contact, channel, registration, qualification exchange, packet, media stream or live call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one disputed endpoint snapshot

Record timestamp and timezone, responding node and branch, configuration owner, manager identity, action, ActionID, immediate response, every row, named completion event, exact endpoint name, AoR, contacts, DeviceState, ActiveChannels, expected object relationships and user-visible symptom.

Classify the disagreement: endpoint absent; duplicate or unexpected endpoint; wrong AoR, auth, transport or identify; contact text wrong; device state unexpected; active-channel count wrong; list never completes; or list is correct but service fails.

Prove the transaction completed without cross-talk

For the inventory, require EndpointListComplete and compare its ListItems with retained EndpointList rows. For one endpoint, require EndpointDetailComplete and preserve every associated-object event. Verify connection continuity, manager class authorization, event filters and parser handling.

Do not combine rows from simultaneous actions using arrival time. Match the returned ActionID, and treat a disconnect, timeout or cancelled list as incomplete even when several plausible rows arrived.

Compare list references with exact endpoint detail

Run the bounded single-endpoint transaction for the exact object name. Compare endpoint AoR, inbound auth, outbound auth and transport references with each AorDetail, AuthDetail, TransportDetail and IdentifyDetail row. Preserve repeated objects.

If the list and detail disagree, establish whether the data changed between snapshots, the parser collapsed a multi-valued field, the requests reached different nodes or a stale dashboard transformed the AMI response. Do not edit object names to make summaries align.

Resolve contacts and device state through their owners

Inspect the authoritative AoR and its static or REGISTER-created contacts. Then inspect qualification evidence and the endpoint device-state provider separately. A contact list can change through registration, de-registration, expiry, replacement policy, reload or another node.

Compare device_state_busy_at with the endpoint channel count and the live channel inventory at the same timestamp. Aggregate device state, individual contact reachability, registration and channel state can legitimately differ.

Confirm node, generated configuration and lifecycle timing

In a clustered or generated FreePBX deployment, prove which node loaded the endpoint and which owner produced its configuration. A saved GUI row or database object does not prove the queried process loaded it. Preserve reload errors and the last-known-good object detail before changing the owner.

Avoid direct edits to generated files, broad module reloads or simultaneous changes to AoR, auth, transport, identify and contact policy. Those changes erase the first divergence and can disrupt unrelated endpoints.

Correct the earliest boundary and test service separately

Correct only the demonstrated fault: action framing, parser, permission, node, endpoint identity, configuration generation, loaded relationship, contact ownership, device-state threshold, stale cache or channel correlation. Repeat the same completed inventory and single-endpoint detail transaction.

If configuration and status now agree but calls fail, continue through endpoint identification, authentication, dialplan, signaling, SDP and media as independent evidence. No PBX, module, manager account, session, endpoint, AoR, auth, transport, identify, contact, channel, registration, qualification exchange, 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.

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