VoIP.info Troubleshooting

PJSIP contact reachable but calls fail

Understand why a successful SIP OPTIONS qualify result does not validate INVITE routing, authentication or RTP.

Reviewed 2026-10-12Asterisk PJSIP documentation reviewed September 26, 2026; adapt to the installed version and PBX management layerAdvancedDocumentation based · not lab tested

Read the reachability signal narrowly

A PJSIP contact can be marked reachable because an OPTIONS qualification received a response within its timeout. Asterisk documents that qualify frequency, timeout and accepted response policy are configurable. This establishes a limited signaling observation for a contact at that moment. It does not place a call, negotiate media or verify a number.

Write down the contact URI, timestamp and OPTIONS response. If the contact is actually unreachable, inspect DNS resolution, proxy route and the selected network path before investigating a call failure.

The contact qualification guide explains the interval, timeout, response-policy and state fields behind this observation.

Compare OPTIONS and INVITE paths

Generate one authorized test call and follow the outbound INVITE, the first final response and the media description. Confirm it uses the expected endpoint, AOR contact, outbound proxy and dialplan rule. Asterisk documents that proxies may require routing on both the endpoint and AOR; an OPTIONS path can differ from the call path when those settings diverge.

An INVITE rejected for identity or destination policy needs a different fix from a media failure after 200 OK. Preserve both call legs and the response reason in your notes.

Check authentication and number format

A provider may challenge an INVITE even when OPTIONS was accepted. Verify the outbound auth object, the account’s permitted identity and the called number format using the carrier’s current requirements. A working registration and a reachable contact do not authorize every destination.

Inspect the media leg after answer

If signaling succeeds but audio is absent, compare the SDP offer and answer with the addresses and RTP stream actually observed. Use the one-way audio and RTP analysis guides. Do not change qualify timers to conceal an RTP problem.

Finish with a bounded retest

Make a second call using the same number and endpoint, then test a separate permitted destination. Record whether the failure is isolated to call setup, destination policy, or post-answer media. Keep a rollback note for any proxy or auth change.

A forced qualification is still not a call test

A bounded PJSIPQualify action can trigger an immediate endpoint qualification, while PJSIPShowContacts returns a contact snapshot. Neither action proves INVITE routing, answer, negotiated SDP or media; use the qualification guide to preserve that boundary.

CCAI Platform BYOC: OPTIONS does not cover the call path

Use the CCAI Platform BYOC diagnostic to separate instance FQDN, direction, authentication, INVITE routing, current signaling and media ranges, header mapping, transfer and decoded audio.

A reachable contact can still fail its call leg

For a multi-device endpoint, the PJSIP_DIAL_CONTACTS diagnostic follows every generated destination from OPTIONS state through INVITE and final response.

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.