Skip to main content
Back to voice channels

Set up Realtime LLM Voice channel

Realtime LLM Voice is a voice channel that handles live voice conversations through a single provider-native speech session. It supports Realtime LLM models (such as OpenAI Realtime and Gemini Live) through the Kore.ai Voice Gateway (KoreVG) or a Bring Your Own SIP connection. Unlike the STT → LLM → TTS pipeline that Pipeline Voice uses, a provider-native realtime model owns the live audio conversation. KoreVG handles telephony, connection routing, bounded session state, traces, and the call lifecycle.
Studio also provides in-product guidance. On the Realtime LLM Voice channel page, click Setup instructions to open a step-by-step panel that covers connection creation, provider and phone routing, call quality validation, and security, latency, and reliability boundaries.

Create a Realtime LLM Voice channel

To create a Realtime LLM Voice channel, go to Deployments > Channels > Voice > Realtime LLM Voice > New connection and complete the following steps in order.
1

Set up the connection

On the New Realtime LLM Voice Connection page, provide the following fields.
2

Create the connection

Click Create.
Create the connection before you configure voice details. The connection record must exist before Studio can provision a phone number and save provider-specific realtime settings.

Configure the Realtime LLM Voice channel

Once the channel is created, open it from the Realtime LLM Voice connections list. The connection has three tabs: Settings, Speech, and Testing. The Settings tab holds the voice provider and call routing. The Speech tab holds realtime orchestration, the S2S provider, and advanced voice behavior. The Testing tab holds the shareable softphone link.
1

Choose a call routing option (Kore.ai Voice Gateway)

On the Settings tab, under Realtime LLM Voice Settings, set Voice Provider to Kore.ai Voice Gateway or Bring Your Own SIP. If you choose Kore.ai Voice Gateway, set the following under Call routing. Choose how calls reach this agent. Enable Soft Phone for browser testing, and add a phone number (DID) when the channel needs a real phone number.Keep KoreVG as the managed telephony gateway unless your platform owner has approved another provider. Confirm that the realtime provider you plan to use is available for your tenant and environment.
If you select Phone Number (DID), complete the next step. If you selected Voice Provider: Bring Your Own SIP instead, skip to step 3.
2

Configure the phone number (DID only)

  • Set Provider to Twilio.
  • Toggle Inbound calls (routes calls from this number into the voice agent).
  • Toggle Outbound calls (allows this number for campaign dial‑out).
  • Select a Country, Number Type, and optional Area Code.
  • Choose Search Available Numbers to list matching numbers.
Buy or assign a Twilio‑backed number from the saved connection’s settings.
  • Confirm the number is bound to this connection before activation.
  • After assignment, the number appears in the Phone Number field.
  • Select Remove to unbind the number from the connection.
3

Configure SIP settings (Bring Your Own SIP only)

If you chose Bring Your Own SIP, the Call routing options are replaced by a SIP Configuration section on the Settings tab. Set the following fields.
4

Set SIP header trust and save the connection settings

At the bottom of the Settings tab, for either voice provider, set the following.Click Save Changes to apply the settings.
5

Configure Realtime LLM Voice settings

