# FreePBX

FreePBX is a web-based open-source graphical user interface (GUI) that manages Asterisk, a voice over IP (VoIP) and telephony server.
FreePBX is licensed under the GNU General Public License version 3, with commercial modules available under their own licenses.
FreePBX is a component of the now discontinued FreePBX Distro, released by the FreePBX project, which was a maintained Linux system derived from the source code of the CentOS distribution with all components needed, including Asterisk, pre-installed and released as a turnkey distribution.
FreePBX is included in other open source distributions such as AsteriskNOW, Elastix and RasPBX. PBXact is a commercially supported offering from Sangoma that is based on FreePBX.
FreePBX is maintained by a community of developers and contributors using the GitHub platform. The slogan for FreePBX is "Let Freedom Ring". The mascot for FreePBX, as seen in the logo, is Tango the frog.

## History

FreePBX was initially released as the Asterisk Management Portal (AMP), version 1.10.002. This was originally created by Coalescent Systems and was a simple database that wrote configuration files for Asterisk to use.
The project was renamed to freePBX (later FreePBX) at version 2.0 for trademark reasons, as Asterisk was a registered trademark of the Digium corporation at the time (Digium is now also a subsidiary of Sangoma Technologies Corporation).
FreePBX was acquired by Schmooze Com Inc on February 22, 2013.
Schmooze Com Inc was acquired by Sangoma Technologies Corporation on Jan 2, 2015.

## Installation

FreePBX 17 is officially supported on Debian Linux. It is installed by using a bash script downloaded from the website on a freshly installed copy of Debian 12. The script installs all of the necessary prerequisites needed for FreePBX to run, including Asterisk. The software is also offered stand-alone and can be installed on a Linux distribution of choice, however, this requires installing all the prerequisites and Asterisk manually.
FreePBX up to version 16 can be installed as stand-alone software or as part of the pre-configured FreePBX Distro that includes the CentOS Linux operating system, the Asterisk PBX, FreePBX and necessary prerequisites. Due to CentOS Linux being discontinued and the last supported version of CentOS 7 going out of support on June 30, 2024, FreePBX will no longer be providing a pre-configured FreePBX Distro. In-place upgrade/migration is not possible, but can be achieved by restoring a backup on the new version from the previous version. This move allows FreePBX to be run on a modern, secure and supported operating system. FreePBX 16 will be supported until the release of FreePBX 18 - FreePBX on this distribution will still work and be supported, however, there will be no further support for the underlying operating system.

## Development

FreePBX is written in PHP, JavaScript and shell script and uses the LAMP stack. New releases of Asterisk have been accommodated by various updates to FreePBX. Updates have included new modules and support for additional capabilities such as voicemail, calling queues, fax, multiple languages, DAHDI and a local user directory.
FreePBX maintain the currently released version and the previous release behind this. When a new version is released, the oldest supported version becomes end of life at the same time.

## Version History

