/* BEGIN BLOG-CLOSE-CHAT */ /* END BLOG-CLOSE-CHAT */

ICTPBX Feature List

ICTPBX Service Provider Edition
Every feature built into ICTPBX, from multi-tenant architecture and PBX routing to integrated fax, WebRTC softphone, billing engine, and role-based access control.
🏗️ Platform Architecture📞 PBX Call Management📠 Fax & Documents💻 Softphone & Analytics💳 Billing Engine🔐 Account & Security
🏗️ Platform Architecture
6 features
#01
Multi-Tenant Architecture

Each tenant runs as a fully independent virtual PBX, its own extensions, users, routing, fax accounts, and billing balance, completely isolated from all other tenants. A single ICTPBX node hosts dozens of business customers simultaneously with no cross-tenant data leakage.

#02
White-Label & Per-Tenant Branding

Every visual element of the portal can be customized per tenant, logo, app title, login page background, favicon, footer HTML, and support email. The login page fetches branding via a public API keyed on hostname, so the white-label experience starts from the very first page load.

#03
Four-Level Role Hierarchy

ICTPBX enforces four distinct roles, Super Admin, Tenant Admin, Agent, and End User, each with a tailored interface and strictly scoped permissions enforced at both the frontend routing layer and the backend API layer.

#04
Super Admin Portal

The Super Admin has unrestricted access to the entire ICTPBX installation, all tenants, all users, all PBX resources, billing packages, subscription assignments, payment records, system-wide branding, and gateway/trunk management.

#05
Tenant Admin Portal

Tenant Admins have a self-service management interface scoped exclusively to their own tenant, users, PBX resources, CDR reports, DID assignments, billing quota, and fax settings, completely blocked from cross-tenant operations.

#06
End User Portal

End Users have a focused personal portal: SIP credentials, call forwarding (Follow Me), Do Not Disturb toggle, fax delivery email, and billing quota, plus the built-in WebRTC softphone for making and receiving calls.

📞 PBX Call Management
18 features
#07
Extensions Management

Create and manage SIP voice extensions with full control over extension number, display name, SIP password, voicemail PIN, call recording, and extension type. Every change syncs to FreeSWITCH instantly via reloadxml, no restart required.

#08
SIP Trunks / Gateways

Manage SIP trunks with full control over SIP server address, credentials, codec preferences, concurrent call limits, and routing. Gateway config writes to both ICTCore and FreeSWITCH, reloading automatically on every save.

#09
DID Number Management

Centralized view of all phone numbers, assignment status, linked tenant, and routing destination. Create, assign to tenants, and link to inbound routes or fax extensions from one interface.

#10
Inbound Routes (DID Routing)

Map any DID phone number to any destination, extension, ring group, IVR, voicemail, queue, conference room, or external number. Routes activate immediately with no downtime.

#11
IVR Menus (Auto-Attendant)

