MCPSERV.CLUB
FusionPBX

FusionPBX

Self-Hosted

Enterprise‑grade, multi‑tenant VoIP platform

Active(97)
919stars
0views
Updated 1 day ago

Overview

Discover what makes FusionPBX powerful

FusionPBX is a **self‑hosted, multi‑tenant Voice over IP (VoIP) platform** built on top of FreeSWITCH. It exposes a rich set of telephony services—PBX, carrier‑grade switching, call center, fax, voicemail, conferencing, and a flexible appliance framework—while keeping the core logic in PHP and SQL. For developers, this means a familiar web‑app stack that orchestrates complex real‑time audio flows via FreeSWITCH’s event bus and XML configuration.

Core Engine

Web Interface & API

Database

Real‑time Features

Overview

FusionPBX is a self‑hosted, multi‑tenant Voice over IP (VoIP) platform built on top of FreeSWITCH. It exposes a rich set of telephony services—PBX, carrier‑grade switching, call center, fax, voicemail, conferencing, and a flexible appliance framework—while keeping the core logic in PHP and SQL. For developers, this means a familiar web‑app stack that orchestrates complex real‑time audio flows via FreeSWITCH’s event bus and XML configuration.

Technical Stack & Architecture

  • Core Engine: FreeSWITCH (C, event‑driven, multi‑threaded) handles media processing, SIP signaling, and call routing.
  • Web Interface & API: PHP 7/8 runs the FusionPBX web UI, providing REST‑style endpoints (JSON) for CRUD operations on extensions, trunks, dialplans, and user accounts.
  • Database: MySQL/MariaDB stores configuration, call detail records (CDRs), and user data. The schema is auto‑generated on install but can be extended via custom tables.
  • Real‑time Features: WebSockets deliver live call state, CPU usage, and active call lists to the UI without polling.
  • Autoloading: Composer‑style autoloader loads PHP classes on demand, keeping the codebase modular.

The architecture follows a thin‑client pattern: PHP renders configuration pages, while FreeSWITCH runs as a daemon that reads XML dialplan files generated by FusionPBX. This separation allows developers to tweak FreeSWITCH directly or rely on the web UI for most tasks.

Core Capabilities & APIs

  • Dialplan Management: Dynamic XML generation, priority manipulation, and custom application hooks.
  • User & Extension Provisioning: REST endpoints to create extensions, assign VoIP devices, and generate provisioning files (XML, JSON).
  • Call Detail Records: Full CDR export with call‑flow icons; APIs to query by time, caller, callee, or application.
  • Webhooks & Callbacks: Trigger external services on events such as call start, end, or voicemail creation.
  • Plugin System: Add‑ons like dialplan_tools and device_logs extend functionality without altering core code.
  • OpenID & OAuth: Optional authentication modules for SSO integration.

Deployment & Infrastructure

FusionPBX is docker‑friendly; official images expose FreeSWITCH and PHP behind Nginx/Apache, making it easy to spin up a multi‑tenant environment. For high availability, replicas can share a common MySQL cluster and use FreeSWITCH’s built‑in SIP federation. Scaling is horizontal: add more PHP workers or FreeSWITCH instances behind a load balancer, and the database layer can be sharded or replicated.

Integration & Extensibility

Developers can integrate FusionPBX with external systems via:

  • REST APIs: CRUD on extensions, trunks, and call routing.
  • Webhooks: Push events to CRM or ticketing systems.
  • SIP Trunking: Connect to any SIP provider, or expose a trunk for other services.
  • Custom Dialplan Applications: Write FreeSWITCH XML or C modules that plug into the call flow.
  • Database Hooks: Trigger stored procedures on new CDRs for billing or analytics.

Developer Experience

  • Documentation: The README, API references, and wiki provide a solid foundation; however, the community forums are often the quickest source for edge‑case questions.
  • Configuration: Most settings are exposed through the web UI; advanced users can tweak FreeSWITCH XML directly.
  • Community: A vibrant, active community contributes add‑ons and shares custom scripts on GitHub and forums.
  • Licensing: FusionPBX is open‑source (GPL), allowing unrestricted modification and redistribution—ideal for SaaS or internal tooling.

Use Cases

  1. Enterprise PBX – Replace legacy on‑prem phones with a cloud‑like, multi‑tenant system while keeping control of the infrastructure.
  2. Call Center Platform – Leverage built‑in queues, real‑time monitoring, and CDR analytics to build a fully integrated contact center.
  3. VoIP API Service – Expose SIP trunking and REST APIs to developers building messaging or telephony features into their apps.
  4. Educational / Lab Environments – Rapidly spin up isolated PBX instances for training or testing SIP clients.

Advantages Over Alternatives

CriterionFusionPBX
PerformanceFreeSWITCH core is lightweight and highly scalable.
FlexibilityFull control over dialplans, extensions, and media paths via PHP/SQL.
LicensingGPL allows free use in commercial or internal deployments.
ExtensibilityPlugin architecture and open APIs simplify custom feature development.
Community SupportActive forums, GitHub repos, and frequent releases keep the stack modern.

FusionPBX offers a developer‑friendly blend of a web‑based configuration layer and a powerful real‑time telephony engine, making it an attractive choice for building customized communication solutions or SaaS telephony platforms.

Open SourceReady to get started?

Join the community and start self-hosting FusionPBX today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
apis-services
License
MPL-1.1
Stars
919
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Community
Min RAM
1GB
Min Storage
5GB
Supported OS
LinuxDocker
Author
fusionpbx
fusionpbx
Last Updated
1 day ago