Skip to content

All Extensions Show Offline After Reboot

Symptom: UnifiedBX rebooted (planned or crash). After bringing it back up, every extension shows offline in pjsip show endpoints and the dashboard. No calls work.

Most Likely Causes

  1. Asterisk didn't start cleanly — module load failure, config corruption.
  2. Firewall came up before NIC — phones banned during early boot, registration attempts hit firewall before PBX was ready.
  3. DNS not resolving — extensions configured with FQDN that the host can't currently resolve.
  4. Database not started before Asterisk — Asterisk loads, has no extension records.
  5. Phones haven't re-registered yet — most phones re-register every 60-300 seconds; just wait.

Diagnose

# Is Asterisk running, fully?
asterisk -rx "core show settings"
# Should show uptime > 0 and modules loaded.

# Did modules load cleanly?
grep -i "error\|failed\|cannot" /var/log/asterisk/full | tail -50

# Are extensions defined in pjsip?
asterisk -rx "pjsip show endpoints" | wc -l
# If 0, definitions didn't load — DB or config issue.

# Is MariaDB up?
systemctl status mariadb
mysql -u root -e "SHOW DATABASES;" 2>&1 | head

# Is the firewall blocking SIP?
iptables -L -n | grep 5060

Fix

  • Wait 5 minutes. Most desk phones re-register on a timer. If they're back after waiting, no fix needed.
  • Asterisk failed to load: fwconsole stop && fwconsole start. Watch logs.
  • MariaDB not up: systemctl start mariadb. If it won't start, check /var/log/mariadb/mariadb.log. May need crash recovery.
  • Asterisk loaded with no endpoints: fwconsole reload. This regenerates pjsip configs from the DB.
  • DNS broken: dig <fqdn> from host. If failing, restart network / systemd-resolved.
  • Firewall blocking: confirm trusted networks survived reboot. fwconsole firewall status.

If fwconsole reload doesn't bring extensions back, the underlying DB content may have been wiped (rare but happens with crashed mid-write). Restore from last good backup.

When to Escalate

Multiple successive reboots produce the same broken state — there's an underlying issue (failing disk, OOM-killer, hardware). Examine dmesg, /var/log/messages, hardware health. Plan to replace the box.