config.turn_handling is how the agent behaves around the edges of a turn: whether
the caller can cut it off, what it does when they seem to have but had not, and
whether it starts drafting a reply before it is certain they are done.
Voice and video only. Switching an agent to text resets the whole block, and
nothing in it reaches a text conversation.
What actually ends the caller’s turn is not configured here. Which end-of-turn
detector runs follows from the speech-to-text model and
config.language, and there
is no knob for it. The two silence numbers below mean different things depending on
which one you got. Read
speech and turn detection
before tuning them.Interruption
boolean
default:"true"
Whether the caller can cut the agent off mid-sentence. Off, the agent finishes
every line it starts.
number
default:"0.5"
Seconds of speech before it registers as an interruption. Minimum 0. Raise it on
a noisy line, where a cough should not stop the agent.
integer
default:"0"
Words the caller must say before it counts as an interruption. Minimum 0, and 0
means the word count is not consulted. Needs interim transcripts, so it applies
to the speech-to-text pipeline only.
boolean
default:"true"
After an interruption that turned out not to be one, pick the sentence back up
where it stopped.
number | null
default:"2.0"
Seconds of silence after an interruption before it is classified as false.
Minimum 0.
null switches false-interruption classification off entirely, which
also means nothing is ever resumed.boolean
default:"true"
Drop buffered caller audio while the agent is speaking and cannot be interrupted.
Off, that audio is kept and reaches the agent once it finishes speaking.
min_words on a batch speech-to-text model is a warning at save, not an error:
Preemptive generation
The agent starts drafting a reply before it is certain the caller has finished, so the pause before it speaks is shorter. If the turn does not end where it guessed, the draft is thrown away — and you paid for it.boolean
default:"false"
Off by default on Talqing, deliberately: it buys latency and costs discarded
generations, and that trade should be one you make on purpose.
boolean
default:"false"
Also run text-to-speech ahead of the confirmed turn. With this off, only the
language model runs early. It cuts more of the pause and discards more when the
guess is wrong.
number
default:"10.0"
Longest stretch of caller speech, in seconds, that preemptive generation is
attempted for. Minimum 0.
integer
default:"3"
Attempts per user turn. The counter resets when the turn completes. Minimum 0.
- A realtime (speech-to-speech) agent. The model detects turns itself, inside
the provider’s socket, and has already answered by the point where a speculative
reply would have been useful.
enabledandpreemptive_ttsare both pinned off. - An agent watching a screen share. The newest frame is injected into the context on every turn, so the context the speculative reply was generated against never matches the one the turn runs on — every preemptive reply would be generated, billed and thrown away. See vision and images.
Endpointing
turn_handling.endpointing holds the two silence numbers —
min_silence_duration (0.5, minimum 0.25) and max_silence_duration (2.5, and it
must be at least the minimum). They are in the reference table below, but what each
one means depends on which speech-to-text model is running, and that is on
speech and turn detection. Read it
before you change either.
The short version: min_silence_duration always does something, though on several
models it is a window handed to the provider rather than a wait Talqing performs, and
on a realtime agent it becomes the provider’s own silence window.
max_silence_duration does something on exactly one pipeline — a batch model with
config.language set to one the end-of-turn model knows — and is ignored everywhere
else.
Symptom to setting
Reference
Next
Speech and turn detection
What actually ends a caller’s turn, and the fourteen languages.
Audio processing
Noise cancellation and background audio.
Debugging agents
The playbook when a call sounds wrong.