On the Speech tab, set the following fields.
  • Realtime orchestration: Select how runtime coordinates the conversation flow and business tool execution for realtime voice interactions. Realtime orchestration determines whether the realtime model or runtime controls conversation progression and business actions, such as bookings, orders, and payments.
    • Changes to the orchestration mode apply only to new realtime sessions. Calls already in progress continue using the mode that was active when the session started.
    • Existing channel configurations without a configured orchestration mode continue to use Legacy behavior.
  • Response wording owner: Select who generates the wording of responses for realtime voice conversations. This setting is available only when the Realtime orchestration mode is set to Runtime Owned — canonical turn.
    • Runtime text (recommended): Runtime generates the response text. This option provides consistent response generation.
    • Provider-grounded voice: Uses the realtime voice provider to generate spoken responses while runtime continues to control conversation flow and business actions. This option is available only for Gemini Live. For unsupported or unsafe conversation turns, it automatically falls back to runtime-generated text responses.
  • Semantic convergence: Semantic Convergence determines how the platform coordinates with the realtime voice provider during a voice interaction. Controls whether realtime voice turns use the coordinated utterance runtime. This setting is available only when the realtime orchestration config is set to Legacy mode. The Effective at runtime line below the setting shows the mode currently in effect.
  • S2S Provider: The realtime speech-to-speech model the channel uses. Select an approved realtime provider and model, and match its audio format, locale, voice, and tool-calling capabilities to the agent. Select one of the following: Amazon Nova Sonic (S2S), Azure OpenAI Realtime, Grok Realtime (S2S), Google Gemini Live, or OpenAI Realtime. Each option shows which credentials it uses:
  • Realtime model connection: Shown for every S2S provider except Amazon Nova Sonic, which authenticates via Voice Service credentials instead. Selects the project-pinned realtime model this provider uses. It shows Use project realtime model until a workspace admin adds one. The Source line below the dropdown shows where the model comes from, and the deployment uses this exact model connection. To add one:
    1. Configure the model under Voice Services, then add it to the model catalog as an LLM provider.
    2. In the project, go to Settings > Models and add the model you configured at the workspace level. See Models.
  • Provider-specific settings: After you select an S2S provider, a configuration section for that provider appears. Expand the provider below to see its settings.
    Under Amazon Nova Sonic Configuration, set the following fields.Pending tool fillersTurn on Pending tool fillers to let Nova speak a brief hold phrase when a project tool is still running. Fast tools finish without a filler.Coordinator turn fillerTurn on Coordinator turn filler to let Nova speak a short hold phrase during convergence-enabled coordinator turns while Runtime decides and executes the turn.Advanced voice behaviour (Nova-specific)Also configure the Advanced voice behaviour settings that apply to all providers, described after the provider list.
    Under Azure OpenAI Realtime Configuration, set the following fields.Turn detectionAlso configure the Advanced voice behaviour settings that apply to all providers, described after the provider list.
    Under Grok Realtime Configuration, set the following fields.Also configure the Advanced voice behaviour settings that apply to all providers, described after the provider list.
    Under Gemini Live Configuration, set the following fields.Tool response schedulingRealtime turn fillerSeparate from project Voice Fillers. Applies only to Google or Vertex realtime S2S calls while semantic convergence is set to Enforce.Filler delivery safeguardsShared by pending-tool and realtime turn fillers.Voice activity detectionControls when Gemini starts listening to a caller turn and how long it waits before closing that turn.Caller transcriptionSilent-turn recoveryAdvanced voice behaviour (Gemini-specific)Also configure the Advanced voice behaviour settings that apply to all providers, described after the provider list.
    Under OpenAI Realtime Configuration, set the following fields.Turn detectionTune how OpenAI detects when speech starts and when the caller has finished speaking.Caller transcriptionHow the caller’s speech is written down. This text is stored as the caller’s turn and is what the agent checks answers against.
    Never put a caller’s own details in Words to expect. The transcriber would then hear them from anyone.
    Realtime turn fillerApplies only to OpenAI Realtime calls while semantic convergence is set to Enforce. Off by default.Advanced voice behaviour (OpenAI-specific)Also configure the Advanced voice behaviour settings that apply to all providers, described after the provider list.
  • Advanced voice behaviour (all providers): Optional behaviours for this channel. Each one is off, empty, or set to the earlier platform behaviour until you change it.
  • Voice transfer and survey capabilities: A read-only panel that shows how many of the transfer and survey capabilities Runtime evaluates as available for the concrete voice execution boundary (the execution surface is KoreVG realtime S2S), for example 11 of 11 capabilities available. It lists the following capabilities, each marked Available or not.
Click Save Changes on the Speech tab to apply the settings.
6

Save and confirm provider readiness

Resolve any missing provider credentials and model configuration before you test. After you save, confirm that Studio shows the phone number on the saved connection. Each tab has its own Save Changes button, so save on each tab you edit.
Don’t repoint shared KoreVG or softphone hosts. Phone registration, device call, Jambonz API, and SBC hosts are shared environment settings. Only a connection-specific callback may target a local tunnel during isolated testing.

Test the Realtime LLM Voice Channel

Open the Testing tab to verify the channel before going live.
  • Shareable softphone link: Generate a time‑limited link that lets anyone call the channel from a phone browser through the real gateway and view a read‑only transcript.
    • Links expire after 7 days and can be revoked at any time.
    • Active links shows links currently in use, or No active links for this channel.
    • Viewing active links requires read access; generating or revoking links requires edit permission.
  • Soft Phone dialer: From the Settings tab, select Soft Phone > Launch dialer to call the agent directly from your browser.
    • No DID purchase or telephony charges are required.

Verify and secure the Realtime LLM Voice channel

Before you go live, validate the quality of realtime calls. Realtime quality depends on the slowest leg of the call, so test each of the following.
1

Preview with HTTPS voice

Generate a time‑limited preview, allow microphone access, start and stop a call, mute/unmute, and confirm chat remains usable if microphone or provider setup fails.
2

Run an isolated PSTN test call

