FreePBX 16 Beta is Here
By Lorne Gaetz
Hello Everyone. We are pleased to announce the launch of our first public beta release for FreePBX 16. FreePBX 16 beta incorporates a number of new features and improvements over the current version, which will be highlighted below.
A Word About the ‘Beta’ Label
New stuff is fun, but important information can get lost in the excitement. Before we get to the specifics, a quick caution that the term “beta” indicates that this software has not been fully tested and will continue to receive updates and fixes as the beta period progresses over the coming weeks and months. At this time the FreePBX 16 beta is released for testing and for development purposes, but is not yet suitable for production use under normal circumstances.
The most broadly impacting change for 16 is that the FreePBX project now officially supports PHP 7.4 for every supported module. This touches all areas of FreePBX from OSS modules, to Commercial Modules, to the FreePBX ISO, to security to performance.
Migrating the code base from PHP 5 to PHP 7.4 represents an evolutionary shift for the project, with efforts from the FreePBX community, from FreePBX engineering and particularly from the FreePBX QA team. Quality Assurance did an amazing job of uncovering a lot of issues, but are still working toward confirmation that all modules are working fine in PHP 7.4/FreePBX 16.0. Likewise, a huge thanks goes out to many in the FreePBX community, who have for years identified PHP 7 issues and contributed code fixes to the open source modules.
New Features & Improvements
In addition to the PHP migration, a number of improvements and features come with FreePBX 16. With this release, the FreePBX project has tried something a bit different from previous versions. Some of the new 16 features have been backported to FreePBX 15 where it was feasible to do so. Those who have been following product announcements closely will already be familiar with a lot of what is coming. New features break down roughly into three categories, Open Source Improvements, Security Improvements, and Commercial Module improvements.
Open Source Improvements, Changes & Features
GraphQL – Overall Improvement to the API module has been a primary focus for 16. Over the last several months, new GraphQL API methods have been added almost weekly, such that now it is pretty much possible to provision many aspects of a new FreePBX instance as a VM, perform an initial setup of the system, and create new extensions entirely using the API. As more and more API methods are added, they will be documented in the wiki here, so that’s the resource to watch if you want to keep up to date with changes to the module.
SIP Driver – Starting in FreePBX 16, the chan_sip driver is disabled by default. It can be enabled post install in Advanced Settings for those that still need it. This is due to the fact that the Asterisk project has deprecated support for chan_sip in favor of the new and improved chan_pjsip.
UCP User Templates – By popular demand, a UCP user template feature was identified early in the 16 planning process to be included. At the point of this announcement, it is still a work still in progress, but will be published as the beta period progresses.
As part of the emphasis for release 16, we have prioritized security generally and chose a number of outstanding community requests for inclusion. Many have been backported to 15 in the months leading up to this release:
Firewall Intrusion Detection – A major overhaul of the Firewall module sees better integration between System Admin Intrusion Detection and the Firewall module. A single whitelist can be used for both and all system security config is centralized in a single place.
Responsive Firewall Adjustable Thresholds – The responsive firewall packet count thresholds are now exposed in the GUI to allow Admins to tweak settings as they require.
HTTPS Redirect – When setting up Apache port config, the FreePBX Admin can now selectively force redirect from HTTP to HTTPS for each service.
SSL Protocol Config – When configuring HTTPS, the FreePBX Admin can enable/disable individual ssl protocols directly from the GUI.
AMI bindaddr – By default in FreePBX 16, the Asterisk Manager Interface (AMI) is bound to localhost. This should generally not impact most people, but if you have a custom AMI application that needs to remotely access Asterisk’s AMI interface, this may be something to be aware of.
UCP Password Validation – The User Management module now has password rules that the FreePBX Admin can configure to enforce UCP password complexity for users when defining passwords. The UCP login page has new tweaks for mitigation against brute forcing attempts.
Commercial Module Improvements
As a requirement of the change to PHP7, ionCube, a new obfuscation engine for commercial modules is being used, which in turn required changes to back end licensing servers. This should be mostly an under the hood change from a user perspective but it was necessary to get commercial modules and licensing moved forward to PHP7.
Additionally, the Sangoma CRM module has been updated to integrate neatly with Zapier, a project which is in beta now.
The Endpoint Manager module has also received and continues to receive improvements to fully support Sangoma D and P series DPMA phones.
The FreePBX Distro
Our plan for FreePBX 16 was to release it together with a new SNG8 distro based on the CentOS 8 project. Indeed we said as much at Astricon last fall, but shortly after that the CentOS project abruptly announced a significant departure with how Centos 8 would be managed. And so, with the uncertainty surrounding the Centos 8 project, we are releasing FreePBX 16 Disto ISO based on the well established SNG7 platform, which still has several years of upstream maintenance and support. We shall continue work on the successor to SNG7, and expect to have an announcement later in the year.
The FreePBX 16 beta release is a first step for the community to kick the tires. We want as many people as possible to spin up a system and report their findings. There are a lot of modules and features in FreePBX, with endless combinations, so it’s extraordinarily difficult for us to cover every single piece to confirm it’s working properly with PHP 7.4. We encourage everyone to give this 16.0 beta release a try and provide feedback so that we can continue to improve.
Please provide feedback by raising issues on our open source bug tracking system for open source modules or in a commercial module support ticket for commercial modules. You may also submit feature requests or improvements to improve this release further.
We will maintain a list of FreePBX 16 beta FAQs here:
Thank you for using FreePBX!
– The FreePBX Team