White label, multi-tenant PBX management web application built with Angular 13 (ngx-admin / Nebular UI). Connects to the ICTCore REST API to manage all aspects of a business phone system including Internet Fax.
What is ICTPBX?
ICTPBX is a fully open source PBX management platform built for ISPs, ITSPs, and service providers who need a white label, multi-tenant phone system to resell under their own brand.
The frontend is an Angular 13 web application (ngx-admin / Nebular UI) that connects to the ICTCore REST API -- an open source PHP communication framework powered by FreeSWITCH. Each tenant gets their own isolated PBX environment, custom branding, and role-based access with no per-user licensing costs.
Core PBX Features
Extensions
Create SIP extensions for every user. Set caller ID, ring timeout, enable or disable on the fly.
SIP Devices
Register IP phones, softphones, and ATAs. Full SIP endpoint provisioning via the web UI.
Ring Groups
Hunt groups that ring multiple extensions simultaneously or in sequence until answered.
Call Queues (ACD)
ACD queues with configurable ring strategies, agent tiers, and priority routing.
IVR Menus
Multi-level auto-attendant menus with DTMF input, voice prompts, and destination routing.
Voicemail
Per-extension voicemail with voicemail-to-email delivery and greeting management.
Conferences
Audio conference rooms with PIN protection, moderator control, and capacity limits.
Time Conditions
Route calls by time of day, day of week, or date range for automatic after-hours handling.
Call Flows
Day/Night mode switches for instant call redirection -- toggle manually or on a schedule.
Call Block
Block inbound and outbound calls by number or prefix. CSV bulk import supported.
Follow Me
Forward unanswered calls to external numbers or alternate destinations per extension.
Music on Hold
Upload and manage custom hold music per tenant. Assign different MOH to each queue.
SIP Gateways
Configure SIP trunk connections to carriers with full gateway management and status monitoring.
Inbound Routes
DID routing rules directing calls to extensions, queues, IVR, or any configured destination.
Live Call Monitoring
View active calls via FreeSWITCH ESL in real time -- call status, duration, and channel states. Call control actions are in active development.
CDR & Call Reports
Call detail records per extension and campaign, usage statistics, and activity logs -- all exportable from the admin panel.
Do Not Call (DNC) List
Per-tenant DNC list management with bulk CSV import. Calls to listed numbers are automatically blocked at the gateway level.
WebRTC Softphone
In-browser calling via SIP.js and WSS -- no desktop app or plugin required. Works in any modern browser.
Internet Fax
ICTPBX includes full Internet Fax capability through ICTCore. Send and receive fax over IP using T.38 and FoIP directly from the web interface.
Fax-to-Email
Inbound faxes are automatically emailed to one or multiple recipients per DID -- no polling or manual download needed.
Document Library
Centralized fax document storage per tenant with secure upload and reuse. Store cover pages and templates once, use them across all fax jobs.
Fax Campaigns
Broadcast fax to contact lists with job scheduling and per-job delivery tracking. Manage campaign status and results from the web UI.
Multi-Channel Communications
Beyond PBX, ICTPBX manages three communication channels through the ICTCore REST API:
Voice
Outbound dialing, inbound routing, IVR, call recording, and AMD via FreeSWITCH.
Internet Fax
Send and receive fax over IP using T.38/FoIP. Documents and cover pages included.
Send and receive via SMTP. Shared template library across all channels.
White Label and Multi-Tenant
ICTPBX is built for service providers reselling PBX to multiple clients:
| Capability | Details |
|---|---|
| Per-Tenant Branding | Custom logo, login background, colors, favicon, and support email for every client |
| Tenant Isolation | Each tenant has their own PBX domain -- all resources fully scoped and isolated |
| Role-Based Access | Super Admin, Tenant Admin, End User with granular permission control at UI and API level |
| Quota Management | Set limits on extensions, devices, queues, voicemails, and conference rooms per tenant |
| Resource Quota Management | Set hard caps on voice minutes and fax pages per tenant. Usage-based billing with rate plans is on the roadmap. |
| Tenant Announcements | Admin-managed system announcements displayed per tenant on login or dashboard |
| Password Policy | Configurable complexity, expiry, lockout threshold, and MFA enforcement per tenant |
Technical Stack
Security and Authentication
- JWT authentication (RS256) with login attempt tracking and brute-force protection
- TOTP/MFA enrollment with QR code generation and one-time code verification
- Password policy: configurable complexity, expiry, lockout threshold, and MFA enforcement per tenant
- Role-based permission filtering at both UI and API level
- User cap cascade: user limits cannot exceed tenant limits, tenant cannot exceed admin
Open Source and Self-Hosted
ICTPBX is fully open source. Deploy it on your own servers, control your data, and scale without per-user licensing. The ICTCore PHP backend and Angular 13 frontend are both open and customizable for your brand.
Ready to Deploy ICTPBX?
White label, multi-tenant PBX with Internet Fax -- self-hosted, open source, no per-user fees.
Visit ICTPBX.com