Description
When using ElevenLabs as the Voice/TTS provider (BYOK), the LLM generates a correct text response and the Live Transcript displays it, but no audio is ever played to the caller. This happens both in self-hosted Asterisk ARI telephony calls and in the hosted app.dograh.com Test Audio feature.
Setup
- Voice tab: Provider=ElevenLabs, Model=eleven_flash_v2_5, valid Voice ID (from My Voices collection), valid API key
- Transcriber: Azure Speech Services, language=ur-IN
- LLM: Groq, openai/gpt-oss-120b
Behavior
- Call connects successfully
- LLM responds with 200 OK and correct text (visible in Live Transcript)
- No audio is heard on the call
- After ~30-50s, connection times out and call drops
Logs
PipelineWorker heartbeat warnings repeat every 10s until timeout:
"heartbeat frame not received for more than 10.0 seconds"
Followed by:
"base_output.py:930 | Failed to write audio frame (consecutive failures: 1/10)"
Possible cause: ElevenLabs WebSocket has a 20s inactivity timeout requiring active keep-alive (per their docs). If Dograh isn't sending keep-alive pings during the gap between text generation and audio streaming, the connection may be silently dying before audio is sent.
Environment
- Self-hosted version: v1.41.0 (Docker Compose)
- Also reproduced on app.dograh.com (v1.42.0)
Description
When using ElevenLabs as the Voice/TTS provider (BYOK), the LLM generates a correct text response and the Live Transcript displays it, but no audio is ever played to the caller. This happens both in self-hosted Asterisk ARI telephony calls and in the hosted app.dograh.com Test Audio feature.
Setup
Behavior
Logs
PipelineWorker heartbeat warnings repeat every 10s until timeout:
"heartbeat frame not received for more than 10.0 seconds"
Followed by:
"base_output.py:930 | Failed to write audio frame (consecutive failures: 1/10)"
Possible cause: ElevenLabs WebSocket has a 20s inactivity timeout requiring active keep-alive (per their docs). If Dograh isn't sending keep-alive pings during the gap between text generation and audio streaming, the connection may be silently dying before audio is sent.
Environment