Skip to main content

Welcome to OPBX

OPBX is an open-source, multi-tenant business PBX platform built on top of the Cloudonix CPaaS (Communications Platform as a Service). It provides a complete phone system for organizations of any size.

The platform combines a powerful Laravel 12 backend with a modern React 18 frontend and a Go-based dialer worker for outbound campaigns. Everything runs containerized in Docker for easy deployment and scaling.

Key Features

OPBX delivers enterprise-grade telephony features through an intuitive web interface:

  • Multi-tenant organizations with complete data isolation between tenants
  • Role-based access control supporting Owner, PBX Admin, PBX User, and Reporter roles
  • Extension management with automatic Cloudonix SIP subscriber synchronization
  • DID phone number routing to multiple destination types including extensions, ring groups, and IVRs
  • Ring groups with simultaneous, round-robin, and sequential distribution strategies
  • IVR menus supporting both text-to-speech and pre-recorded audio files
  • Business hours with weekly schedules and holiday exception handling
  • Conference rooms with optional PIN protection and host controls
  • AI assistant integration supporting 17 SIP and WebSocket providers
  • AI load balancers for distributing calls across multiple AI providers
  • Auto Dialer for outbound campaigns with rate limiting and scheduling
  • Call recording and CDR reporting for compliance and analysis
  • Inbound blacklist and outbound whitelist for call security
  • Real-time call monitoring with live call tracking
  • Platform management tools for service providers hosting multiple organizations

Architecture Overview

OPBX uses a microservices architecture with clear separation of concerns:

The browser interacts with a React single-page application served through Nginx. API requests route to the Laravel backend, which manages data in MySQL, caches in Redis, and stores files in MinIO. Real-time updates flow through Soketi WebSocket server. All VoIP functionality delegates to Cloudonix CPaaS via REST API and webhooks.

Technology Stack

ComponentTechnologyPurpose
BackendLaravel 12 (PHP 8.4)REST API and business logic
FrontendReact 18 + TypeScriptUser interface
DatabaseMySQL 8Persistent data storage
Cache/QueueRedis 7Caching, sessions, job queues
StorageMinIOS3-compatible object storage
Real-timeSoketi WebSocketLive updates and notifications
VoIPCloudonix CPaaSCall handling and SIP services
DialerGo WorkerOutbound campaign execution

Role Hierarchy

OPBX implements a hierarchical permission system. Each user belongs to exactly one organization and has one of the following roles:

RoleDescriptionKey Capabilities
OwnerOrganization creatorFull access to all features, can manage all users including other owners, configure system-wide settings
PBX AdminSystem administratorManage extensions, routing rules, users (except owners), view all reports
PBX UserRegular userView assigned resources, update own extension settings, view personal call history
ReporterRead-only accessView call logs, generate reports, access dashboards without modification rights
Role Assignment

Only Owners can assign the Owner role. PBX Admins cannot create or modify other PBX Admins or Owners.

Quick Start

Ready to get started? Follow these steps:

  1. Install OPBX using Docker Compose
  2. Complete your first login and organization setup
  3. Configure Cloudonix integration for telephony
  4. Learn the core concepts before configuring your PBX
New to PBX Systems?

If you are unfamiliar with PBX terminology, start with the Core Concepts guide. It explains extensions, DIDs, ring groups, and other essential concepts you will need to configure your phone system.