Super Admin
Role: Super Admin | Access Level: Level 1, Full System Access
Introduction
The Super Administrator has unrestricted access to the entire ICTPBX installation. You are responsible for provisioning tenants, managing the platform’s PBX infrastructure, configuring billing packages, maintaining trunks and DID numbers, applying white-label branding, and monitoring system-wide activity. This guide covers every feature available to your role, with step-by-step instructions and screenshots.
Portal URL: Your ICTPBX portal URL (provided by your service provider)
1. Logging In
Navigate to your ICTPBX portal URL in any modern browser (Chrome, Firefox, Edge).

- Enter your administrator Email Address.
- Enter your Password.
- Click SIGN IN.

Security Note: After several consecutive failed login attempts, accounts are temporarily locked per the Password Policy. If you are locked out, access the server directly to reset.
2. Dashboard: System Statistics
After you log in, you land on the System Statistics dashboard. It’s a live overview of the whole platform.

PBX Statistics cards:
- Extensions, Devices, Ring Groups, Call Queues, IVR Menus, Voicemails, Conferences, Gateways (this card counts your SIP trunks, which you manage under Routing → Trunks)
Fax Statistics cards:
- Outbound Fax count, Inbound Fax count, DIDs, Users, Tenants, Daily Pages Sent, Monthly Pages Sent
Your current credit balance is shown in the top-right header. It refreshes every 10 seconds.

3. Multi-Tenant Management
Tenants are the business organizations you host on the platform. Each tenant has its own isolated PBX environment, users, billing balance, and (optionally) its own branding. A tenant is an organisation record with no login of its own, so after you create one you add a Tenant Admin user for it. Tenants are flat: there are no reseller sub-tenants.
Navigate to Administration → Tenants.

3.1 Creating a New Tenant
- Click Add Tenant.
- Fill in the tenant details:

- Click Submit. ICTPBX creates the tenant and sets up its own SIP domain (for example
acme.local) automatically. Since each tenant has its own domain, extension numbers only need to be unique within that tenant.
3.2 Editing a Tenant
- Click the Edit button on the tenant row.
- Modify the required fields.

- Click Save.
3.3 After Creating a Tenant
After creating a tenant you must:
- Create a Tenant Admin user (see Section 4). The tenant record has no login, so nobody from that organisation can sign in until you add one.
- Assign a Subscription/Package (see Section 23). The package sets the tenant’s slot limits and free monthly usage.
- Optionally configure Branding (see Section 25) for white-label deployment.
4. User Management
Users are the login accounts for every role. You manage all of them from Administration → User Management.

4.1 Role Hierarchy
ICTPBX has three roles:

4.2 Creating a New User
- Click Add User.

- Fill in the required fields:

- Click Submit.
4.3 Tenant Admin Permissions
When you create a Tenant Admin, the permission checkboxes decide which modules they can use. You can only tick what the tenant itself holds. The PBX permissions are:
Extensions, Devices, Ring Groups, Call Queues, IVR Menus, Voicemail, Conferences, Time Conditions, Call Flows, Call Block, Follow Me, Music on Hold, Inbound Routes and Realtime.
Only the items you tick show up in the tenant admin’s sidebar. The PBX Resource Allocation card below the permissions sets how many of each object the user can create. Users a tenant admin creates are End Users, and they can only get permissions the tenant admin has.
5. Extensions Management
Extensions are SIP accounts that register to FreeSWITCH. Each extension corresponds to a phone line within a tenant’s domain.
Navigate to PBX → Extensions.

5.1 Creating a New Extension
- Click Add Extension.

- Click Save. The extension is written to ICTCore PostgreSQL and synced to FreeSWITCH’s user directory immediately via
reloadxml.

Conflict prevention: ICTPBX checks for duplicate extension numbers across all PBX resource types. If a conflict is detected, a 409 error is shown and the save is blocked.
6. Device Management
Devices represent physical SIP endpoints: desk phones and ATA adapters that auto-provision from ICTPBX.
Navigate to PBX → Devices.

6.1 Adding a Device
- Click Add Device.

