Confirm the extension exists in runtime
Check that the PJSIP extension was submitted and configuration applied. Review any apply errors. A saved GUI record is not enough if the engine rejected or never received the configuration.
A first 401 challenge can be normal. Read the response to the authenticated retry before changing credentials.
Compare account fields
Match the handset's selected account, registrar, authentication ID and device secret to the intended extension. Confirm a provisioning service is not replacing your manual settings. The administrator login password is not the SIP device secret.
If previous failures triggered a security block, inspect the relevant protection logs and correct the cause before allowing the device again. Do not disable the firewall or intrusion protection globally.
Separate response types
No response suggests reachability or transport. Repeated challenges suggest identity, secret or algorithm compatibility. A final rejection may involve policy. Preserve a short sanitized trace rather than exporting the entire PBX configuration.
Verify recovery
Confirm the expected contact, place calls both ways and reboot the phone to check persistence. Keep changes in FreePBX's supported interface. Standalone pjsip.conf examples can explain the object relationships, but overwriting generated files is not a reliable repair.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- IETF RFC 3261 — SIP, including linked updates ↗
- IETF RFC 3550 — RTP and RTCP ↗
- Asterisk res_pjsip configuration ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.