config.silence for a caller who goes quiet, and
config.max_duration_seconds for a call that runs too long. Without them an off-hook
handset or an IVR talking to your agent keeps running your models until the three-hour
platform cap.
Voice and video only; a text agent ignores both (they stay stored). Both are read from
the agent that answered — a handoff does not change them.
Silence
Aftersilence.timeout seconds of quiet, counted from when the agent stops talking, the
agent checks whether the caller is still there, in its own words (written by its model,
in the conversation’s language). It waits timeout again after each check-in. After
max_check_ins unanswered check-ins it says goodbye and hangs up with
close_reason: silence_timeout. Anything the caller says resets the count.
max_check_ins: 0 hangs up at the first silence.
Each check-in is a caller.check_in event on the call, with attempt and of. Silence is
not checked while a transfer holds the call.
If callers legitimately go quiet (reading a long number, holding for their bank), raise
timeout rather than disabling silence handling.
Call length
max_duration_seconds counts from when the agent starts speaking. At the limit the agent
says a brief goodbye and hangs up with close_reason: max_duration. null means the
platform cap of 10800 seconds (three hours), which applies to every voice and video call —
phone, web and media stream. A limit reached while a transfer is dialling waits for the
transfer to finish.
Reference
Next
Turn handling
Interruptions and endpointing.
Close reasons
Every way a call can end.