- Click Save.
- Open the device again, click Add Line and pick the extension. The line points at your portal host on port
5080. - In the phone’s auto-provisioning settings, enter
https://<your-host>/provision/<mac>, with the MAC in lowercase and no separators. You can also hand this out with DHCP option 66.
Every phone needs a line. A device with no line gets a blank configuration and never registers. Provisioning also sets the phone’s admin password, so don’t change it on the phone. It’ll be reverted.

6A. Device Profiles
Device profiles are reusable provisioning templates. Instead of configuring every desk phone by hand, you define a profile once, covering the shared settings for a phone brand or model, then apply it to any device you add. This keeps a fleet of handsets consistent and makes new rollouts much faster.
Navigate to PBX › Device Profiles.

6A.1 Adding a Profile
- Click Add Profile.

- Click Save. The profile appears in the list and can be selected when you provision a device.
7. Ring Groups
Ring groups ring multiple extensions simultaneously or sequentially when a single number is dialed.
Navigate to PBX → Ring Groups.

7.1 Creating a Ring Group
- Click New.

- Add member extensions in the Members section.
- Click Save.

8. Call Queues (ACD)
Call queues provide automatic call distribution: callers wait in a virtual queue until an available agent answers.
Navigate to PBX → Call Queues.

8.1 Creating a Call Queue
- Click New.

- Click Save, then open the queue and go to the Agents tab to add agents.

8.2 Adding Agents
In the Agents tab:
- Click Add Agent.
- Set Contact to the agent’s extension, then set Call Timeout and Status.
- Repeat for each agent.

9. IVR Menus (Auto-Attendant)
IVR menus let callers navigate by pressing digits, routing themselves to the right department without speaking to a person.
Navigate to PBX → IVR Menus.

9.1 Creating an IVR Menu
- Click New.

- In the Options section, add digit mappings:

- Click Save.

10. Voicemail Boxes
Voicemail boxes capture calls when extensions are unavailable and email the recording to the user.
Navigate to PBX → Voicemail.

10.1 Creating a Voicemail Box
- Click New.

- Click Save.
Extensions have no voicemail fields of their own. To send unanswered calls to the box, open the extension’s Forwarding tab and pick the box as the No Answer or Busy destination. To check messages, dial *99 followed by the mailbox number, for example *991001.

11. Conference Rooms
Conference rooms allow multiple participants to join a shared audio bridge by dialing an extension.
Navigate to PBX → Conferences.

11.1 Creating a Conference Room
- Click New.

- Click Save.
To manage a live call, click the Live Participants icon on the room. You can mute, unmute or kick callers from there.
12. Inbound Routes (DID Routing)
Inbound routes map incoming DID phone numbers to PBX destinations. They decide what happens when a call arrives on a specific number.
Navigate to PBX → Inbound Routes.

12.1 Creating an Inbound Route
- Click New.

- Click Save. The route is written to the ICTCore dialplan and takes effect immediately.
Each DID can have one inbound route. A second route for the same number is rejected. To reach a call queue or conference room, send the DID to an IVR menu or ring group that leads there. Don’t add an inbound route for a fax number: a voice route takes priority and the fax never arrives. Route fax numbers as shown in Section 20.5.
13. Call Flows & Time Conditions
Time conditions route calls automatically by time of day and day of week. Call flows are a manual day/night switch that you flip yourself.
13.1 Time Conditions
Navigate to PBX → Time Conditions.

Create a time condition with your business hours (for example 08:00 to 17:00), the days it applies to, an Open Destination and a Closed Destination. Holidays and date ranges aren’t supported. To use it, send callers to its extension from an IVR option.
13.2 Call Flows
Navigate to PBX → Call Flows.

- Click New.

- Click Save. To switch between day and night, change Current Status on the form.
14. Follow Me
Navigate to PBX → Follow Me.

Follow Me adds external forwarding destinations to any extension. When a call arrives on the extension, it simultaneously (or sequentially) rings the configured external numbers.
- Click New and select the extension to configure.

