VoIP.info Troubleshooting

Asterisk PJSIP endpoint shows unavailable

Distinguish object loading, contact existence and qualify results before replacing a working configuration.

Reviewed 2026-10-19Asterisk 22 LTS · FreePBX 17 / Debian 12 checksIntermediateDocumentation based · not lab tested

Interpret the status in context

An unavailable indication can relate to missing contacts or a failed reachability probe. It is not a complete root-cause statement. Record the endpoint, AOR and contact state from the running Asterisk instance. If the same contact repeatedly changes state, use the contact-flapping investigation to separate registration churn, OPTIONS response policy, timeout and path evidence.

If the capture contains SIP 480, continue with the 480-specific investigation so the responder, technology code and dial result remain separate evidence.

PJSIP endpoint, auth and AOR
The endpoint defines call behavior and refers to an authentication object and an address-of-record object. The AOR contains or learns a contact address.

Logical configuration relationships, not a complete pjsip.conf. An outbound trunk can use a separate outbound-auth relationship.

Inspect relationships

Use read-only CLI inspection to confirm the endpoint references the expected AOR and auth objects. If the endpoint itself is absent, review configuration loading and parser errors first. If it exists without a contact, investigate phone registration or the configured static destination.

If a contact exists but qualify fails, examine the probe's destination and whether the peer supports and answers the request under its policy. A network path or changed NAT mapping may be involved.

Compare a real call

A qualify result is one observation. Test an authorized internal call and inspect its specific request/response flow. Avoid declaring all service healthy solely because a probe receives a response.

Repair the demonstrated layer

Correct object references, registration or reachability according to the evidence. Do not set a large contact allowance or turn off qualification simply to change the displayed label. Confirm recovery after the phone renews or restarts and verify two-way audio separately.

Identity and contact are different states

An inbound carrier INVITE rejected as unidentified is a separate boundary from an unavailable contact. Compare the actual packet source with the loaded identify object before altering contact qualification. See the focused investigation for the next evidence step.

Do not confuse reachability with maintenance

On Asterisk versions that support PJSIP endpoint maintenance, an endpoint can intentionally refuse new originations or reject new inbound out-of-dialog requests without changing an established dialog. Follow the 503 investigation when the observed failure is a service response rather than a missing contact or failed OPTIONS probe.

Separate endpoint availability from the dial contact set

When multiple devices should ring, use the multi-contact diagnostic to compare the live AoR inventory with the generated dial string and created channels.

Separate endpoint aggregate state from the failed call

The AMI endpoint-state diagnostic traces list state, contacts, qualification, channels and downstream call evidence independently.

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.