Build multi-level auto-attendant menus where callers press digits to route to extensions, ring groups, voicemail, other IVRs, queues, or external numbers. Supports all digits (0–9, *, #) with configurable timeout and invalid-input behavior.

#12
Ring Groups

Ring groups let you define sets of extensions that ring simultaneously or sequentially when a number is dialed. Each group has a name, extension number, ring strategy, timeout, and member list, a common destination for inbound DID routes and IVR digit options.

#13
Call Queues (ACD)

Call queues place incoming callers in a virtual waiting line and distribute them to available agents using configurable strategies (round-robin, longest-idle, etc.). Includes hold music, max wait time, and per-agent tier settings.

#14
Voicemail Boxes

Each extension gets a voicemail box with configurable PIN, email notification, and audio attachment delivery. Greetings are uploaded via the portal. Messages are stored on FreeSWITCH and emailed as audio files on receipt.

#15
Conference Rooms

Hosted audio conference bridges where multiple participants dial a shared extension and join the same call. Each room has a name, extension, PIN, max participants, and recording settings, with a live participant view for real-time mute and kick controls.

#16
Follow Me (Call Forwarding)

Per-user cascading call forwarding, define multiple destination numbers with independent delay and timeout per destination. True “find me, follow me” coverage. Users configure Follow Me from their own portal without admin help.

#17
Time Conditions

Define business hours, holidays, and custom date/time schedules that drive Call Flow routing. Each condition specifies days of week, start/end times, and optional date ranges for holiday overrides.

#18
Call Flows (Business Hours)

Time-of-day and day-of-week routing switches a number between open and closed states automatically based on a Time Condition schedule. Can also be toggled manually via feature codes for unplanned closures.

#19
Feature Codes

A read-only star-code reference for all FreeSWITCH features in your domain, voicemail access (*98), call recording (*1), Do Not Disturb (*78/*79), call pickup (*8), and more.

#20
Music on Hold

Upload and manage audio files played to callers waiting in queues, on hold, or during transfers. Multiple MOH classes can be assigned to different queues or ring groups.

#21
Call Block

Define lists of numbers or patterns blocked from reaching your extensions. Blocked calls are rejected at the FreeSWITCH dialplan level before consuming any system resources, useful for spam callers, international prefixes, and unwanted number patterns.

#22
Device Management

Register SIP desk phones, ATA adapters, and other SIP endpoints. ICTPBX stores device MAC address, assigned extension, and provisioning parameters for zero-touch phone provisioning on supported models.

#23
Zero-Touch Provisioning

IP phones configure themselves. When a desk phone boots it fetches its SIP credentials and settings from ICTPBX by MAC address, so a whole fleet of handsets comes online without anyone editing a single phone. Point DHCP option 66 at the server once, then plug phones in and they register.

#24
Outbound Routes

Control how outbound calls leave your PBX. Match dialed-number patterns to the right SIP trunk, set the caller ID per route, and define failover gateways so calls reroute automatically when a trunk is unavailable.

💻 Softphone & Analytics
8 features
#25
WebRTC Softphone

A fully integrated JsSIP-powered softphone embedded in the browser as a floating panel, accessible from any page. Connects to FreeSWITCH via WSS. Supports outbound/inbound calls, hold, blind transfer, mute, and DTMF. No plugin or app required.

#26
Click-to-Call

Place a call straight from the browser with no softphone to install. Enter a number in the portal, ICTPBX rings your own extension first, and once you pick up it bridges the call to the number you dialed. It works on any device that opens the web portal.

#27
Call Transfer

Move a live call to another person or extension. Do a blind transfer that sends the caller straight through, or an attended transfer where you speak first and then connect. Transfer from the webphone, a desk phone, or with a star-code during the call.

#28
Install as App (PWA)

Install the portal as an app on your desktop or phone. Open it in your browser, choose Install, and it opens in its own window with its own icon, just like native software. It updates itself, so you always run the current version without a download.

#29
Realtime Channel Monitor

Live view of all active calls on the FreeSWITCH server, caller ID, destination, duration, codec, and channel UUID per call. Admins can hang up, hold, or transfer any active call directly from the panel without touching the CLI.

#30
PBX CDR (Call Records)

Full PBX Call Detail Records sourced from FreeSWITCH. Every call shows caller ID, destination, direction, duration, hangup cause, codec, and recording link. Filterable by date, extension, and direction. Export to CSV.

#31
ICTCore CDR & Reports

ICTCore-level records covering all API-layer activity, fax transmissions, programmatic voice calls, and campaign activity. Statistics Report provides graphical summaries of call and fax volume over time.

#32
Activity Log

Complete audit trail of all portal actions, logins, configuration changes, billing events, and API calls. Filter by date, user, tenant, and action type. Essential for compliance and troubleshooting.

💳 Billing Engine
8 features
#33
Resource Packages

Define service tiers with slot limits for every PBX resource, extensions, devices, ring groups, call queues, voicemail boxes, IVR menus, conference rooms, and MOH slots, plus monthly voice minute and fax page quotas.

#34
Subscriptions

Assign, upgrade, or downgrade a tenant’s service plan at any time. Activating a new subscription auto-deactivates the old one and seeds the tenant’s quota rows with new package limits instantly.

#35
Rate Plans

Define per-unit pricing, per-minute voice rates and per-page fax rates, linked to service plans and applied during credit deduction. Configure different rates for different service tiers.

#36
Usage Quota & Credit Deduction

Track voice and fax usage against monthly allocations. Usage above the free tier auto-deducts from the credit balance at configured per-minute or per-page rates. Monthly quotas reset at the start of each billing period.

#37
Fraud & Credit Controls

Cap your exposure before a problem grows. ICTPBX limits how many calls a tenant can run at once, which blunts toll fraud, and warns you when a prepaid balance runs low. You set the limits per tenant, so each customer stays inside safe bounds.

#38
Slot Quota Enforcement

When a tenant hits their resource limit, ICTPBX blocks further creation and returns a clear error. Enforcement happens at the API layer, can’t be bypassed regardless of request origin. Upgrade the subscription to increase limits instantly.

#39
Payment Management

Record credit payments against tenant balances, amount, payment type (online, bank transfer, cash), date, and description. Payments immediately update the credit balance and appear in the payment history.

#40
Quota Dashboard

Real-time visibility into resource consumption and remaining capacity, displayed as cards for each resource type (Extensions used/total, Voice Minutes used/allocated, Fax Pages used/allocated, etc.). Accessible to all roles.

🔐 Account & Security
10 features
#41
Multi-Level Permission Filtering

Every menu item, page, and API endpoint is permission-filtered based on the user’s role and granted permission tokens, enforced in both the sidebar and at the API layer with 403 for unauthorized requests.

#42
JWT Authentication

RS256 JWT tokens carry user identity, role, tenant, permissions, and credit balance. Short-lived tokens issued on login. Backend validates signature on every protected API call.

#43
Password Policy

Configure system-wide rules, minimum length, required character classes, maximum age, and lockout threshold after failed login attempts. Enforced on every password change and new user creation.

#44
My Account, SIP Credentials

End users get instant access to their SIP extension number, password, domain, and WebSocket address needed for any SIP client or desk phone. Password show/hide toggle included.

#45
My Account, Extension Settings

Users configure personal extension behavior, Do Not Disturb (DND) and call forwarding preferences, directly from My Account. Changes take effect immediately without admin involvement.

#46
My Account, Fax Email

Set and update the personal fax delivery email address where inbound faxes arrive as PDF attachments. No admin involvement needed. Validated on save and takes effect for all subsequent inbound faxes.

#47
My DIDs

Shows end users and admins the DID numbers assigned to their account with assignment status and routing destination. Tenant Admins can assign DIDs and configure call forwarding from this page.

#48
Real-Time Credit Balance

The portal header shows the tenant’s current credit balance updated every 10 seconds. Always accurate during high-traffic periods, no page refresh needed to see credit changes from payments or usage.

#49
Announcements

Publish system-wide or tenant-specific announcements that appear on login. Supports rich text, can target specific roles or tenants. Used for maintenance notices, feature updates, and operational communications.

#50
Community Edition Toggle

A single COMMUNITY_EDITION environment flag strips billing, multi-tenancy, and branding features to produce the open-source Community Edition from the same codebase, affecting both the Angular frontend and ICTCore backend.

📠 Fax & Documents
6 features
#51
Outbound Fax

Send faxes directly from the portal by uploading a PDF and specifying a recipient number. The platform handles T.38/G.711 transmission via FreeSWITCH, tracks delivery status in real time, and logs every transmission. Usage counts against the tenant monthly quota.

#52
Inbound Fax

Assign a DID number to a fax extension. When a fax arrives, FreeSWITCH receives the T.38 or G.711 data, converts it to PDF, and delivers it to the configured email address. Full inbound log with date, sender, and page count.

#53
Fax Settings

Configure global fax parameters, default outbound caller ID, fax header (company name and number on each page), max retries on failure, and ECM preferences, applied to all transmissions from the tenant account.

#54
Cover Pages

Create reusable fax cover page templates with merge fields (recipient name, company, fax number, date, subject, message). Select a template when sending and it auto-prepends to the document. Multiple templates for different use cases.

#55
Bulk Fax Campaigns

Send one fax document to many recipients in a single campaign. Upload a recipient list, attach your PDF, and the platform queues each transmission, tracks per-recipient delivery status, and reports success and failure counts.

#56
Fax Contacts, Groups & DNC

Keep a fax address book of contacts, organize them into reusable groups for campaigns, and maintain a Do Not Contact list. Numbers on the DNC list are skipped automatically so you stay compliant on every send.

Ready to try ICTPBX on your own server?

Contact Us to Get Started