- Enable Follow Me and add destination numbers with delay and timeout values.
- Click Save.
15. Call Block
Navigate to PBX → Call Block.

Add numbers or patterns to block specific callers system-wide. Blocked calls are rejected at the FreeSWITCH dialplan before reaching any extension.
- Click New.
- Enter a Name and the number to block. You can also enter a regular expression to match a pattern.
- Pick the Direction (Inbound, Outbound or Both) and the Action (Reject (busy), Hang Up or Hold).
- Click Save.
16. Music on Hold
Navigate to PBX → Music on Hold.

16.1 Adding a Music on Hold Category
- Click New.

- Enter a Name for the category.
- Enter the Path of the server directory that holds the audio. There’s no upload button, so copy the WAV or MP3 files into that directory on the server first.
- Click Save.
Assign the MOH class to call queues or ring groups from their respective edit forms.
17. Feature Codes
Navigate to PBX → Feature Codes for a read-only list of dial codes. A code being on the list doesn’t mean it’s active.

Only two codes work on the live dialplan:
*99reaches the AI Voice Agent, if it’s installed.*99followed by a mailbox number checks voicemail, for example*991001.
Users set Do Not Disturb and call forwarding in PBX → My Extension, not with star codes.
18. SIP Trunks
SIP trunks connect ICTPBX to the PSTN via a SIP provider, enabling inbound and outbound calls to regular phone numbers.
Go to Routing → Trunks. Only the Super Admin manages trunks, and all tenants share them.

18.1 Adding a SIP Trunk
- Click New.

- Click Save. The trunk goes live right away, with no FreeSWITCH restart.
The trunk list shows every provider you’ve added. Tenant admins don’t see this menu.

18A. Outbound Routes
Outbound routes decide which trunk carries a call or fax to a given destination. When a user dials out, ICTPBX matches the number against your routes and hands the traffic to the provider you mapped for that region. This lets you send domestic traffic over one carrier and international over another, or keep voice and fax on separate trunks.
Navigate to Routing › Routes.

18A.1 Adding a Route
- Click Add Route.

- Click Submit.
19. DID Number Management
DIDs are phone numbers assigned to the system and routed to tenant extensions.
Go to Routing → DID Numbers. You can add numbers one at a time, in a batch, or by import.

19.1 Adding a DID
- Click New.

- Click Save.
- For a voice number, create an Inbound Route (Section 12) to send it to a destination. For a fax number, click Forward on the DID instead (see Section 20.5).
Caller ID numbers for outbound calls are under Routing → CID Numbers.
20. Fax Management
20.1 Sending a Fax
Navigate to Fax → Send Fax.

- Click New Outbound Fax.
- Enter a Title, then upload the document (PDF, TIFF, PNG, JPG or Word) or pick one from Fax Documents.
- Choose the Caller ID and the recipient under Contact. You can pick a contact or type a number.
- To add a cover page, tick Send Cover page and choose one with Select Cover Page.
- Submit. The fax is queued and sent in the background.
20.2 Received Faxes
Go to Fax → Receive Fax to see received faxes across all tenants. You can search, filter by date, view or download a fax, or use Bulk Fax Download.

20.3 Fax Settings
Navigate to Fax → Fax Settings to set the default cover page, whether a fax sent by email includes the email text as a page, and the wait between retries.

20.4 Cover Page
Go to Fax → Cover Page and click Add CoverPage to make a reusable template. Set Default Cover Page picks the one that goes out by default. Documents you send often can live under Fax → Media Library → Fax Documents.

20.5 Fax Lines and Fax DIDs
A fax line is an extension with Extension Type set to Fax. There’s no separate fax menu to set one up.
- Go to PBX → Extensions and click Add Extension.
- Set Extension Type to
Faxand enter a Fax Delivery Email. - If a user should see the line under Fax → My Fax Account, pick them in Assign to User.
- Go to Fax → My DIDs (or Routing → DID Numbers) and click Forward on the number.
- Choose Forward to Extension and pick the fax extension, or choose Fax to Email and enter an address.
A DID carries voice or fax, not both. Don’t add a voice inbound route for a fax DID, because the voice route wins and the fax never arrives. Fax calls also need a trunk with Supports Fax turned on and an outbound route for the Fax service.
20A. Bulk Fax Campaigns
Bulk fax lets you send one document to a whole list of recipients in a single run. You pick a fax document, point it at a contact group, and the platform dials each number for you, retrying failures and tracking delivery as it goes.
Navigate to Fax › Bulk Fax.

