Any wayto upgrade a freepbx 16 to 17?

I was looking at the backup tab under admin on my freepbx 16 version on another computer and I am not too sure what to do here, I see it backups all the modules, would that be good for a restore to freepbx 17? Also, I don’t know what other files to back up, maybe this is why I have never done it this way. So, what would be a complete backup that I could restore to the 17?

I don’t know how to say more, the standard backup works for most, if you where half way clever, then there might be other things, but then you would know

OK, so I did a default backup, but it never backed up the asterisk database --how do I enable that? Do, I have to take a dump and just restore the dump, or what?

This appears to be a bug in the installer. I played around with the libraries a bit yesterday but couldn’t get anywhere with it. This will need to be resolved if FreePBX gets a versionupgrade module that uses the open source scripts (as opposed to just updating packages with apt). You can uninstall php 8.2 and reinstall 7.4 to get your system back in order if you want to run the backup module and take a proper backup. Then build the system fresh with FreePBX 17 either using the install script (this does work if there’s not a FreePBX16 system already in place) or using the distro install script. And finally restore your backup to it.

thats not something we support , the only supported method to get to 17 will be a backup and restore - a backup from your 16 system restored to your new fresh install of 17

If they are already using Debian they should not have to resort to that. Starting from scratch is not always the most practical solution.

I have another system with freepbx 16 and I did a backup on that one, but it seems not to backup the asterisk database – i Have lots of things like things in the contact manager that I need on the freepbx 17, so how can I do this? Just take a mariadb-dump and restore, or what?

And thanks forr working on this one.

Really? there has been a versionupgrade module published for major versions going back as far as I can remember, even with 15 to 16 which included a PHP version change.

Correct me if I am wrong but wasn’t that only an option for going from an older version of a supported ISO installation of Sangoma OS to a newer one? There isn’t a way to upgrade from CentOS to Debian without reinstall.

No, it used to work on open-source-installed versions too.

Huh, ok did not know that.

But in this case would have saved 4 days (and counting)

none that we support with 17 , we did have in place upgrades in the past

the only supported method with 17 is a standard freepbx backup followed by the standard freepbx restore on the 17 system … thats it

Again, what do I do to backup the asterisk database and restore it to 17? There is lots in there that is not in the modules.

Each module backs up its own database table.

So, for instance, I have lots in the contact manager, will that be backed up and restored to the new install?

Yes, sorry for asking but why don’t you just try this and see?

OK, I will try this and see what happens.

Thanks to everryone forr your help.

OK, so, I did a nnew install followed by an upgradeall from the console. Then I went to settings and created a filestore location. I then went to admin, restore backup, but it would not let me upload any file to restore. Then I tried to add a backup in the backup tab and I got the following exception:

JsonException thrown with message “Syntax error”

#5 JsonException in /var/www/html/admin/modules/backup/Json/json_decode.php:7
#4 FreePBX\modules\Backup\Json\json_decode in /var/www/html/admin/modules/backup/Backup.class.php:1182
#3 FreePBX\modules\Backup:updateBackup in /var/www/html/admin/modules/backup/Backup.class.php:164
#2 FreePBX\modules\Backup:doConfigPageInit in /var/www/html/admin/libraries/BMO/GuiHooks.class.php:292
#1 FreePBX\GuiHooks:doBMOConfigPage in /var/www/html/admin/libraries/BMO/GuiHooks.class.php:253
#0 FreePBX\GuiHooks:doConfigPageInits in /var/www/html/admin/config.php:449


namespace FreePBX\modules\Backup\Json;
function json_decode($json, $assoc = false, $depth = 512, $options = 0) {
    $data = \json_decode($json, $assoc, $depth, $options);
    if (JSON_ERROR_NONE !== json_last_error()) {
        throw new \JsonException(json_last_error_msg(),json_last_error());
    return $data;


"Syntax error"