Troubleshooting
The problems that actually happen, and where to look first.
| Problem | Check |
|---|---|
| Phone won't register | Dashboard → Recent sign-ins and Activity; asterisk -rx "pjsip show endpoints"; on the edge fail2ban-client status kamailio-edge (unban: fail2ban-client unban <ip>) |
| Outside calls fail | User has outside minutes (Billing → User access)? Outbound route matches? asterisk -rx "pjsip show registrations" says Registered? journalctl -u pbx-brain shows outbound ... via trunk? |
| Incoming calls skip someone | They need outside minutes; check journalctl -u pbx-brain | grep skipped |
| Remote phone: no audio | Router forwards UDP 20000–20099 to the edge; the phone uses SRTP (SDES); run ./verify-edge.sh |
| Remote phone: "SDP mismatch" when answering | Set the phone's media encryption to SRTP (SDES) |
| Remote phone never rings | Zoiper killed in the background (phone settings / push); edge config is current (./update-edge.sh) |
| Hang-up doesn't end the call on the other side | Edge config is current; the certificate matches sip.example.com |
| Calls drop after an IP change | systemctl status pbx-edge-ip.timer on the edge; Network page shows "In sync" |
| No emails | Email page → Send test; port 587 or 465 (many ISPs block 25) |
| Can't open admin pages | Use http://<PBX-IP>:8001 from the office network, not the published address |
| Inbound SMS doesn't arrive | Webhook URL in voip.ms (re-check the token survived the paste); did_sms_routes has the normalized DID; journalctl -u pbx-api -f for webhook hits |
| Outbound SMS fails | API username is the login email (not account number); journalctl -u pbx-agi -f for msg-route external: lines |
Where the logs live
journalctl -u pbx-brain -u pbx-api -u pbx-agi
asterisk -rvvv
# On the edge:
journalctl -u kamailio -u rtpengine -u fail2ban