The symptom

The caller finishes a sentence and the agent never replies. Not a slow reply — no reply. The call stays open, the transcript keeps filling with words, and the agent sits there until the caller hangs up. This is almost always a room with other people talking in it: a contact centre floor, a shop counter, a shared office, a speakerphone on a desk.

Why it happens

The agent only answers once it believes your turn has ended. That belief comes from voice activity detection (VAD), which listens for a stretch of silence after you stop speaking. In a room with continuous chatter, that stretch of silence never arrives — the caller stopped, but the microphone did not go quiet — so the turn never ends and the agent never gets its cue to speak.
Turning Interruption Sensitivity up does not fix this. That slider asks “is this speech?”, and the people talking behind your caller genuinely are speech. They pass the test honestly. Making the agent more sensitive to speech makes a noisy room worse, not better.
The control that does work asks a different question: is this the caller? A loudness floor is a gain gate, not a speech test, so it separates the person holding the phone (near the microphone) from the room behind them (not near the microphone). It also gates the end of a turn as well as the start, which is the half that actually unsticks a waiting agent.

Where the controls live

Open your agent in the Voice Agent Builder, then Speech Settings → Speech Detection. There are four boxes. Leaving a box empty means “use the default” — an empty box is not zero, it is the platform’s own value.
The bottom two boxes are the same two parameters the Interruption Sensitivity slider scales. Typing a number into either one detaches the slider for that parameter until you clear the box again. Loudness and the silence window are never touched by the slider.

The quick fix

The Noisy environment button at the top of the Speech Detection group fills these in for you:
  • Loudness → 0.70
  • Speech that starts the turn → 350 ms
  • Speech detection confidence → back to default
  • Silence that ends the turn → back to default
Loudness is the lever. The 350 ms start window is a helper: it discards short bursts that clear the loudness gate without sustaining — a cough, a door, a single shouted word across the room. The other two go back to default because raising them cannot help, and a value someone raised while guessing is actively in the way. The button writes ordinary values into ordinary boxes. Edit any of them afterwards; nothing is locked. If the boxes already hold values you set, the button shows you exactly what would change, field by field, before it changes anything, and Undo puts your values back until you save.

Tuning it yourself

Do not over-tune the loudness floor. Set it too high and quiet, elderly, soft-spoken, or distant callers stop being heard at all — not slower to interrupt, not occasionally clipped: simply never detected. Nothing in the transcript will tell you it happened, and the caller experiences an agent that ignores them completely. This failure is worse than the one you were fixing, and unlike the noisy-room hang it is silent.
The unit is loudness rescaled to 0-1, roughly 0.01 per decibel. The default 0.6 sits near -45 dBFS, which is extremely permissive; 0.75 sits near -30 dBFS.
  1. Tune against your quietest expected caller, not your noisiest room. The room is the problem you can see. The quiet caller is the one you will never hear about, because they hang up.
  2. Start at 0.70. For most rooms this is enough.
  3. Only go to 0.75 if chatter still gets through. Above 0.75 you are trading away real callers for marginal noise rejection. Treat that as a signal to fix the acoustics or the headset, not the config.
  4. Test with a real quiet caller before you roll it out — hold the phone at arm’s length, speak at the volume your softest customer would use, and check the agent still answers.

Phone calls and browser calls behave differently

A value that works in a browser test can be wrong on a phone line. Carrier networks apply automatic gain control, which lifts the whole signal — including the background noise — toward a target level. So on PSTN the chatter arrives louder relative to the caller than it did over WebRTC, and the gap the loudness floor relies on is narrower. Tune on the channel you actually ship on. If you run both, tune the phone path first and verify the browser path afterwards; the browser path is the more forgiving of the two.

The backstop

Even with the loudness floor imperfect, a single user turn cannot run forever. The platform installs a wall-clock ceiling on one turn: once a turn has produced a transcript and has run past 45 seconds without the detector ever reporting silence, the turn is ended anyway so the agent can reply.
  • The default is 45 seconds. It can be changed per agent through the API, on conversation.endpointing.max_user_turn_secs, and it is floored at 5 seconds so a mistyped value cannot start cutting ordinary speech.
  • It is not exposed in the agent editor, deliberately — it is a safety net, not a tuning knob.
  • Operators can disable it fleet-wide with the VOICE_MAX_USER_TURN environment variable.
Be clear about what the backstop buys you. It converts a lost call into a slow one. Forty-five seconds of dead air is already a call most callers have abandoned. The backstop exists so a broken turn eventually recovers; it does not make a noisy room work. Fix the loudness floor.

Troubleshooting

  • Interruption Handling — whether a caller can barge in on the agent at all.
  • Transcriber — the speech-to-text side, which is a separate concern from turn detection.