Skip to content

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.