ICTPBX – White Label Multi-Tenant PBX Management

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.

Email

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:

CapabilityDetails
Per-Tenant BrandingCustom logo, login background, colors, favicon, and support email for every client
Tenant IsolationEach tenant has their own PBX domain -- all resources fully scoped and isolated
Role-Based AccessSuper Admin, Tenant Admin, End User with granular permission control at UI and API level
Quota ManagementSet limits on extensions, devices, queues, voicemails, and conference rooms per tenant
Resource Quota ManagementSet hard caps on voice minutes and fax pages per tenant. Usage-based billing with rate plans is on the roadmap.
Tenant AnnouncementsAdmin-managed system announcements displayed per tenant on login or dashboard
Password PolicyConfigurable complexity, expiry, lockout threshold, and MFA enforcement per tenant

Technical Stack

Angular 13 (ngx-admin / Nebular UI) -- Frontend web application --> ICTCore REST API [PHP on Apache] --> MariaDB (users, tenants, billing, CDR, fax, SMS) --> FreeSWITCH (voice and fax media engine, ESL port 8021) --> Kannel (SMS gateway, SMPP port 2775) Auth: JWT RS256, Bearer token MFA: TOTP QR code enrollment and verification WebRTC: SIP.js 0.21, WSS port 7443

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