Turn detection is how a voice agent decides the caller has finished speaking. It sits on top of voice activity detection, which only hears speech, and judges from a timer, an audio model, the words or the speech provider's own signal. A later section shows where it lives in Dograh, the open-source voice agent platform we build.
Key Takeaways
- VAD hears speech stop. Turn detection decides the caller has finished.
- Every method trades early cut-ins against slow replies.
- Some speech-to-text models end the turn themselves and override your setting.
This post is part of our guide to voice activity detection, where speech stopping is not the caller being done. Here we look at the decision after the pause, where an agent guesses whether the caller is finished, and at the settings that control that guess in Dograh.
Turn detection, defined
Turn detection is the part of a voice agent that decides when the caller's turn is over and the agent's turn begins. People do this without thinking. A voice agent has to make the call from audio alone, many times a minute, without seeing the caller's face.
Get it wrong one way and the agent cuts in while the caller is still mid-sentence. Get it wrong the other way and the caller hears dead air after every answer, and often starts talking again just as the agent replies. Both feel broken on a phone call, and most complaints that a voice agent "talks over people" or "feels slow" trace back here.
The term also covers the start of a turn, when the caller begins to speak while the agent is talking. That decision, usually called barge-in, sits next to turn detection and uses some of the same signals. This post is mostly about the end of a turn, which is where agents go wrong most often.
How turn detection differs from VAD
Voice activity detection (VAD) answers a narrower question: is this slice of audio speech or not? It scores tiny chunks of sound, a few tens of milliseconds each, and marks speech as started or stopped. It has no idea whether a sentence is finished.
Take a caller who says "I'd like to book for..." and pauses to check a calendar. VAD marks the speech as stopped a fraction of a second into that pause, while the caller is still choosing a day. If the agent replied to every VAD stop, it would answer half-sentences all day.
Turn detection sits on top of VAD and adds judgment. It treats each VAD stop as a candidate end of turn and then decides whether to wait or reply. VAD is the sensor, and turn detection is the decision made from it. Our post on barge-in, endpointing and turn-taking covers the other side, how an agent decides to stop talking when the caller cuts in.
Four ways to decide a turn is over
Every voice stack picks one of four ways to make the decision, and some combine them. Each one listens to a different signal, so each one fails on different calls.

The simplest is a silence timer. After VAD marks a stop, the agent waits a fixed time and replies if the caller stays quiet. It is fast and predictable on short answers like "yes" or "Tuesday". It fails on callers who pause mid-thought, because a pause looks the same whether the sentence is done or not.
The second is an audio model that listens to how the sentence sounds. Smart Turn, an open model under the BSD-2 license, hears the end of the turn and judges from the sound alone whether the speech is finished. It is about 8 MB, covers 23 languages and, per its README, runs in under 100 milliseconds on most cloud instances. It warns that it is not built for very short audio, which is what a one-word answer is.
The third reads the words. OpenAI's realtime voice activity guide describes a semantic mode that "chunks the audio when the model believes based on the words said by the user that they have completed their utterance", with an eagerness setting. "My number is four four seven" reads as unfinished, so the agent waits. This works when the transcript is right and the words carry the meaning.
The fourth hands the decision to the speech-to-text model. Some, such as Deepgram Flux, build an end-of-turn signal into the transcription itself and send it with the text. Speech-to-speech models go a step further and handle turn-taking inside the model, so the platform follows whatever the provider decides.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Why no method is solved yet
People are far better at turn-taking than any current system. TurnBench, a 2026 benchmark built on 30 hours of hand-labeled conversation, found that in smooth handovers people start speaking a median of 151 milliseconds before the other person's turn ends. People predict the end. Most voice agents have to wait for silence before they can even begin.
The same study tested 14 turn-taking systems and concluded that "no current system performs equivalently without incurring excessive false positives". In plain terms, a system tuned to reply as fast as people do also cuts in far more often. False interruptions clustered in conversations full of short "mm-hmm" sounds, the backchannels people use to show they are listening.
Full-duplex models, which listen and speak at once, have not closed the gap either. Full-Duplex-Bench-v2 found that such systems "often get confused when people talk at the same time" and struggle with corrections. Phone lines add their own noise, and most calls still arrive at 8 kHz against the 16 kHz of a browser demo, so test any setting tuned in a demo on a real line.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Where turn detection lives in Dograh
In Dograh, turn detection belongs to the orchestration layer, so you choose it per agent rather than per model. The agent's Settings has a Turn Detection section with a Detection Strategy dropdown. Transcription-based, the default, is a silence timer that also waits for the transcript. Smart Turn Analyzer runs the Smart Turn model and keeps listening, up to an Incomplete Turn Timeout of 2 seconds by default, when a sentence sounds unfinished.
The start of a turn is a separate setting. Interruption Strategy decides when the caller can cut in, either on Voice activity or after a Minimum words count, which defaults to two words. Allow Interruption is on by default for agent steps.
Your choice of speech-to-text model can override all of this. With Deepgram Flux, Cartesia ink-2 or Dograh's own speech-to-text, the platform follows the provider's end-of-turn signal and ignores the Detection Strategy. On speech-to-speech agents from OpenAI Realtime, Azure Realtime and Grok, the provider's own detection runs and Dograh's local detector is skipped.
Our post on Smart Turn vs silence timers puts the two strategies head to head with every timer value, and turn detection for slow speakers covers callers who read numbers off a card.
Because Dograh is open-source, every timer can be read and changed in its code, and each call's trace shows the timing of every turn, so you can tell a slow turn decision from a slow model. Our page on turn-taking controls in an open-source voice agent maps each setting to the symptom it fixes.
Glossary
- End of turn
- The moment a voice agent decides the caller has finished and it may reply. It is a decision made on top of voice activity detection, which only marks when speech stops.
- Semantic mode
- A turn detection mode that reads the words the caller has said to judge whether the thought is complete. OpenAI's realtime API offers it with an eagerness setting.
- Backchannel
- A short sound such as "mm-hmm" or "right" that shows the listener is following. Turn detection systems often mistake backchannels for the start of a new turn, which causes false interruptions.
- Detection Strategy
- Dograh's per-agent setting for ending turns: Transcription-based, a silence timer that waits for the transcript, or Smart Turn Analyzer, an audio model. Some speech-to-text models override it with their own signal.