Dial the provisioned number and validate greeting, bidirectional audio, tool execution, transfer/termination, caller hang‑up, and one stable Runtime session.
3

Measure latency budget

Record gateway connect time, provider session setup, input audio commit, first model audio, end‑to‑end turn p50/p95, jitter, and packet loss.
4

Test barge‑in and rapid turns

Interrupt a long agent response, speak immediately, and verify stale audio is cancelled, tool calls aren’t duplicated, and the next user turn is preserved.
5

Exercise failure scenarios

Deny microphone access, force provider disconnect, gateway reconnect, model timeout, tool failure, phone hang‑up, and capacity rejection. Confirm caller hears or receives the designed fallback.

Security, Latency, and Reliability Practices

  • Protect credentials: Treat realtime provider and carrier credentials as administrator‑managed secrets. Do not copy API keys into connection identifiers, browsers, screenshots, or agent prompts.
  • Minimize overhead: Avoid unnecessary transcoding, buffering, proxy hops, and oversized tool responses. Set explicit connection and turn timeouts, and verify heartbeat behavior through every proxy.
  • Validate capacity: Check provider concurrency, KoreVG session limits, phone capacity, and backpressure before load tests. Capacity rejection must fail predictably, not degrade active calls.
  • Define fallback behavior: Specify caller‑visible handling for provider unavailability, timeout, safety rejection, tool failure, and transfer failure. Include rules for retry, reprompt, mode switch, or call termination.
  • Trace sessions: Capture call/session IDs, provider events, tool calls, turn latency, interruptions, errors, and termination reasons. Scrub audio, transcripts, and credential data from logs.

Manage an existing Realtime LLM Voice channel

Open a channel from Deployments > Channels > Voice > Realtime LLM Voice and select a connection. The connection header shows the display name, its status (for example, Active), and when it was last updated. The connection has three tabs. Changing settings on the Settings or Speech tab updates the live channel after you click Save Changes.

Troubleshoot Realtime LLM Voice

  • Calls to the number fail: an Active phone-routed connection without a provisioned number can’t receive production PSTN calls. Assign or buy a number, and confirm it’s bound to this connection.
  • The channel can’t start a session: resolve missing provider credentials and model configuration, then save the connection and test again.
  • Duplicate tool calls or stale audio after an interruption: repeat the barge-in test from Verify and secure the Realtime LLM Voice channel and check the traces for the affected call and session IDs. For the full validation checklist, click Setup instructions on the Realtime LLM Voice channel page.

Set up Pipeline Voice channel

It’s a voice channel that handles calls through separate speech-to-text, LLM, and text-to-speech stages, connected through Kore.ai Voice Gateway. Unlike Realtime LLM Voice, which uses a single speech-to-speech model, this pipeline lets you choose and configure the ASR (speech-to-text) and TTS (text-to-speech) providers independently.
Choose your voice provider before you begin - it determines which additional fields apply later in this setup.
To configure a Pipeline Voice channel, go to Deployments > Channels > Voice > Pipeline Voice > + New and complete the following steps in order.
1

Set Up the Connection

On the New Pipeline Voice Connection page, provide the following fields.Click Create.
2

Choose a Voice Provider

After creating the channel, go to the Configuration tab. Under Pipeline Voice Settings, set Voice Provider to either Kore.ai Voice Gateway or Bring Your Own SIP — this determines which call routing fields appear next.
3

Configure Call Routing (Kore.ai Voice Gateway)

If you chose Kore.ai Voice Gateway, set the following fields under Call routing. Choose how calls reach this agent — enable Soft Phone for browser testing, or add a DID when this channel needs a real phone number.
If you enable Phone Number (DID), complete the next step. If you chose Voice Provider: Bring Your Own SIP instead, skip to Configure SIP Settings.
4

Configure the Phone Number (DID Only)

Set the Provider to Twilio, toggle Inbound calls (route calls from this number into the voice agent) and Outbound calls (allow this number to be used for campaign dialout), and select a Country and Number Type. Optionally enter an Area Code to filter available local numbers. Select Search Available Numbers to list matching numbers.
5

Configure SIP Settings (Bring Your Own SIP)

If you chose Voice Provider: Bring Your Own SIP, set the following fields under SIP Configuration.Toggle Enable E.164 (leading +) to prepend a leading + to outbound numbers sent to the carrier - on by default, which international (full-E.164) numbers require. Turn it off only for local/national-format numbers, since the leading + otherwise misroutes them.
6

Connect greeting

Plays the configured as soon as the call connects. Configure greeting audio under Runtime config settings.
7

Keypad tone

