PBX
PBX System Overview
What Is the SipLive PBX?
The SipLive PBX is an enterprise VoIP phone system built on Asterisk 22 with PJSIP as the SIP stack. It runs on AlmaLinux 9 and stores all configuration in a MariaDB realtime database, so changes take effect immediately without restarting Asterisk.
Core Components
- Asterisk 22 — The call-processing engine. Handles SIP signaling, RTP media, voicemail, conferencing, and dialplan execution.
- PJSIP (res_pjsip) — The SIP driver. Manages endpoints, auths, AORs, registrations, and transports. All trunk and extension endpoints are realtime PJSIP objects stored in MariaDB.
- MariaDB Realtime — Asterisk reads PJSIP config live from the
asterisk_rtdatabase via ODBC. No flat config files are needed for endpoints. - SipLive Admin Portal — Laravel-based web interface for managing tenants, extensions, trunks, call routing, voicemail, and system modules.
- Nginx + Apache — Nginx on port 8443 fronts the admin portal. Apache serves the legacy PHP portal on ports 80/443.
Network Interfaces
- Private NIC (10.0.0.10) — Internal cluster and management traffic.
- Public NIC (203.0.113.10) — Customer SIP traffic, WebRTC (WSS), and portal access.
Key Ports
- 5060/UDP — SIP signaling for desk phones and trunks
- 5061/TCP — SIP/TLS encrypted signaling
- 8089/TCP — WebRTC (WSS) softphone connections
- 10000–20000/UDP — RTP media streams
Multi-Tenant Design
The PBX supports multiple isolated tenants. Each tenant has its own PJSIP endpoints (prefixed by tenant_code-), dialplan contexts, DIDs, voicemail, and module permissions. Tenants cannot see or interact with each other's calls or configuration.
Realtime Database Tables
ps_endpoints— PJSIP endpoint configurationps_auths— Credentials for each endpointps_aors— Address of record (registration targets)ps_contacts— Registered device locationsps_registrations— Outbound trunk registrationsextensions— Asterisk dialplan rulestenants,tenant_modules,dids,voicemail