Skip to content

Apply Config Hangs or Errors

Symptom: the red Apply Config bar spins forever, OR errors out with a message about syntax / module failure / dialplan reload.

Most Likely Causes

  1. Syntax error in custom config fileextensions_custom.conf, pjsip_custom.conf, etc.
  2. Module update failed mid-process.
  3. Database lock — another reload running, or MySQL hung.
  4. Disk full — UnifiedBX can't write generated configs.
  5. PHP timeout — large dialplan rebuild exceeds max_execution_time.

Diagnose

# What's the last thing FreePBX did?
tail -100 /var/log/asterisk/freepbx.log

# What's Asterisk seeing?
tail -100 /var/log/asterisk/full

# Is disk full?
df -h

# Is MySQL responsive?
mysql -u root -e "SHOW PROCESSLIST;"

# Force the reload from CLI:
fwconsole reload --force

Fix

  • Syntax error: the freepbx.log will name the file and line. Fix the syntax. Common: unbalanced brackets, missing comma in dialplan.
  • Module update failed: fwconsole ma list | grep -i broken. Reinstall the broken module: fwconsole ma install <name>.
  • Database lock: identify the long-running process via SHOW PROCESSLIST;, kill it: KILL <id>;. If MySQL itself hangs, restart: systemctl restart mariadb.
  • Disk full: clean up. Likely culprits: /var/spool/asterisk/voicemail/, /var/spool/asterisk/monitor/, /var/log/asterisk/full*. See Disk Full / System Slow.
  • PHP timeout: edit /etc/php.ini or the relevant php-fpm pool config — bump max_execution_time to 300, restart PHP/Apache.

Recovery from a totally stuck reload

fwconsole stop
fwconsole start
# Or hard restart:
fwconsole restart

When to Escalate

Apply Config errors with a stack trace pointing at a vendor module. Roll back via backup; open a ticket with Sangoma (or for UnifiedBX-specific modules, with WTG).