> For the complete documentation index, see [llms.txt](https://angoor-ai.gitbook.io/angoor-ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://angoor-ai.gitbook.io/angoor-ai/tutorials/setup-a-simple-voice-agent/configure-the-plivo-integration.md).

# Configure the Plivo Integration

#### Overview

The Plivo Integration is the telephony layer of the voice agent — it is responsible solely for connecting phone calls between the caller and the system. It handles receiving inbound calls and carrying the call audio to and from the caller.

**Navigation:** `Configuration → Integrations → Plivo`

<figure><img src="/files/15hSjW6JYZWZCvww6Xp6" alt=""><figcaption></figcaption></figure>

***

#### 1.1 General Configuration

The General Configuration section controls the overall behavior of the voice channel.

#### Mode

**Description:** Defines how the channel processes a conversation — how tightly the system controls the flow of the call.

**Values:**

* **`REALTIME`** — The AI processes speech, generates a response, and speaks back turn by turn, without waiting for the conversation to finish.
* **`Open`** — A less restricted mode that allows a more free-form exchange, without the structured turn-by-turn control of REALTIME.
* **`Controlled`** — A more restricted mode in which the conversation follows tighter, system-governed control over how and when responses are exchanged.

#### Status

**Description:** The on/off switch for the integration. Determines whether the channel is operational.

**Why it matters:** When Inactive, incoming calls cannot be processed by the AI at all.

**Values:**

* `Active` — Integration accepts and processes calls
* `Inactive` — Integration is disabled

#### Dispatch Strategy

**Description:** Controls how incoming events are routed internally once a call arrives.

**Why it matters:** Broadcasting speeds up response processing because the system does not wait on a single handler, which improves both speed and resilience.

**Values:**

* **`Round_robin`** — Distributes incoming requests evenly across available handlers, one after another in rotation. This balances load across handlers, which helps prevent any single one from being overwhelmed.
* **`Broadcast`** — Sends each request to all available handlers and services simultaneously, ensuring faster response processing because the system does not wait on a single handler. Recommended for production deployments where speed and resilience matter most.

#### Not Available Message

**Description:** A message played when no AI service or handler is available to take the call.

**Why it matters:** Ensures callers receive clear feedback instead of experiencing a silent, confusing call failure.

**Example:** *"Sorry, no agents are currently available."*

#### After Hours Message

**Description:** A message played outside your configured operating hours.

**Why it matters:** Maintains a professional caller experience around the clock, so a caller who dials in after hours is greeted properly rather than met with dead air.

**Example:** *"Our office is currently closed. Please call later."*

#### Disable First TTS Interrupt

**Description:** Prevents the caller from interrupting (talking over) the agent's very first spoken message.

**Why it matters:** Guarantees the opening message is heard in full, so important information is never missed.

**Recommended use cases:** Compliance messages, legal disclaimers, identity-verification instructions, welcome messages.

#### Enable Background Noise

**Description:** Adds subtle ambient audio to the generated speech.

**Why it matters:** A small amount of background ambience makes conversations feel more natural, reduces the robotic perception of the voice, and improves caller engagement.

**Recommended for:** Production agents who want a more human-like interaction.

***

#### 1.2 Speech-to-Text (STT)

#### Overview

Speech-to-Text converts the caller's spoken audio into text that the AI can understand. Its quality has an outsized impact on the whole system: it affects intent recognition, conversation accuracy, response quality, and the overall caller experience. A poor transcription can send the AI down the wrong path, while a high-quality transcription improves every step that follows.

An important detail: **the configuration fields change depending on which STT provider you select.** Each provider exposes its own parameters, so the fields documented below are organized per provider.

#### Choosing a Provider

Angoor AI supports multiple STT providers, letting you choose based on language coverage, latency, and accuracy.

**ElevenLabs Scribe** — A premium real-time provider optimized for AI conversations.

* *Recommended for:* Real-time AI agents, customer support, sales calls, high-accuracy transcription

**Sarvam Saaras** — Optimized for Indian regional languages.

* *Recommended for:* Hindi, Telugu, and Tamil conversations; multilingual Indian customer support

**Smallest AI Pulse** — A lightweight provider optimized for low latency.

* *Recommended for:* Fast conversational systems, cost-sensitive deployments, experimental environments

**Deepgram Nova** — An enterprise-grade transcription provider.

* *Recommended for:* Contact centers, large-scale deployments, high-volume voice operations

***

#### 1.2.1 ElevenLabs Scribe — Configuration

**STT Provider** — Set to `ElevenLabs Scribe`.

**Model ID** — The specific Scribe model; determines speed, accuracy, and streaming behavior. *Example:* `scribe_v2_realtime`.`scribe_v2`

**Language Code** — How speech is interpreted. May be left as `NA` or set to a specific code (e.g. `en`, `hi`, `te`, `ta`). Setting it correctly improves accuracy.

**Commit Strategy** — Determines *when* finalized speech is submitted to the AI. Faster strategies improve responsiveness; conservative strategies improve transcription accuracy.

**VAD Silence Threshold (secs)** — How long a silence must last before the caller's turn is treated as finished.

**VAD Threshold** — The sensitivity for classifying audio as speech versus silence.

**Min Speech Duration (ms)** — The shortest burst of audio that counts as genuine speech; filters out brief noise.

**Min Silence Duration (ms)** — The shortest pause that counts as a real silence, so natural gaps between words aren't mistaken for the end of a turn.

> ElevenLabs Scribe offers the most granular Voice Activity Detection control of the four providers, making it the best choice when fine-tuned turn-taking matters.

***

#### 1.2.2 Sarvam Saaras — Configuration

**STT Provider** — Set to `Sarvam Saaras`.

**Language Code** — The language to transcribe. May be `NA,hi-IN,en-IN` or a specific code.

**Model** — The Saaras model variant. *Example:* `saaras:v3` .

**Sample Rate (Hz)** — The audio sampling rate the model expects. *Example:* `8000` (8 kHz, standard for telephony).

**Mode** — The transcription mode for the Saaras engine.

> Sarvam Saaras trades the detailed VAD controls for telephony-specific tuning (sample rate, phonecall-optimized model), which is why it suits Indian-language phone support.

***

#### 1.2.3 Smallest AI Pulse — Configuration

**STT Provider** — Set to `Smallest AI Pulse`.

**Language** — The language to transcribe. *Example:* `multi` (multilingual / auto).

**Sample Rate (Hz)** — The audio sampling rate. *Example:* `8000`.

**Encoding** — The audio encoding format. *Example:* `mulaw` (μ-law, the standard codec for telephone audio).

> Pulse is the most lightweight configuration — just language, sample rate, and encoding — reflecting its focus on low latency and simplicity.

***

#### 1.2.4 Deepgram Nova — Configuration

**STT Provider** — Set to `Deepgram Nova`.

**Model** — The Nova model variant. *Example:* `Enhanced-Phonecall` ,`nova-3`.

**Language** — The language to transcribe. *Example:* `multi` (multilingual).

**Endpointing (ms silence)** — How long a silence (in milliseconds) marks the end of speech — Deepgram's equivalent of a silence threshold.

**Utterance End (ms)** — How long to wait before finalizing an utterance as complete.

**Encoding** — The audio encoding format. *Example:* `mulaw`.

**Sample Rate (Hz)** — The audio sampling rate. *Example:* `8000`.

**Punctuate** *(checkbox)* — Automatically adds punctuation to the transcript.

**Smart Format** *(checkbox)* — Formats numbers, dates, and other entities into a cleaner, human-readable form.

> Deepgram Nova offers the richest enterprise feature set — endpointing control plus automatic punctuation and smart formatting — which is why it suits contact centers and high-volume operations.

***

#### Logging Options (all providers)

These options appear regardless of the selected STT provider:

**Enable Logging** *(checkbox)* — Records transcription activity for monitoring, debugging, and QA.

**Include Timestamps** *(checkbox)* — Attaches timing data to each transcribed segment, useful for analysis and aligning transcripts with recordings.

#### 1.3 Text-to-Speech (TTS)

#### Overview

Text-to-Speech is the mirror image of STT: it converts the agent's generated text back into spoken audio that the caller hears. This section controls which voice the agent uses and exactly how that voice sounds.

As with STT, **the configuration fields change depending on which TTS provider you select.** Each provider exposes its own parameters, so the fields below are organized per provider.

#### Choosing a Provider

Angoor AI supports multiple TTS providers, letting you choose based on voice quality, language and accent coverage, latency, and cost. Each provider naturally pairs with its STT counterpart, though you may mix them.

**ElevenLabs** — A premium, highly natural voice-generation provider optimized for lifelike AI conversations.

* *Recommended for:* Customer support, sales, and any agent where voice quality and naturalness are a priority
* *Pairs with:* ElevenLabs Scribe (STT)

**Sarvam** — Optimized for Indian regional languages and accents.

* *Recommended for:* Hindi, Telugu, and Tamil voice output; multilingual Indian customer support
* *Pairs with:* Sarvam Saaras (STT)

**Smallest AI Waves** — A lightweight provider optimized for low latency and speed.

* *Recommended for:* Fast conversational systems, cost-sensitive deployments, experimental environments
* *Pairs with:* Smallest AI Pulse (STT)

**Deepgram** — An enterprise-grade voice provider built for scale.

* *Recommended for:* Contact centers, large-scale deployments, high-volume voice operations
* *Pairs with:* Deepgram Nova (STT)

***

#### 1.3.1 ElevenLabs — Configuration

**TTS Provider** — Set to `ElevenLabs`.

**Voice ID** — Identifies the specific voice the caller hears; this defines the agent's vocal personality. *Example:* `jUjRbhZWoMK4aDciW36V`.

**Model ID** — The TTS model used to generate audio; affects quality and latency. *Example:* `eleven_v3` ,`eleven_multilingual_v2` or `eleven_flash_v2_5` .

**Voice ID Override (tts\_attrs)** — Optional. Overrides the configured voice at runtime, per call or context. Leave empty unless a specific flow needs a different voice.

**Model ID Override (tts\_attrs)** — Optional. Overrides the configured model at runtime.

**Language Code** — The language the speech is generated in (separate from the STT language code).

**Voice settings → Use Speaker Boost** *(checkbox)* — Enhances the clarity and presence of the generated voice.

> ElevenLabs is identity-driven: you pick a specific Voice ID and model, with optional runtime overrides — the most voice-centric of the four providers.

***

#### 1.3.2 Sarvam Bulbul — Configuration

**TTS Provider** — Set to `Sarvam Bulbul`.

**Target Language Code** — The language and region for the spoken output. *Example:* `hi-IN,en-IN` .

**Speaker** — The named voice persona used for output. *Example:* `Shubh, Anushka`.

**Model** — The Bulbul voice model. *Example:* `bulbul:v3`.

**Pitch** — Adjusts the pitch of the generated voice (higher or lower than the default).

**Pace** — Adjusts the speaking rate of the voice.

**Loudness** — Adjusts the output volume of the voice.

**Enable Preprocessing** *(checkbox)* — Cleans and normalizes the text before synthesis for smoother delivery.

> Sarvam Bulbul is the most expressive provider, exposing direct pitch / pace / loudness controls and a named Speaker, which suits localized Indian-language voices.

***

#### 1.3.3 Smallest AI Waves — Configuration

**TTS Provider** — Set to `Smallest AI Waves`.

**Model** — The Waves voice model. *Example:* `lightning-v3.1`.

**Voice ID** — Optionally specifies a particular voice. Example:`magnus`.

**Language** — The language for spoken output. *Example:* `auto` (auto-detect).

**Sample Rate (Hz)** — The audio sampling rate of the generated speech. *Example:* `8003`.

**Speed** — The playback rate of the generated speech. *Example:* `1.2`.

**Output Format** — The audio encoding of the output. *Example:* `M-Law — Mulaw (Telephony Default)`.

> Waves is tuned for telephony output — sample rate, speed, and a telephony-default encoding — matching its low-latency, lightweight focus.

***

#### 1.3.4 Deepgram Aura — Configuration

**TTS Provider** — Set to `Deepgram Aura`.

**Voice Model** — The Aura voice, including its character description. *Example:* `aura-2-thalia-en` .

**Encoding** — The audio encoding of the output. *Example:* `M-Law — Mulaw (Telephony Default)`.

**Sample Rate (Hz)** — The audio sampling rate. *Example:* `8003`.

> Deepgram Aura keeps configuration minimal — a descriptive named voice plus telephony encoding and sample rate — which suits high-volume, standardized contact-center output.
