VoIP.info Troubleshooting

Asterisk PJSIPRegister or PJSIPUnregister action fails or has no effect

Trace AMI authorization, loaded object identity, action response, REGISTER exchange, Registry event, detail status and later timer before repeating a fleet-wide control.

Reviewed 2026-10-13Current Asterisk branch-23 PJSIPRegister, PJSIPUnregister, PJSIPShowRegistrationsOutbound, OutboundRegistrationDetail, Registry and res_pjsip_outbound_registration documentation plus the outbound-registration configuration guide reviewed October 13, 2026; PJSIPUnregister is documented since Asterisk 12.0.0 and PJSIPRegister since 13.2.0, while installed release, loaded module, registration object, AMI identity and permissions, persistent configuration, timer state, network path, registrar response and service behavior remain deployment specific; no PBX, AMI session, credential, registration object, REGISTER, response, timer, provider, trunk, packet or call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one action and its expected state transition

Record timestamp and timezone, Asterisk release, loaded module, AMI identity and permitted classes, client connection, action name, ActionID, exact Registration value, pre-action detail status and NextReg, immediate AMI response, bounded SIP exchange, Registry events, post-action detail and expected service state.

Classify the first mismatch: unsupported action, AMI authentication or authorization, unknown object, action rejected, no unregister transaction, no new registration attempt, registrar rejection, permanent or stopped retry state, stale observer, or registration succeeded but the separate call path failed.

Prove release, module and AMI permission

Confirm the installed release provides the requested action: PJSIPUnregister is documented since 12.0.0 and PJSIPRegister since 13.2.0. Confirm the outbound-registration module is loaded and the AMI user can invoke the action and receive the needed command and system events.

A connected manager socket does not prove authorization. An action listed in current branch-23 documentation does not prove availability in an older packaged release.

Resolve the loaded object before retrying

Request the outbound-registration listing and match the exact ObjectName. Compare its server URI, client URI, transport and outbound-auth reference with the intended service. A FreePBX trunk label or provider username may not equal the Asterisk registration object name.

Do not substitute *all to hide an unresolved name. That changes every loaded object and can produce avoidable provider traffic or a broad service interruption.

Follow unregister and register phases separately

For PJSIPUnregister, trace the state transition, any outgoing unregister request, response and absence of future attempts. For PJSIPRegister, remember that Asterisk first unregisters, then begins registration and schedules re-registration from loaded configuration. Preserve both phases and their distinct responses.

A missing packet after AMI acceptance points to object, module or action-state evidence. A sent request with no response points to transport, DNS, proxy or network evidence. A negative response belongs to authentication, registrar policy or request contents.

Correlate events with a fresh detail listing

Match Registry events to the attempt by time, channel type, redacted username, domain, status and cause, then request a new outbound-registration detail list. Preserve Registered, Unregistered, Rejected and Failed as distinct outcomes, and retain NextReg rather than guessing the next retry from elapsed time.

An observer can miss an event during reconnect. Conversely, an event does not establish the later steady state; the fresh detail and next scheduled refresh close that gap.

Correct the first failed boundary and retest one object

Correct only the demonstrated boundary: release, module, AMI permission, object name, persistent registration configuration, transport, credentials, proxy, retry policy or registrar requirement. Repeat on one object, observe the next refresh and verify unrelated registrations were unchanged.

Do not build an automatic action loop that defeats retry policy or provider limits. A Registered state is not proof of inbound routing, outbound authorization, media or call completion. No PBX, AMI session, registration object, packet, provider or call was inspected or tested for this diagnostic.

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.