FreePBX 15 – Backup and Restore Rewrite

First, some history: we started development of the new backup and restore system in mid 2017. Some of the goals of that effort were to redesign the feature to allow for more simplicity, flexibility, and maintainability.

Some of the major reasons it was decided to rewrite include:
– There was no choice for backup on a per module basis.
– There was no option to restore the backup from an older version to a newer version.
– No choice of restoring only a particular module.

The redesign ended up being a new concept/structure of taking backup from the way it used to be. Each module handles its own backup and restore. This makes the QA process more complicated due to having to test each and every module and many combinations of modules.

New Backup & Restore functionality:

The new backup and restore functionality in Freepbx 15 is very simple and easy. Each module handles its own backup and restore implementation. It allows you to do backups per module – and 15 backup does only the data backup so it is very lightweight. Prior to 15, backup could potentially include not just configuration files and database information, but also could include FreePBX PHP files and other similar unnecessary additional program related data (depending on how a user constructed their backup templates). In FreePBX 15, we have also removed the backup templates concept from backup and restore to make the backup data selection process more simple and clear for users. We decided that the previous template system was overly complicated for what it was intended to do. If someone is not familiar with the details of which underlying applications and modules needed to be backed up, it was challenging to figure out how to properly construct a template for some particular part of the system. The new system simplifies the module selection interface and it allows you to restore any particular module from a full backup. So if users would like to backup or restore only one particular module, the new interface allows users to easily do so.

FreePBX 15 backup also allows you to restore from legacy backups. This means that people can take a backup from an older version of FreePBX (specifically versions 13 and 14) and restore to a FreePBX 15 system. This makes it easy for the users of FreePBX to migrate from older versions to a new or more current major version of FreePBX.

Backup storage options are now handled in the Filestore module which offers more options on where to store your backups. These options include local storage, remote FTP, SSH/SCP, Amazon’s S3, Email, and Dropbox.

As previously mentioned, due to the scope and complexity of these efforts, it required a much longer QA cycle to make sure it was ready to go (or ready enough). That being said, we hope it to be a lot more “baked” at release time than it would have been otherwise.

We hope you all are able to enjoy and try this new functionality out. As always, for any issues that are found, feel free to open a bug at

Philip Joseph

FreePBX 15 Release Candidate Announcement

Hey All,

Before I get down to business, I’d like to introduce myself to you, as I don’t think I’ve had an opportunity to do so. My name is Matthew Fredrickson, and I’m the new FreePBX project lead at Sangoma. I began working at Sangoma as a part of the Digium acquisition and have had the role of Asterisk project lead for the last few years. After Andrew decided to leave Sangoma, the leadership at Sangoma asked me if I would be willing to step in and work with the many great developers and community members of FreePBX in addition to those of the Asterisk project. Taking on that mantle from Andrew has been no small undertaking, but has been an enjoyable opportunity for me to grow as well.

My background in telecommunications started in 2001 when Mark Spencer asked me to work for him doing open source software development with Asterisk. Over the years, I’ve had the opportunity to do extensive work on DAHDI, Asterisk, and many of Digium’s traditional telephony products. The acquisition by Sangoma allowed both Digium’s and Sangoma’s world class teams to come together and try to improve our part of the telecom industry in a more synergistic way.

All that being said, my goal today is not to go extensively into my own past, but to write about the present. Today, we’d like to announce that the FreePBX 15 branch is graduating from beta into a release candidate phase. This is the final step that will take place prior to an official FreePBX 15 release. The goal is to have an approximately 4 week period in the release candidate phase and have all major issues and regressions resolved by the end of the month, at around Astricon time (Oct 28-Oct 30 or so). So for those of you who like to test new releases, please do your best to test things in the FreePBX 15 branch so that we can get as many pesky bugs knocked out as possible prior to a final release.

In conclusion, I want to thank all of you that contribute regularly to the FreePBX project – whether it be in the forums answering questions, doing code level contributions, or all the many other ways there are to directly and indirectly contribute. I have learned in my work with the Asterisk project that it takes a lot of time and effort from not just one, but many individuals to help make all the parts of an open source project to run smoothly.

Also, be on the lookout over the next few weeks for a few blog posts editorializing some of the new features in FreePBX 15.

Happy testing to you all, and best wishes!

Matthew Fredrickson