VoIP.info Guide

Asterisk AMI PJSIP endpoint lists and object detail

Use completed endpoint-list and single-endpoint transactions without turning aggregate device state, contact text or active-channel counts into registration or call proof.

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

Choose inventory or detail before sending the action

PJSIPShowEndpoints inventories every loaded PJSIP endpoint. PJSIPShowEndpoint takes one exact endpoint name and expands that endpoint plus associated objects. Record the responding node, installed branch, configuration owner, manager identity, endpoint spelling and the question the transaction must answer.

Do not use endpoint, AoR, contact, registration and device as interchangeable labels. An endpoint is policy, an AoR groups contact locations, and a contact is a URI candidate. An outbound registration is a separate object. Similar names do not establish a relationship.

Read EndpointList as a compact aggregate row

For each endpoint, PJSIPShowEndpoints raises EndpointList with the object name, transport, AoR, inbound and outbound auth references, aggregate DeviceState, ActiveChannels and associated Contacts, then ends with EndpointListComplete. Retain the row as one timestamped summary.

DeviceState is an aggregate endpoint state, not a direct report of one phone registration. ActiveChannels is a count at the observation boundary, not a call ledger. The contacts field is not a substitute for contact-detail, expiry or qualification evidence.

Use single-endpoint detail to preserve object relationships

PJSIPShowEndpoint raises EndpointDetail plus associated AorDetail, AuthDetail, TransportDetail and IdentifyDetail events, with some associated object types appearing more than once. EndpointDetailComplete closes the transaction. Preserve every row and its object name rather than flattening repeated relationships into one value.

A detail response reports loaded configuration and current status fields. It does not prove the expected source matched an identify rule, a credential passed a challenge, a transport carried the request or an AoR contact answered.

Correlate each list with ActionID and completion

Supply a unique ActionID and retain the start response, related rows and the correct named completion event. A concurrent PJSIPShowEndpoints list and PJSIPShowEndpoint detail request have different row and completion contracts. Do not merge them by socket order.

AMI event-list sequences can be cancelled. A quiet socket, client timeout, disconnected session, expected row count or the arrival of a later unrelated event does not establish a complete snapshot.

Separate loaded state, aggregate state and service outcome

A loaded endpoint can have no contacts. A static contact can exist without REGISTER. A dynamic contact can expire after the list. device_state_busy_at can make endpoint device state report busy based on the in-use channel count. Qualification, registration, endpoint identification and active-channel lifecycle remain separate evidence.

For service acceptance, follow one authorized request through endpoint identification, authentication, AoR and contact selection, dialplan, signaling response, SDP and media. A list row cannot prove these downstream boundaries.

Protect the inventory and retain a bounded record

Endpoint names, auth references, contact URIs, identify relationships, transport names and active-channel counts can expose topology or account metadata. Restrict AMI privileges and network access, redact secrets, preserve timestamps and retain only the fields needed for the incident or audit.

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.

Relate endpoint detail to the all-AoR inventory

The AMI AoR inventory guide explains why endpoint-associated AorDetail and the complete AoR list answer different questions.

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.