The campaign list shows the Program Name, current Status, and live counters for Total, Done, Successful, and Failed recipients. The action buttons on each row let you view the detail report, pause, resume, or stop a running campaign.
20A.1 Creating a Campaign
- Click Create Fax Campaign.

- Click Submit. The campaign starts and its progress updates on the list.
20B. Fax Contacts, Groups & DNC
Contacts are the address book behind your faxes. Build groups of recipients, import them in bulk from a CSV, and keep a do-not-contact list so you never fax a number that has opted out.
20B.1 Contacts
Navigate to Fax › Contacts › Contacts.

The contact list shows every saved recipient with their name, phone, and email. Use Add Contact to create one, or the filter box to find an existing entry. Each row has edit and delete actions.
20B.2 Contact Groups
Navigate to Fax › Contacts › Contact Groups.

Groups bundle contacts together so a bulk fax can target them in one shot. The list shows each group name and its contact count. Click Add Group to create one. To load many recipients at once, download the Sample CSV file, fill it in, and import it.
20B.3 Contact DNC
Navigate to Fax › Contacts › Contact DNC.

The Do Not Contact list holds numbers that must be excluded from fax campaigns. Add entries with Add, use Import to upload a suppression list, and Export to download the current one. Numbers on this list are skipped when a campaign runs.
21. WebRTC Softphone
The softphone is available from any page via the phone icon in the header.

- Click the ☎ icon in the top-right header.
- Enter your extension number and SIP password.
- Click Connect. The Domain and WebSocket address are filled in for you, and you can’t edit the Domain. A green dot shows the softphone has registered.
- Use the Dialer tab to make calls.
Call controls: Hold · Unhold · Transfer · Mute · DTMF · Hangup
The softphone connects over wss://<your-host>/ws/ on port 443, so the portal has to run on HTTPS. For an external SIP client, use the extension as the username, the SIP password, the SIP Domain shown on PBX → My Extension as the domain or realm, and your portal hostname on port 5080 as the server. That SIP domain belongs to the tenant and can differ from the portal address.
22. Realtime Channel Monitor
Go to PBX → Realtime for a live view of active calls and registered phones. It refreshes every 5 seconds.

Each active channel shows the direction, caller ID, destination, state, codec and IP address.
Live controls:
- Hangup: Terminate a specific call.
- Hold: Place a call on hold.
- Transfer: Move a call to another destination.
Click to Call: enter a From extension and a number. The extension rings first, and once it’s answered ICTPBX dials the number. The extension has to be registered. You can do the same through the API with POST /api/call/originate and the fields from_ext and to_number.

23. Billing Management
Billing is part of the Service Provider Edition and runs on packages. A package sets hard slot limits, such as how many extensions a tenant can create, plus voice minutes, fax pages and conference minutes included free each month. Usage above the free amount is charged at your rates and taken from the tenant’s credit. Usage is processed hourly and the free allowance resets each month. Calls aren’t cut off when credit hits zero, so set a low-credit alert threshold and a max concurrent calls limit on each tenant (Section 3.1).
23.1 Rate Plans
Go to Billing → Rate Plans to set your per-minute and per-page rates.

Create rates for voice (per-minute) and fax (per-page) that are applied when tenants exceed their package’s included free units.
23.2 Service Packages
Go to Billing → Packages to define tenant plans. You can’t delete a package while a tenant is subscribed to it.

- Click + New Package and set the name, billing interval and rate plan, then the resource limits below (
0= unlimited).


- Click Save.
23.3 Subscriptions
Navigate to Billing → Subscriptions to assign packages to tenants.

