Error when Applying Config

On a Freepbx 15 system, whenever I click Apply Config it says There was an error during reload: Unknown Error. Please Run: fwconsole reload --verbose

When I run that I get this:

Reload Started

In Voicemail.class.php line 463:

Null value was sent to saveVoicemail() can not continue

Exception trace:
() at /var/www/html/admin/modules/voicemail/Voicemail.class.php:463
FreePBX\modules\Voicemail->saveVoicemail() at /var/www/html/admin/modules/voicemail/Voicemail.class.php:1641
FreePBX\modules\Voicemail->doDialplanHook() at /var/www/html/admin/libraries/BMO/DialplanHooks.class.php:107
FreePBX\DialplanHooks->processHooks() at /var/www/html/admin/libraries/Console/Reload.class.php:318
FreePBX\Console\Command\Reload->reload() at /var/www/html/admin/libraries/Console/Reload.class.php:91
FreePBX\Console\Command\Reload->execute() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Command/Command.php:255
Symfony\Component\Console\Command\Command->run() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:960
Symfony\Component\Console\Application->doRunCommand() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:255
Symfony\Component\Console\Application->doRun() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:148
Symfony\Component\Console\Application->run() at /var/lib/asterisk/bin/fwconsole:163

reload [–json] [–dry-run] [–skip-registry-checks] [–dont-reload-asterisk]

The modules are up to date, I restarted the system and reinstalled voicemail and core modules.
Under Ring Groups, Destination if no answer, there is no longer an option for Voicemail.

What’s the next step?

Check to see if there is any file corruption or stray odd characters in the file /etc/asterisk/voicemail.conf

The voicemail.conf file is 0kb in size and contains no text or characters at all.

The voicemail.conf file can’t be empty, hinting at file corruption or some other systemic issue. Is this a new install?

No, it’s been running for over 5 years. How do I get the voicemail.conf file regenerated to have the proper settings?

Ideally you have a recent backup that you can get it from, otherwise I’m not aware of a way. You can reinstall framework and then try resubmitting all extensions, but genuinely don’t know if that’s enough. Most of the voicemail settings are not stored in sql, so the voicemail.conf file is important.

Unless this is user error where the file was moved/removed accidentally, or you otherwise know what happened, I would expect possibly other files to be affected.

No one else was in the pbx as far as I know. I had monthly backups back to feb and I restored each one with no change. Does the system need restarted or anything for the restore to complete?

I’m now getting a disk full error…

If you are not protecting your server

is always a good start

It might not be the only file missing and/or mangled but you can look at the .tgz file from the backup and retrieve the voicemail.conf from it. After a reload the voicemails’s configs should be there.

I found and old backup from 2019, extracted the vociemail.conf file from there then was able to replace it. I can now apply config but under Ring groups I still don’t have the option to set Voicemail as the destination. I restarted the pbx with no change.

Think I got it figured out. The old backup must have been before email was setup. I checked voicemail admin and voicemail was disabled for all extensions. I enabled it for 2 extensions and now the ring group destination if no answer is set to Voicemail.