AMP Version History :
| Version | Release Date | Features |
| 1.10.002 | 2004-10-15 | Initial release as Asterisk Management Portal (AMP) See release notes for features |
| 1.10.003 | 2004-10-27 | See release notes for features |
| 1.10.003a | 2004-10-29 | See release notes for features |
| 1.10.004 | 2004-12-22 | See release notes for features |
| 1.10.005 | 2004-12-28 | See release notes for features |
| 1.10.006 | 2005-01-26 | See release notes for features |
| 1.10.007 | 2005-03-28 | See release notes for features |
| 1.10.007a | 2005-03-28 | See release notes for features |
| 1.10.008 | 2005-05-25 | See release notes for features |
| 1.10.009 | 2005-09-09 | See release notes for features |
| 1.10.010 | 2005-11-18 | Final AMP release See release notes for features |
| Legend: Older version, unsupported |||
FreePBX Version History :
| Version | Release Date | Features |
| 2.0.0 | 2006-03-17 | Initial release as FreePBX See release notes for features |
| 2.0.1 | 2006-03-17 | See release notes for features |
| 2.1.0 | 2006-05-15 | See release notes for features |
| 2.1.1 | 2006-05-30 | See release notes for features |
| 2.1.2 | 2006-09-14 | See release notes for features |
| 2.1.3 | 2006-09-25 | See release notes for features |
| 2.2.0 | 2007-01-05 | See release notes for features |
| 2.2.1 | 2007-02-06 | See release notes for features |
| 2.2.2 | 2007-06-08 | See release notes for features |
| 2.2.3 | 2007-07-18 | See release notes for features. |
| 2.3.0 | 2007-08-24 | See release notes for features |
| 2.3.1 | 2007-10-22 | See release notes for features |
| 2.4.0 | 2008-02-10 | Support for Asterisk 1.2, 1.4 and 1.6 New Language, Voicemail Blast Group and Custom Apps modules Improvements to Paging and Intercom, Queues, Zap Channel Inbound and Device and User modules DUNDI trunk support New system wide extension and destination registry Added call confirmation to Follow-Me and Ring Groups |
| 2.5 | 2008-09-19 | See milestone for features |
| 2.6 | 2009-10-27 | Added 'extended' module repository New Asterisk SIP Settings, Asterisk IAX Settings, Outbound Route Messages, Phone Restart and Weak Password Check modules Improvements to Queue, Print Extensions, Paging and Extension/User modules New Virtual Extensions New PHP dependencies for modules Updates to Flash Operator Panel (FOP) and Java SSH module Added SIPSTATION module and support |
| 2.7 | 2010-03-01 | New Fax module and improvements to underlying fax mechanism Added Fax For Asterisk (FFA) support Improvements to Queues, Backup, Outbound Routes, Follow Me, Ring Groups, Trunks and Conferences module |
| 2.8 | 2010-07-13 | Support for Asterisk 1.4 and 1.6+ Combined macro-dial and dialparties.agi into macro-dial-one Improvements to Outbound Routing and Trunk modules Native DAHDI support Added Real Company Directory module |
| 2.9 | 2011-05-08 | Support for Asterisk 1.4, 1.6.2 and 1.8 Architectural enhancements Added Endpoint Management and DAHDI module Improvements to Extensions, Feature Codes, Queues and Voicemail modules |
| 2.10 | 2012-02-29 | Support for Asterisk 1.6, 1.8 and 1.10 Requires PHP 5 Architectural enhancements Improvements to Call Parking, Backup & Restore, IVR, Paging and Phonebook modules Google Voice support in Trunks module |
| 2.11 | 2013-05-14 | Adds support for Asterisk 11 Destination popOvers Improvements to Module Admin - added security auditing capability, Outbound Route and Trunk Added Extension Routin, Hotel Wakeup Call and CallerID Superfecta module Chan Motif Module (Google Voice enabler) |
| 12 | 2014-10-30 | Moved to single version number Adds support for Asterisk 12 & 13 New User Control Panel New dashboard Improvements to Module Admin HTML5 playback in CDR Reports Direct parking slot supporting in Parking module Secure Module Signing PJSIP Support |
| 13 | 2016-01-06 | Expanded localization support for audio and sound files HTML5 sound playback Adds responsive GUI New Call Event Logging (CEL) Reports, Sound Language and VPN Configuration modules amportal deprecated, new fwconsole CLI system management Bulk extensions and Bulk DIDs merged into Bulk Handler module Depricated CampOn module New global search option |
| 14 | 2017-08-02 | PHP 5.6 support Automatic system and modules update System updates via System Admin module Globalization and localization improvements New calendar module User Control Panel redesign XMPP improvements Multiple and improved directory support in User Manager, including LDAP and Active Directory Updated NodeJS and python libraries |
| 15 | 2019-10-31 | Adds a new REST and GraphQL API Adds a rebuilt backup module and a new Filestore module |
| 16 | 2021-10-31 | PHP 7.4 support Additions to the GraphQL API Defaults to PJSIP User Control Panel templates New firewell module and intrusion detection features HTTPS redirects SSL protocol config AMI bindaddr User Control Panel password validation Support up to Asterisk 20 due to no Asterisk GoSub support |
| 17 | 2024-08-02 | Move from CentOS base to Debian Linux base Defaults to Asterisk 21 Move from Asterisk Macro to GoSub & chan_sip removal allowing support for Asterisk =>21 Cloud-friendly deployment PHP 8.2 support Updated NodeJS and front end libraries |
| Legend: Older version, unsupported Older version, still supported Latest version Preview version |||

## Hardware support

FreePBX supports numerous hardware manufacturers, including Algo, AND, AudioCodes, Cisco, Cyberdata, Digium, Grandstream, Mitel/Aastra, Nortel/Avaya, Panasonic, Polycom, Sangoma, Snom, Xorcom and Yealink [zh]. FreePBX developers estimate the distro has been deployed in millions of active PBX systems in over 220 countries and territories.
When Digium took over the Asterisk project, they released a series of SIP phones that tightly integrate with FreePBX, including provisioning support and apps. Since both FreePBX and Digium were acquired by Sangoma, Sangoma have released a number of SIP phones that tightly integrate with FreePBX.
Sangoma have also released certified appliances to run FreePBX. These are custom computer servers already configured with FreePBX. They are rated by the concurrent amount of calls the appliance can handle at once.