Plays an audible keypad tone to the caller each time a DTMF key is pressed. Disabled by default. Do not enable this setting for PCI or secure-input flows until unit testing confirms that keypad tones are not included in call recordings.
8

Voice gateway turn detection

Allows the voice gateway to determine when the caller has finished speaking using voice and wording signals instead of the speech provider’s silence timer. Disabled by default.
Requires a voice gateway that supports turn detection.
Patience: Specifies how long the voice gateway waits for the caller to finish speaking before determining that the turn is complete. The available options balance response speed with tolerance for pauses while the caller is speaking or spelling information.
  • Faster settings respond sooner but may interrupt callers who pause mid-sentence.
  • More patient settings wait longer and are better suited for spelled names, numbers, and longer answers.
  • Slow waits the longest and is suitable for letter-by-letter spelling and long reference numbers.
9

Trust inbound SIP headers

Specifies whether to trust SIP headers received from the inbound call. Enable this setting only if your SBC sets or overwrites these headers. If the headers can originate from the caller, their values are not trustworthy. When enabled, headers configured to pass through from the inbound call (for example, User-to-User) are sent on the transfer. When disabled, these headers are dropped.
10

Configure Speech Recognition

Under Speech Recognition, set the following fields.
11

Configure Speech Synthesis

Under Speech Synthesis, set the following fields.
  • After you click Add language, the platform creates a dedicated TTS configuration section for that language. Configure the provider, voice, model, and any provider-specific settings independently for each language.
  • Available fields vary by provider. Some providers expose additional settings such as TTS model, output format, speed, temperature, and voice tuning controls. Each language profile maintains its own provider configuration, allowing multilingual agents to use different voices and models for different languages.
12

Tune ElevenLabs Voice Settings (ElevenLabs Only)

If you selected an ElevenLabs voice, override playback and prosody for this channel connection under ElevenLabs Voice Settings.Under Preview Voice, enter sample text (up to 500 characters) and select Generate to hear the configured voice before saving.
13

Configure Conversation Controls

Set the following fields.Under Connect greeting (audio), optionally play a clip as soon as the call connects, before the agent’s first turn. If the project’s greeting-audio library has no clips yet, the panel shows a note and an Open Greeting Audio link to add one.
14

Save the Channel

Click Save Changes to apply the configuration.

Manage an existing Pipeline Voice channel

Open a channel from Deployments > Channels > Voice > Pipeline Voice. It displays the following three tabs.
The Connection Summary displays these fields.

Pipeline vs. realtime voice

Pipeline voice (speech-to-text, agent, text-to-speech) and Realtime LLM Voice (speech-to-speech) build the agent’s turn differently underneath the same ABL. Knowing which one a channel uses matters when authoring instructions, reasoning about history after a handoff, or sizing tool results. Handoff replay on realtime channels varies by provider. OpenAI Realtime and Azure OpenAI Realtime resend the new agent’s prompt with a replay of up to 8 recent messages (4,000 characters total, 700 per message). Amazon Nova Sonic opens a new stream with recent turns in a short block (also up to 4,000 characters, 700 per message). Grok Realtime replays every earlier caller utterance. Gemini Live starts a fresh session and replays history.

Authoring voice behavior in ABL

The Studio settings on this page configure a channel. The agent’s own spoken behavior is authored in ABL:
  • Spoken-style rules and grounding guards — EXECUTION.voice.instructions and EXECUTION.voice.grounding_guards, which replace the platform’s default voice formatting rules and can refuse ungrounded tool arguments or figures. See Voice instructions and grounding guards.
  • Realtime delivery tone — EXECUTION.voice.coordinator_policy (tone, pace, brevity, interruption handling, accessibility read-backs). See Voice coordinator policy.
  • Per-response voice overrides — the VOICE: block on a RESPOND (SSML, plain text, provider, voice, speed) plus the step- and response-scoped BARGE_IN, STREAMING, and END_OF_SPEECH_TURN_TYPE overrides. See Voice configuration and Scoped barge-in.
  • Listening and turn-taking — CONVERSATION: listening: (barge-in, no-input retries, caller backchannel, on-hold phrases, barge-in continuation merging). See Voice turn-taking.
  • Low-latency defaults — new projects and voice channels get the customer_service_voice_low_latency_v1 profile automatically: tighter compaction, the fast model tier for every operation, reasoning off, and inline gather on. The Studio side of this profile — model routing, compaction budgets, and filler tuning — is covered in Voice low-latency profile.
The low-latency profile does not fall back to the project’s default model. If the workspace has no model assigned to the fast tier, voice turns have no model to call.