- Find the tenant row.
- Click Change Package and pick the new package. It takes effect right away.
- Use Suspend or Activate to pause or resume a tenant’s subscription.
23.4 Payments (Credit Top-Up)
Navigate to Billing → Payments.

- Click New.

- Click Submit. The tenant’s credit balance is updated immediately.
23.5 Quota and Usage
Go to Billing → Quota to see slot usage and the monthly allowance for each resource. Billing → Usage shows usage and charges. End users see their own figures under My Quota and My Usage.


24. Reports & CDR
24.1 CDR Reports
Go to Reports → CDR Reports for call and fax detail records.

Filter by date range, tenant, user or direction.
24.2 PBX CDR (FreeSWITCH)
Navigate to Reports → PBX CDR for raw PBX call records. Filter by date range and direction (Inbound, Outbound or Local), then click Apply. Columns include domain, caller, destination, duration, billed time and hangup cause. CDR sync runs hourly, and Run ETL Now syncs straight away.

24.3 Statistics Report
Go to Reports → Statistics Reports for call and fax volume charts. There’s also an Extensions CDR report.

24.4 System Activities
Go to Reports → System Activities for a log of activity on the platform.

25. White-Label Branding
Apply per-tenant branding so each tenant’s portal feels like a proprietary product.
Navigate to Administration → Branding.

25.1 Creating a Branding Profile
- Click Select Tenant and pick the tenant.

- Click Save.

26. Administration
26.1 Announcements
Go to Administration → Announcement to publish a message that users see in the portal.

- Click New.
- Enter the announcement title and body text.
- Click Save. The message shows up in the portal.
26.2 Password Policy
Navigate to Administration → Password Policy to configure platform-wide password rules.

Click Save to apply. The policy is enforced on all subsequent password changes and new user creation.
26.3 Permission Filtering
Each user’s sidebar shows only the features their permissions allow. To change a tenant admin’s access:
- Go to Administration → User Management.
- Edit the tenant admin user.
- Tick or untick boxes on the Fax Permissions and PBX Permissions cards.
- Click Update. Permissions are enforced at login and on save, so the user sees the change after signing in again.

26.4 API Keys
API keys let scripts and other systems use the REST API.
- Go to Administration → API Keys and click New API Key.
- Enter a Name. If you want, set a Rate limit in requests per minute (
0= unlimited) and an Expires date. - Click Create and copy the key straight away. It’s only shown once.
Send the key in the X-API-Key header. It acts with the permissions of the user who owns it. Click Revoke to turn a key off.
27. Tips & Troubleshooting
Extensions not registering after creation: After saving a new extension the system runs reloadxml automatically. If registration still fails, check that the SIP password matches what the client is using, that the client uses the tenant’s SIP domain (shown on My Extension), and that it connects on port 5080. Nothing listens on 5060. For a desk phone, check that the device has a line bound to the extension.
Calls not routing to the right destination: Verify the Inbound Route is correctly mapped. Check the DID number format (no spaces, no dashes). Also confirm the target (ring group, IVR, extension) exists and is enabled.
Fax transmission failing: Check that the trunk under Routing → Trunks is registered and has Supports Fax (T.38 / G.711 pass-through) turned on. Make sure there’s an outbound route for the Fax service. Verify the recipient number is in the correct format.
Tenant admin cannot see a menu item: Open the user under Administration → User Management and tick the box for that feature. If it’s greyed out, the tenant doesn’t hold that permission, so add it to the tenant first.
Credit balance not updating: The header polls every 10 seconds. If it stays stale, the CDR sync may not have run. Click Run ETL Now on Reports → PBX CDR.
Billing quota not enforced: Confirm the tenant has an active subscription with a package assigned. Without a subscription, quotas are not initialized and enforcement does not apply.
ICTPBX Service Provider Edition: Super Administrator Guide Platform: Angular 13 · ICTCore (PHP 8.3) · FreeSWITCH 1.10.12 · FusionPBX 6.6.0 · MariaDB + PostgreSQL 16 Demo: https://ictpbx.com