Freeze one action transaction before changing registration state
Record local and UTC time, PBX node, installed branch, loaded module, manager identity and permissions, connection, ActionID, action response, every returned event, terminal event, collection timeout and consumer-side redaction result. Do not issue register, unregister, reload or configuration changes until the original list has been preserved.
Classify the first divergence: action missing or denied, initial response absent, detail rows absent, desired object absent, terminal event absent, counters disagree, state appears stale, NextReg is misread, unrelated events were mixed in or authentication detail escaped.
Prove action availability, permissions and event delivery
Confirm the installed branch and loaded res_pjsip_outbound_registration capability, then verify that the manager account can invoke the action and receive its command-class events. Preserve an explicit error response rather than translating it into an empty registration list.
On a shared AMI connection, check ActionID handling, event filters, proxy or client framing and the collection deadline. An accepted action does not prove that every generated event reached this consumer.
Require completion before judging absence or counts
Collect OutboundRegistrationDetail and associated AuthDetail rows until OutboundRegistrationDetailComplete. Match the response to the request and count unique registration rows. Compare detail states with the terminal Registered and NotRegistered values while retaining duplicate or malformed rows as evidence.
If the terminal event is missing, diagnose transport, parser, filter and timeout behavior before claiming that an object is absent. One matching row is not permission to stop the list early.
Compare the correct state vocabulary and observation time
Preserve whether a value came from OutboundRegistrationDetail, the completion counters, a Registry transition or the CLI. Rejected, Failed, Stopped, Unregistered and aggregate NotRegistered are not interchangeable. Put event and snapshot times on one timeline before calling a list stale.
Read NextReg alongside retry and expiration controls. Zero can accompany an exhausted or unscheduled condition and does not promise an immediate REGISTER. Compare with bounded SIP evidence only when capture is authorized.
Contain AuthDetail before investigating credentials
Inspect the collection path for password, MD5 credential, OAuth secret, password digest and refresh token fields. Stop further export if raw secret-bearing events entered logs, tickets, metrics or analytics; follow the deployment incident process and rotate credentials when exposure is plausible.
Keep sanitized object and realm evidence separate from secret validation. A redacted report cannot prove that the stored credential matches the provider, and a correct credential does not prove registrar reachability or acceptance.
Make one bounded correction and retest the whole evidence chain
Correct only the demonstrated module, permission, event filter, parser, timeout, object identity, retry control, transport, URI, auth reference or collection-redaction defect. Repeat one list transaction and require response, all rows, completion, reconciled counts and no raw secrets.
If registration control is authorized, correlate its response, Registry transition, SIP exchange and a fresh completed inventory without using *all while object scope is uncertain. Do not represent the result as proof of provider binding, calls, media, capacity, availability or compatibility.
Diagnose registration after driver migration
The missing SIPpeers diagnostic establishes the active driver and object relationships before interpreting registry absence.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Asterisk 23 PJSIPShowRegistrationsOutbound action ↗
- Asterisk 23 OutboundRegistrationDetail event ↗
- Asterisk 23 AuthDetail event ↗
- Asterisk 23 PJSIPRegister action ↗
- Asterisk 23 PJSIPUnregister action ↗
- Asterisk 23 Registry event ↗
- Asterisk 23 outbound-registration configuration reference ↗
- Asterisk outbound-registration configuration guide ↗
- Asterisk PJSIP troubleshooting guide ↗
- Asterisk AMI v2 specification ↗
- Asterisk Manager TCP/IP API ↗
- Asterisk 20 SIPpeers AMI action ↗
- Asterisk 20 SIPshowpeer AMI action ↗
- Asterisk 20 SIPpeerstatus AMI action ↗
- Asterisk 20 SIPshowregistry AMI action ↗
- Asterisk chan_sip configuration status ↗
- Asterisk 21 changes ↗
- Asterisk module deprecations ↗
- Asterisk chan_sip to res_pjsip migration ↗
- Asterisk PJSIPShowEndpoints AMI action ↗
- Asterisk ListCommands AMI action ↗
- Asterisk network security guidance ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.