AI Providers¶
Overview¶
An AI Provider connects a phone number to an external voice bot that the customer hosts, instead of a QVOICE Platform AI Persona. When a call arrives on that number, the platform streams the call audio in real time to the customer's bot over a WebSocket, and plays the bot's audio back to the caller.
Use AI Providers when the customer already has a conversational AI of their own (built in-house or with a third party), and needs QVOICE Platform to deliver the calls to it.
Note
An AI Provider is not an LLM API key. To use your own OpenAI or Gemini keys with QVOICE Platform's AI Agents, see GenAI Integrations.
Where to Find It¶
Config → Numbers → AI Providers
Functionality¶
Provider settings¶
| Field | Description |
|---|---|
| Name | Required. A label for the provider. |
| Type | AI Provider (current protocol, default) or AI Provider Legacy (older protocol, kept for existing bots). |
| Audio Format | pcm16 (24000 Hz), g711_ulaw (8000 Hz) or opus (48000 Hz). The sample rate is filled in automatically. |
| WebSocket URL | Required. The wss:// endpoint of the customer's bot. |
| Headers | Optional key/value pairs sent when connecting, e.g. an authorization token for the bot. |
Routing a number to a provider¶
In Config → Numbers → Phone Numbers, choose the AI Provider for a number. The platform creates the call routing for that number automatically: calls to the number go straight to the bot.
If you later change a provider's Type, every number that uses it is updated automatically.
How It Works¶
sequenceDiagram
participant C as Caller
participant PBX as QVOICE Platform voice platform
participant G as QVOICE Platform media gateway
participant B as Customer's AI bot
C->>PBX: Calls the number
PBX->>G: Streams call audio
G->>B: Opens WebSocket (URL + headers)
G->>B: start (call id, caller, callee, account, audio format)
loop During the call
G->>B: media (caller audio)
B-->>G: media (bot audio)
G-->>PBX: bot audio to caller
end
G->>B: dtmf (keypad digits)
G->>B: hangup
The bot receives these JSON events:
| Event | Contents |
|---|---|
start |
Call ID, other-leg call ID, caller number, called number, account ID, audio encoding and sample rate |
media |
Base64-encoded audio |
dtmf |
A keypad digit pressed by the caller |
hangup |
End of the call |
The full message format is described in the AI Provider WebSocket reference.
Configuration¶
| Requirement | Who | Details |
|---|---|---|
| AI Providers enabled on the platform | Platform operator | The media gateway must be enabled for the platform. Contact QVOICE support to confirm availability. |
| Role permission | Account admin | The role must grant the AI Providers permission. Only administrators can manage providers. |
| Customer bot | Customer | A publicly reachable WebSocket endpoint that implements the protocol above, in one of the supported audio formats. |
Use Cases¶
Bring-your-own bot. A bank has a voice bot built on its own NLU platform. The partner creates an AI Provider that points to the bank's WebSocket endpoint and assigns it to the bank's customer-service number. The bank keeps full control of the dialogue, while QVOICE Platform provides the telephony.
Pilot of a third-party AI vendor. A customer wants to evaluate an external conversational-AI vendor on real traffic. They assign one test number to the vendor's provider and keep the main number on the normal IVR. Moving back is a routing change on the number.
Limitations¶
- Only the three audio formats listed above are supported, each at a fixed sample rate.
- Deleting a provider does not check whether numbers still use it. Reassign those numbers first.
- The platform does not produce transcripts, summaries or CRM records for calls handled by an external provider. That is the bot's responsibility.