Phone Won't Register¶
Symptom: desk phone or softphone shows "Registration Failed," "Server Unreachable," or simply doesn't appear under pjsip show endpoints as registered.
Most Likely Causes¶
- Wrong secret — most common. Re-typed by hand, special chars mangled.
- Wrong SIP server / domain — IP vs FQDN, with or without port.
- Firewall blocking SIP from the phone's source IP — UnifiedBX's Responsive Firewall hasn't seen this IP yet.
- Phone using
chan_sipwhile extension ispjsip(or vice versa) — silent registration failure. - Transport mismatch — phone trying TCP/TLS, extension only allows UDP.
- DNS not resolving the SIP server FQDN on the phone's network.
Diagnose¶
# Watch SIP from the specific phone:
sngrep -d any host <phone-ip>
# Look for REGISTER attempts. If absent, phone isn't even sending — DNS or routing.
# If present and answered with 401 → phone retries with auth.
# If 401 then 403/404 → wrong creds or wrong extension.
# Confirm the endpoint exists and what transport it expects:
asterisk -rx "pjsip show endpoint <ext>"
# Look at "transport" line.
# Verify firewall:
asterisk -rx "firewall trust"
# Or:
iptables -L -n | grep 5060
Fix¶
- Reset the secret in User Attributes → Extensions →
→ Secret , regenerate, copy clean. - Re-provision the phone with the new secret and confirm domain matches
pjsip show transportsexternal address. - Trust the phone's network in firewall:
fwconsole firewall trust <phone-ip>or System Admin → Firewall → Networks → Add Trusted. - For mobile/remote phones: ensure UnifiedBX has a public FQDN with valid SSL cert (some clients require TLS).
- Verify transport: extension's transport setting must match what the phone uses.
When to Escalate¶
- All checks pass, REGISTER from phone visible in capture, server returns
200 OK, yetpjsip show endpointsshows offline. Restartchan_pjsip:asterisk -rx "module reload res_pjsip.so" - Still failing? Possible Asterisk bug — check Asterisk version and recent changelogs.