EE only. The AI Voice Agent is an Enterprise Edition feature and runs as an optional server-side add-on.
The AI Voice Agent lets users manage the PBX in plain language by phone. **Just dial *99.** Instead of clicking through the portal, you speak a request (“What’s my balance?”, “Read my last voicemail”, “Create a ring group”) and the agent carries it out by calling the same ICTCore REST API the web portal uses.
It is an extra front-end, not a replacement. The web portal and the softphone keep working exactly as before, and the agent adds a voice channel on top.
What it is #
The agent is a standalone sidecar service (“ICTPBX AI Gateway”) that runs alongside ICTCore. When you dial *99, FreeSWITCH streams your call audio to the gateway, which runs a cascaded pipeline:
Dial *99 -> FreeSWITCH --audio--> AI Gateway
|
Speech-to-Text --> Language Model (understands + picks an action)
|
Text-to-Speech <-- ICTCore REST API (does the action, returns result)
- Speech-to-Text (STT) transcribes what you say.
- Language Model (LLM) understands the request and decides which PBX action to run.
- Text-to-Speech (TTS) speaks the answer back to you, and the voice is generated locally.
- ICTCore REST performs the action, exactly as if you had done it in the portal.
Security: you keep your own permissions #
The agent does not get its own super-powers. Every action it performs is an ICTCore REST call carried out as you, using your own scoped login. This means:
- The agent can only see and change what your role and tenant already allow. An end user cannot use the agent to reach another tenant’s data or admin-only settings.
- Changes require confirmation. Before the agent performs any action that modifies configuration (create, update, delete), it asks you to confirm out loud. The backend still enforces the real permission check.
- The gateway holds no privileged credentials of its own, so it cannot exceed your access.
How the agent knows who you are #
When you dial *99 from your extension, ICTPBX identifies you automatically from the calling extension and issues a scoped session for your tenant and user, with no PIN or password to speak. (Auto-identification replaced the earlier keypad-PIN login.)
How to use it #
- From your registered extension or softphone, **dial
*99**. - Wait for the greeting, then say what you want. Examples:
- “What is my account balance?”
- “How many extensions do I have?”
- “Do I have any new voicemails?”
- “Create a ring group called Support.”
- For anything that changes configuration, the agent will read back what it’s about to do and ask you to confirm. Say “yes” to proceed or “no” to cancel.
- Hang up when you’re done.
Because the agent uses your own permissions, an admin dialing *99 can manage the whole system, a tenant admin manages their tenant, and an end user can only touch their own extension, voicemail, and account.
Audit & privacy #
- Every action the agent takes is logged in an append-only audit trail, so there is a record of what was requested and what was changed.
- Voice privacy: your spoken audio is sent to a cloud speech-to-text provider for transcription. The spoken responses (text-to-speech) are generated locally on your server. If your organization has data-egress or compliance requirements, review this with your administrator before enabling the voice path.
Availability #
The AI Voice Agent is an optional add-on that a system administrator installs and enables separately from the core ICTPBX stack. If dialing *99 returns a fast busy or does nothing, the gateway is not installed or not running on your server, so contact your administrator.
Roadmap: a browser-based chat widget (type instead of speak, over the same agent core) is planned as a second surface. Today the agent is voice-first, and access is via
*99only.