01Summary in 60 seconds
Bolna runs a small "is anyone still talking?" check every 2 seconds. If neither the AI nor the caller has spoken for 10 seconds, it hangs up. 10 seconds plus up to 2 seconds before the next check is the 12 seconds the client sees.
On a healthy call that never happens, because the agent greets the caller and the caller answers. So a clean 12-second drop means something in the pipeline is silently broken. Either the caller never hears the agent (a text-to-speech or audio-format problem), or the agent never "hears" the caller (a speech-to-text or encoding problem). Bolna can't tell the difference from real silence, so it ends the call as inactivity_timeout.
Our pitch: "I reproduced your exact bug inside Bolna's own code, built a tool that names the cause from the call logs, and here's the fixed call running for 2 minutes."
- Run real Bolna locally (open-source, Docker: the Bolna app plus Redis). It's the same engine the hosted platform is built on.
- Call it with a fake Twilio: a Python client that speaks Twilio's exact Media Streams protocol, streaming a scripted caller voice (WAV) and playing the agent's replies. No phone carrier, no trial-account blocks, and the same result on every take.
- Flip one setting at a time to reproduce each root cause. Each one drops at about 12 s.
- Call Doctor reads Bolna's logs and the caller's event log and draws a timeline. It shows who hung up and why, flags which event is missing, and names the cause.
- Apply the fix and show a 2-minute call with interruptions and a per-turn latency breakdown.