FreePBX
FreePBX is an open-source, web-based graphical user interface (GUI) designed for managing and configuring Asterisk, a leading open-source framework for building communications applications, particularly private branch exchange (PBX) systems for voice over IP (VoIP) telephony.[1] It simplifies the deployment and customization of scalable phone systems by providing an intuitive dashboard, modules for features like call routing, voicemail, and conferencing, and support for extensions such as SIP trunks and IP phones.[2] Originally developed in 2004 by Coalescent Systems as the Asterisk Management Portal (AMP), FreePBX evolved from a basic tool for generating Asterisk configuration files into a comprehensive platform with extensive database support.[3] The project gained traction as the world's most popular open-source IP PBX solution, powering millions of installations globally and enabling businesses to create tailored unified communications systems on any budget.[2] Key milestones include its rebranding to FreePBX, the introduction of FreePBX 12 with enhanced features like PJSIP support and a User Control Panel, the release of FreePBX 17 in 2025 featuring Debian support, and ongoing active development driven by a global community of contributors.[3][4] Ownership transitioned in the early 2010s when Schmooze Communications acquired the trademarks and copyrights, fostering rapid growth with a 185% increase in code commits and 160% rise in external contributions within a year.[3] In 2015, Sangoma Technologies further bolstered the project by acquiring Schmooze, integrating FreePBX into its portfolio of VoIP hardware and software solutions while maintaining its open-source ethos.[3][5] Today, FreePBX remains completely free for core use, with optional commercial add-ons and modules—such as contact center tools and security enhancements—available to extend functionality for small to medium-sized enterprises.[6] Its compatibility with Asterisk versions, high customization options, and robust community support ensure it remains a cornerstone for cost-effective, flexible telephony deployments worldwide.[7]Overview
Description
FreePBX is a web-based, open-source graphical user interface (GUI) designed for managing Asterisk, an open-source private branch exchange (PBX) software used in voice over IP (VoIP) and telephony applications.[2][8] It serves as a comprehensive management tool that simplifies the configuration and administration of IP PBX systems, enabling users to handle telephony services without direct interaction with underlying command-line interfaces.[9] The primary use cases of FreePBX revolve around building and maintaining IP PBX systems for VoIP communications, including features such as call routing, extension management, and conferencing capabilities.[2] Through its intuitive browser-based dashboard, FreePBX abstracts the complexity of Asterisk's command-line operations, allowing non-experts like small business owners or IT administrators to easily set up and customize telephony features for internal and external calls.[10] This integration with Asterisk provides a unified platform for deploying scalable voice solutions tailored to organizational needs.[11] As of 2025, FreePBX remains actively maintained by Sangoma Technologies, which acts as its primary developer and sponsor, ensuring ongoing updates and community support.[1] It holds the distinction of being the world's most popular open-source IP PBX GUI, with millions of active installations worldwide and a vibrant developer community contributing to its evolution.[12][2]Key Features
FreePBX provides robust core telephony features through its web-based graphical user interface (GUI), enabling administrators to manage extensions without command-line access. Extension management allows for the creation of unlimited user extensions, each configurable with parameters such as caller ID, device associations, and call permissions, supporting both SIP and PJSIP protocols for seamless integration with IP phones. Inbound and outbound call routing is handled via dedicated modules, where inbound routes direct calls based on DID numbers or patterns to destinations like extensions, IVRs, or ring groups, while outbound routes apply dial patterns, trunk selection, and prefix rules to control call egress. Interactive voice response (IVR) systems enable customizable menus for callers, allowing time-based routing, keypress navigation, and integration with announcements or queues to enhance caller experience. Voicemail functionality includes per-extension storage with email notifications for new messages, supporting audio formats like WAV and options for unified messaging access via phone or web. Call recording is enabled system-wide or per-extension through Asterisk integration, capturing audio in real-time with options for one-party or full-duplex recording stored in accessible directories. Three-way calling is facilitated by the built-in conference bridge, permitting ad-hoc or scheduled multi-party calls with participant controls for muting and adding lines. Administrative tools in FreePBX streamline operations with user roles and permissions managed via the User Control Panel (UCP), where administrators can assign granular access levels to modules, extensions, and features for different user groups, ensuring secure delegation without full admin rights. Backup and restore capabilities are provided through the dedicated module, allowing scheduled full-system or selective backups of configurations, databases, and recordings to local or remote storage, with straightforward restoration processes to recover from failures or migrate setups. System monitoring is available via the Dashboard module, offering real-time views of CPU, memory, disk usage, active calls, and network traffic through intuitive graphs and alerts. Basic reporting on call logs is generated from the Call Detail Records (CDR), providing summaries of call duration, direction, and costs, exportable in CSV for analysis. Security basics are addressed with built-in firewall configuration via the Responsive Firewall module, which dynamically blocks suspicious IP addresses after detecting failed login attempts or scan patterns, supporting whitelisting for trusted networks and integration with fail2ban for enhanced protection. Failover options for high availability include support for clustered setups where a secondary server mirrors the primary, automatically assuming operations via floating IP addresses in case of hardware or software failure. In terms of unified communications, FreePBX supports softphones through standard SIP registration, compatible with applications like Zoiper or Linphone for remote audio and video calling from desktops or mobiles. Paging features enable one-way announcements to groups of extensions using the Paging module, ideal for overhead broadcasts or intercom-style notifications. Core hooks allow integration with CRM systems via add-ons for call logging and screen pops, extending telephony data to external platforms.History
Founding and Early Years
FreePBX originated on October 15, 2004, when it was launched as the Asterisk Management Portal (AMP), a web-based graphical user interface developed by Coalescent Systems Inc.[13][3] The project addressed a critical gap in the emerging open-source Voice over IP (VoIP) ecosystem by simplifying the complex command-line configuration of Asterisk, the foundational open-source PBX software, thereby enabling non-technical users to manage telephony systems more easily.[3] Shortly after its debut, AMP was renamed FreePBX to better reflect its commitment to open-source principles and to avoid potential trademark issues. Early development focused on core functionality, with the first major releases in the 2.x series appearing in the mid-2000s, such as version 2.2.1 in 2007, which incorporated bug fixes and enhancements for better stability.[14] These versions integrated seamlessly with early Asterisk releases, like 1.2 and 1.4, and fostered community-driven growth through online forums where users shared configurations, reported issues, and contributed code improvements.[15] Throughout its formative period from 2004 to 2012, FreePBX depended largely on volunteer developers from the broader Asterisk community, which sustained its evolution amid the resource constraints common to open-source telephony initiatives. Funding challenges in this niche, including limited commercial support and reliance on donations, strained development efforts around 2008–2012, prompting a gradual transition toward structured backing to ensure long-term viability.[16][15]Acquisitions and Growth
In February 2013, Schmooze Com Inc. acquired the FreePBX trademark and the SIPSTATION service, marking a pivotal shift toward professionalized development for the open-source PBX platform. This acquisition, announced on February 22, provided dedicated resources to enhance FreePBX's core codebase, which had previously relied heavily on community contributions. By integrating SIPSTATION—a SIP trunking service—Schmooze enabled seamless connectivity options within FreePBX, streamlining deployment for users and fostering early commercial viability.[17] On January 2, 2015, Sangoma Technologies Corporation acquired Schmooze Com Inc., thereby gaining control of FreePBX and its associated assets, including the SIPSTATION integration. This merger combined FreePBX's software expertise with Sangoma's established portfolio of VoIP hardware, such as IP phones and gateways, and its deep involvement in the Asterisk ecosystem, resulting in improved support structures and hardware-software synergies. The acquisition positioned FreePBX for broader scalability, as Sangoma's resources accelerated feature development and certification programs tailored for enterprise environments.[18][19] Sangoma further consolidated its open-source communications leadership in 2018 by acquiring Digium, the original creators of Asterisk, for $28 million, with the deal closing on September 5. This integration unified development efforts across FreePBX, Asterisk, and Digium's Switchvox platform, enabling streamlined innovation and the creation of commercial modules that extend FreePBX's functionality for advanced routing, security, and analytics. By bringing these technologies under one umbrella, Sangoma enhanced interoperability and reduced fragmentation in the PBX market.[20][21] These acquisitions propelled FreePBX's growth from a niche community tool to a globally recognized enterprise solution, with Sangoma's backing driving increased adoption among businesses seeking customizable VoIP systems. By 2025, FreePBX had evolved into a cornerstone of Sangoma's unified communications (UC) platform, incorporating cloud hosting options like PBXact Cloud for managed, scalable deployments on infrastructure such as AWS. This expansion supported hybrid and cloud-based UCaaS models, earning Sangoma repeated recognition in industry analyses for its reliable, open-source-driven communications offerings.[22][23][24]Architecture and Components
Relationship with Asterisk
FreePBX serves as a graphical user interface (GUI) that controls and manages Asterisk, an open-source software framework for building communications applications, functioning as the underlying PBX engine responsible for executing VoIP protocols and call handling.[25][26] Asterisk supports key protocols such as SIP (Session Initiation Protocol) for general VoIP signaling, IAX (Inter-Asterisk eXchange) for efficient trunking between Asterisk servers, and PJSIP as a modern SIP implementation using the PJSIP stack, enabling FreePBX to facilitate features like voice calls, video, and messaging over IP networks. FreePBX stores all configurations in a MySQL/MariaDB relational database named 'asterisk', which the GUI interacts with to manage settings. At its core, the integration between FreePBX and Asterisk involves FreePBX generating essential configuration files for Asterisk from the database, such as extensions.conf for dialplan logic and pjsip.conf for endpoint and trunk settings using the PJSIP channel driver (chan_pjsip), which Asterisk then parses to handle actual call routing, media streams, and channel operations.[27] This process abstracts the complexity of manual Asterisk configuration, allowing users to define extensions, routes, and features through the FreePBX web interface instead of directly editing text-based files. FreePBX requires a compatible Asterisk version to ensure seamless operation; for instance, as of 2025 setups, FreePBX 17 supports Asterisk 21 (EOL October 2026) and Asterisk 22 (EOL October 2029), providing long-term stability for the latter.[28][29] In typical workflows, changes made via the FreePBX GUI—such as adding extensions or modifying trunks—update the database and, upon applying configurations, trigger the generation of updated configuration files stored in directories like /etc/asterisk/, followed by a reload of relevant Asterisk modules (e.g., via commands like "core reload" or "module reload chan_pjsip") without requiring direct command-line interface (CLI) access or full service restarts.[30] This mechanism handles dialplans through FreePBX's abstraction layer, which translates GUI inputs into Asterisk-compatible syntax for contexts, extensions, and priorities, while channel drivers like chan_pjsip manage protocol-specific interactions. Note that the legacy chan_sip driver and sip.conf were removed in Asterisk 21 and are not supported in current FreePBX deployments.[31] Compared to standalone Asterisk installations, where administrators manually craft and maintain configuration files for full control, FreePBX introduces abstraction layers to simplify administration for non-experts but can limit low-level customizations, as GUI-applied changes may overwrite manual edits in core files unless users bypass the system by editing additional.conf files or using custom contexts.[32] This design prioritizes ease of use and scalability for small to medium-sized deployments while preserving Asterisk's flexibility for advanced scenarios through optional direct access.[33]Modules and Extensibility
FreePBX employs a modular plugin architecture that enables users to extend its graphical user interface (GUI) for managing Asterisk-based PBX systems. This design allows modules to integrate seamlessly, adding new features such as user interfaces, configuration options, and integrations without modifying the core codebase. Modules are primarily developed in PHP and JavaScript, with hooks for interacting with Asterisk via its Application Gateway Interface (AGI). For instance, the User Control Panel (UCP) module provides a web-based portal for end-users to manage personal settings like call history and voicemail, while the Endpoint Manager module facilitates centralized provisioning and configuration of VoIP devices across multiple brands.[33][34][35] The core FreePBX distribution includes several open-source modules that enhance basic functionality, available through the official GitHub repository for community review and contributions. Examples include the Fax module, which adds GUI-based configuration for inbound and outbound fax handling using Asterisk's fax capabilities, and the Bulk Handler module, which supports importing and exporting configurations for extensions, trunks, and other elements via CSV files to streamline large-scale deployments. Community developers contribute custom integrations and enhancements via GitHub pull requests, enabling tailored solutions like API hooks or third-party service connectors while maintaining compatibility with FreePBX updates.[36][37] Sangoma offers a range of commercial modules that require licensing for advanced features, accessible after system registration and purchase through their portal. These include the Hotel PBX module (also known as Sangoma Property Manager), designed for hospitality environments to handle room-specific call routing and check-in/out processes; the RestAPI module, which exposes FreePBX functions via a secure API for external application integration; and CRM integrations such as Scribe AI, which provides automated transcription of call recordings for analysis and linkage to customer relationship management systems. These modules extend the platform's utility for enterprise use cases, with licenses available in one-year or perpetual formats.[6][38] Extensibility is further supported through the creation of custom modules, leveraging FreePBX's module generator tool to scaffold PHP-based components that interact with Asterisk AGI for dynamic call handling. Developers can build specialized features, such as advanced call center queue management with custom routing logic or enhanced reporting dashboards that aggregate CDR data, all while preserving the system's upgradability. This approach ensures that extensions remain isolated from core changes, promoting long-term maintainability.Installation and Configuration
System Requirements
FreePBX system requirements encompass hardware, software, and network prerequisites to ensure reliable operation of this open-source IP PBX platform. These specifications vary based on deployment scale, such as the number of extensions and concurrent calls, but guidelines from official documentation and community resources provide baselines for setup feasibility.[39][40] For hardware, basic installations supporting small setups (up to 20 concurrent calls) typically require a dual-core CPU at 2 GHz or higher, 4 GB of RAM, and at least 40 GB of storage, with additional space allocated for call recordings and logs. Larger deployments handling 100 or more extensions scale to 8 GB or greater RAM, quad-core processors, and 160 GB or more storage to manage increased load without performance degradation. SSD storage is recommended for production environments to enhance I/O performance, though traditional HDDs suffice for minimal configurations.[41][42][43] Software prerequisites center on a compatible Linux distribution, with Debian 12 serving as the officially supported operating system for FreePBX 17 as of 2025. Essential components include Asterisk 21 or later, with version 22 as the default since early 2025, for core telephony functionality, PHP 8.2 for the web interface, MariaDB 10.11 as the database backend, and a web server such as Apache (default) or Nginx with appropriate configuration. Node.js version 18.16 is also required for certain frontend features. RHEL 9 or compatible distributions like Rocky Linux may work with manual adjustments, but Debian remains the recommended base for streamlined installation.[44][45][46][47] Network requirements include a static IP address for stable server identification and accessibility via the web GUI. Firewalls must permit inbound and outbound traffic on key ports, such as UDP 5060 for SIP signaling and UDP 10000-20000 for RTP media streams, to enable VoIP communications; additional ports like TCP 443 for HTTPS admin access and UDP 4569 for IAX may be needed depending on configuration. Proper NAT and SIP ALG handling on routers is advised to prevent issues with external trunks.[48][49] Additional needs involve internet connectivity for fetching updates, modules, and dependencies during and after installation, ensuring ongoing security and feature enhancements.[50]Installation Process
The installation of FreePBX can be accomplished through several primary methods, tailored to different deployment scenarios such as bare-metal hardware, virtual machines, or cloud environments. As of 2025, FreePBX 17 emphasizes distro-agnostic approaches, particularly favoring installations on Debian 12, with support for automated scripting in cloud platforms like AWS and DigitalOcean.[7][51] These methods assume that system requirements, such as compatible hardware and a supported Linux distribution, have been met.[50] For an ISO-based installation, suitable for bare-metal or virtualized setups, download the FreePBX 17 BETA ISO from the official downloads page, which includes a pre-configured Debian 12 base. Create a bootable USB drive using tools like Rufus, insert it into the target machine, and boot from it to initiate the automated installation process. The ISO preseeds Debian installation parameters, reboots the system upon completion, and automatically launches the FreePBX shell installer to set up Asterisk and core components. This method typically takes 30-60 minutes, depending on hardware.[39][50] Manual installation on an existing Linux system, such as a fresh Debian 12 server, is the recommended approach for flexibility and cloud deployments. First, ensure the system is updated by runningapt update && apt upgrade -y. Then, download and execute the official installation script from the FreePBX GitHub repository: wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -O /tmp/sng_freepbx_debian_install.sh followed by bash /tmp/sng_freepbx_debian_install.sh. The script handles dependency installation, including Apache, MySQL, PHP, and Asterisk, and prompts for basic configuration. RPM-based systems like CentOS or Rocky Linux are not officially supported and require manual installation from source.[52][32][53]
Containerized setups using Docker provide an alternative for isolated or scalable environments, leveraging community-maintained images. Community images compatible with FreePBX 17 and Asterisk 21 or 22 are available on Docker Hub or GitHub. Run the container with essential volume mounts for persistence (e.g., -v /path/to/mysql:/var/lib/mysql -v /path/to/[asterisk](/page/Asterisk):/etc/asterisk) and port mappings for SIP (5060/UDP), RTP (10000-20000/UDP), and HTTP (80/443/TCP). Compose files can automate multi-container deployments including databases. Note that official support for Docker is limited, with community forums advising against it for production due to potential networking complexities.[54][55][56]
In cloud environments like AWS or DigitalOcean, FreePBX 17 supports automated scripting for streamlined deployment. On AWS, launch an EC2 instance with Debian 12 AMI, then apply the installation script via user data for hands-off setup; alternatively, use the AWS Marketplace AMI for one-click deployment. For DigitalOcean, deploy via the Marketplace 1-Click App, which provisions a droplet with FreePBX pre-installed, or script the Debian install on a custom droplet. These methods integrate with cloud networking, such as security groups for port access.[57][58][59]
Following installation via any method, initialize the system using the fwconsole CLI tool. Run fwconsole ma install core to ensure core modules are present, then fwconsole chown to set proper permissions, and fwconsole reload to apply changes. Access the web interface at the server's IP address (e.g., http://fwconsole ma upgradeall in the CLI. Create the first extension under Applications > Extensions, creating a PJSIP extension for testing, and enable essential modules like UCP (User Control Panel) via the module admin. Test basic functionality by placing internal calls or registering a softphone client. For security, immediately change default passwords and configure firewall rules to allow only necessary ports.[42][60]
Common troubleshooting includes resolving port conflicts, such as SIP port 5060 being in use by another service—check with netstat -tuln | grep 5060 and reconfigure Asterisk settings in /etc/asterisk/pjsip.conf if needed, then reload with fwconsole reload. Database connection errors post-install can be fixed by verifying MySQL status (systemctl status mariadb) and restarting services. If the web GUI is inaccessible, ensure Apache is running (systemctl status httpd or apache2) and review logs at /var/log/httpd/error_log. Always consult the official wiki for version-specific resolutions.[32][55]
Development
Open Source Community
The FreePBX open source community thrives through dedicated platforms that facilitate discussion, collaboration, and knowledge sharing. The official FreePBX Community Forums serve as the primary hub, hosting categories for general help, development, integration, and news, where users post queries, share solutions, and announce updates.[61] Complementing this, GitHub repositories under the FreePBX organization—numbering over 90 as of late 2025—enable structured issue tracking, pull requests, and code reviews, allowing contributors to report bugs, propose features, and submit patches directly to the codebase.[62] Annual events like AstriCon, the premier conference for the Asterisk and FreePBX ecosystems, further unite the community for VoIP-focused sessions, workshops, and networking, with recent iterations in 2025 featuring talks on FreePBX enhancements and open source telephony trends.[63] Contributors play diverse roles in sustaining and advancing FreePBX, from initial bug reporting on forums and GitHub to full module development and documentation refinements that ensure accessibility for new users.[62] These efforts often result in innovative third-party modules; for example, the 2025 release of Advanced Spy introduced configurable permissions for call spying and barging, addressing security concerns in multi-user environments, while Open Page provided enhanced multicast paging features compatible with FreePBX 17 systems.[64][65] Such contributions exemplify how community-driven extensions expand FreePBX's core capabilities without relying on proprietary add-ons. The support ecosystem emphasizes peer-to-peer assistance, with free user-to-user help available through the forums' general and integration sections, where experienced administrators guide newcomers on configurations and troubleshooting. FreePBX also integrates seamlessly with the Asterisk community, leveraging shared resources like the Asterisk forums for deeper insights into dialplan scripting, channel drivers, and performance optimization, which indirectly bolsters FreePBX deployments. Community involvement profoundly impacts FreePBX's trajectory, as user feedback from forums and GitHub issues directly informs release priorities, feature roadmaps, and bug fixes, ensuring the software evolves in line with real-world needs.[66] This collaborative dynamic has driven the project's widespread adoption, with historical data indicating millions of downloads since its early years and a sustained active user base of thousands engaging in 2025 through ongoing contributions and discussions.[13][2]Licensing and Contributions
FreePBX's core software is distributed under the GNU General Public License version 3 (GPL-3.0), which permits users to freely use, modify, and distribute the code while requiring derivative works to adopt the same license.[67] This open-source foundation ensures broad accessibility for building and customizing IP PBX systems. Commercial modules, developed by Sangoma Technologies, operate under proprietary licenses to support enterprise features, though open-source alternatives are available through community-contributed modules that maintain GPL compliance.[68] Contributions to FreePBX require adherence to a Contributor License Agreement (CLA), a legal document that governs submissions of code, documentation, and modules to the project. The CLA, managed by Sangoma Technologies, was updated in June 2024 to integrate with GitHub's automated processes, streamlining approvals and requiring contributors to re-sign if previously submitted via older PDF methods.[69] By signing the CLA once via GitHub, individuals grant perpetual rights for their work to be included in FreePBX distributions and derivatives, preventing future revocations.[67] The development workflow for contributions follows standard GitHub practices: developers fork the relevant FreePBX repository, implement changes, and submit pull requests (PRs) for review. Sangoma engineers evaluate PRs for compatibility with Asterisk, adherence to security standards, and overall project quality before merging.[62] This process applies to core enhancements, module development, and documentation updates, with issues tracked using GitHub labels for triage.[67] Under the CLA, contributors assign copyright ownership of their submissions to Sangoma Technologies Corporation, enabling the company to license the material under the project's terms, such as GPL-3.0, while ensuring intellectual property stability for downstream users. This arrangement allows Sangoma to protect and distribute contributions commercially if needed, without restricting open-source use. For example, revisions to the DAHDI module in 2025, which support hardware telephony interfaces, incorporated accepted contributions via this framework to update compatibility with newer kernel versions.[69]Version History
Major Releases
FreePBX's major releases have evolved from a rudimentary graphical interface for Asterisk configuration in its early years to a robust, distro-agnostic platform integrated with modern telephony standards. The project maintains alignment with Asterisk Long Term Support (LTS) versions, introducing enhancements in user interfaces, security, and protocol support while phasing out legacy components. Releases typically occur every two years as of 2025, synchronized with underlying operating system cycles like Debian, supplemented by quarterly security patches.[70] The initial 2.x series, developed between 2004 and 2008, established FreePBX as the Asterisk Management Portal (AMP), providing a basic web-based GUI to simplify Asterisk configuration through four database tables that generated dialplan and settings files. This foundational release focused on core management tasks without advanced modules, enabling non-experts to deploy simple PBX systems.[3] FreePBX 12, certified stable in late 2014, introduced support for Asterisk 12, allowing simultaneous use of chan_sip and PJSIP drivers with switchable extensions for gradual migration. Key innovations included the User Control Panel (UCP) for end-user features like presence, call history, WebRTC, and SMS integration; a redesigned dashboard; and secure module signing. Schmooze Communications enhanced accessibility via the FreePBX Distro ISO, streamlining installations on CentOS.[71] Released for general availability on October 31, 2019, FreePBX 15 supported PHP 7.x for improved performance and security, alongside Asterisk 15/16 LTS compatibility on SangomaOS (SNG7). It marked a shift toward modular security updates and prepared for PJSIP dominance, though chan_sip remained available. The version reached end-of-life on October 1, 2025, after which no further updates were provided.[70][72][73] FreePBX 16, achieving general availability on October 31, 2021, defaulted to PJSIP as the sole SIP driver—disabling chan_sip by default to encourage migration—while requiring PHP 7.4 and supporting Asterisk 17/18 LTS. Innovations encompassed User Control Panel templates for customization, a revamped Firewall module with intrusion detection, HTTPS redirects, and configurable UCP password policies. This release emphasized security hardening, such as binding AMI to localhost, and faster reload times via architectural tweaks.[74][70] The latest major iteration, FreePBX 17, entered general availability on August 2, 2024, adopting a distro-agnostic approach with Debian 12 as the base OS for extended support until 2028, and integrating Asterisk 21/22 LTS exclusively via chan_pjsip. It introduced simplified, ISO-less installations through a cloud-optimized shell script compatible with providers like AWS and DigitalOcean, alongside API enhancements using updated NodeJS and front-end libraries for better web performance. Breaking changes included the full deprecation of chan_sip and app_macro in favor of Gosub, necessitating configuration updates during upgrades.[4][70]Support Lifecycle
FreePBX follows a structured support lifecycle for its major versions, consisting of three primary stages: active support, security maintenance, and end-of-life (EOL). During the active support phase, which begins immediately after general availability (GA) and lasts until the start of security fixes and commercial improvements only (SFCIO), Sangoma provides bug fixes, feature updates, and general enhancements. This phase typically spans several years, as seen with FreePBX 17, which entered GA on August 2, 2024, and is scheduled for SFCIO on February 14, 2028. Similarly, FreePBX 16, released on October 31, 2021, entered SFCIO on September 1, 2026. Sangoma maintains active support for two concurrent major versions at any given time to facilitate smoother transitions, such as ongoing support for versions 16 and 17 as of November 2025.[70][4][74] The security maintenance stage, known as SFCIO, focuses exclusively on security patches and commercial module improvements, excluding new features or non-security bug fixes. This phase provides a buffer for users to migrate, lasting approximately 4-10 months depending on the version; for instance, FreePBX 15 transitioned to SFCIO on December 1, 2024, before reaching EOL on October 1, 2025. Upon entering EOL, no further updates or support are provided, rendering systems vulnerable to unpatched issues, as with FreePBX 15 post-October 2025. The underlying operating system also influences timelines, with FreePBX 15 and 16 relying on the Sangoma Linux (SNG7) distribution, which itself reached EOL on June 30, 2024, potentially accelerating deprecation for version 16. In contrast, FreePBX 17 uses Debian 12, extending its viability.[70][75][70] Upgrading between major versions, such as from FreePBX 16 to 17, is recommended via backup and restore procedures through the graphical user interface (GUI) to ensure data integrity, rather than in-place updates for significant jumps. Users perform a full system backup using the built-in Backup & Restore module, verify module compatibility in the Module Admin interface to identify any incompatible third-party extensions, and then restore to a fresh installation of the target version. Sangoma advises migrating to the latest stable release before EOL to maintain security and compatibility, with detailed guides available for paths like 15 to 17.[76][72] Security practices emphasize proactive vulnerability management, with regular addressing of Common Vulnerabilities and Exposures (CVEs) through patches released during active and SFCIO stages. For example, in 2025, Sangoma patched CVE-2025-57819, an authentication bypass in the Endpoint Manager module affecting versions 15, 16, and 17, via module updates and advisory notifications. Auto-update mechanisms include dashboard alerts for vulnerable modules, thefwconsole validate command for detecting indicators of compromise, and configurable email notifications via the Module Admin scheduler to prompt immediate resolutions. Users are encouraged to enable automatic module updates and restrict administrative access to trusted IPs using the Firewall module.[77][78][77]
Over time, FreePBX's support policy has evolved to include extended enterprise options through Sangoma subscriptions, offering prioritized technical assistance, custom patches, and prolonged maintenance beyond community EOL for commercial users. Basic community support relies on open-source contributions, while paid plans like Platinum Support provide 24/7 access and extended warranties for up to three years on specific versions. This tiered approach ensures critical systems receive ongoing care, with community-driven branches occasionally maintaining older versions post-EOL.[79][80][79]
Hardware Support
Software Compatibility
FreePBX officially supports installation on Debian 12 as its primary operating system starting with version 17, with installation scripts provided for this distribution.[81] Community-driven efforts extend compatibility to RHEL and CentOS derivatives such as Rocky Linux 9, where users have successfully deployed FreePBX through manual configuration.[82] Additionally, ports to Ubuntu distributions, including versions 22.04 and 24.04, are available via projects like Incredible PBX, enabling deployment on these platforms despite lacking official endorsement.[83] Containerization support through Docker and Podman has emerged in community implementations by 2025, allowing FreePBX to run in isolated environments, though official documentation does not yet endorse these setups.[55] In terms of telephony protocols, FreePBX provides full support for SIP via the PJSIP channel driver, IAX2 for efficient internal routing, and WebRTC for browser-based communications without plugins.[84] It maintains backward compatibility with the legacy chan_sip driver until its end-of-life in Asterisk 22, configurable by selecting the "both" option in advanced settings or by using earlier Asterisk versions.[85] FreePBX 17 officially supports Asterisk 22, which became the default version in installations as of 2025.[86][47] FreePBX integrates with various third-party software through dedicated modules, including CRM systems like Salesforce via the CRM Link module, which pushes call data and enables click-to-dial functionality.[87] It supports softphones such as Zoiper and Linphone for endpoint registration and calling.[88] For legacy telephony, compatibility with hardware drivers like DAHDI enables support for analog lines, handling FXO and FXS ports for POTS connections.[89] FreePBX has been certified for compatibility with Asterisk 22 in the Incredible PBX 2025 distribution, ensuring stable operation on supported platforms.[83] Initial compatibility issues with PHP 8.2, the version used in FreePBX 17, have been addressed through module updates, with options for pinning to stable releases like PHP 8.3 in some setups.[90]Certified Appliances
Sangoma Technologies offers a lineup of certified FreePBX appliances designed as turnkey hardware solutions for deploying the FreePBX open-source PBX system. These appliances are purpose-built and rigorously tested to ensure optimal performance with FreePBX, providing pre-configured systems that integrate seamlessly with Asterisk, the underlying telephony engine. As of 2025, models are pre-installed with FreePBX Distro version 17, enabling immediate use upon powering on without additional software setup.[91][7] The appliance models scale from small office to enterprise needs, with representative examples including the FreePBX 100 for up to 100 users and 60 simultaneous calls, and the FreePBX 400 for up to 400 users and 150 simultaneous calls. Other models, such as the FreePBX 40 (up to 40 users and 30 calls) and FreePBX 1200 (up to 1200 users and 350 calls), cater to varying deployment sizes. These systems feature x86-based Intel processors, including Celeron Quad Core for entry-level models, Intel Core i5 for mid-range like the 400, and Intel Core i7 for high-end options like the 1200. Storage options include single SSDs for smaller appliances (e.g., 120 GB or 250 GB) and dual SSD RAID 1 configurations for larger ones (e.g., 250 GB or 500 GB), paired with 4 GB to 16 GB RAM. Network connectivity ranges from 3 to 6 Gigabit Ethernet ports, with expansion via PCI Express slots for telephony cards in models like the 400 and 1200.[91][92] Key benefits of these appliances include factory pre-configuration for enhanced security and reliability, eliminating common setup errors associated with custom builds. They incorporate the SysAdmin Pro commercial module with a 25-year license for advanced system administration, including remote monitoring and updates. All models come with a standard one-year hardware warranty, with options for extended support bundles that provide technical assistance and software maintenance. This official hardware support from Sangoma ensures compatibility and performance guarantees not available with generic servers.[91][93] These appliances are particularly suited for small and medium-sized businesses (SMBs) seeking plug-and-play PBX deployments, where rapid installation—often under an hour—reduces downtime compared to assembling and configuring DIY servers that meet FreePBX system requirements. In scenarios like branch offices or remote sites, the compact 1U rack-mount designs (with wall-mount options for smaller models) and integrated management interfaces via VGA/HDMI or web GUI facilitate straightforward on-premises setups, supporting IP phone connectivity and scalable growth without extensive IT expertise.[91][94]| Model | User Capacity | Call Capacity | CPU | Storage | RAM | Ethernet Ports |
|---|---|---|---|---|---|---|
| FreePBX 100 | 100 | 60 | Intel Celeron Quad Core | 250 GB SSD | 4 GB | 3 |
| FreePBX 400 | 400 | 150 | Intel Core i5 | Dual 250 GB SSD (RAID 1) | 8 GB | 6 |