Disable Pipecat's idle timeout on pipelines that outlive the bot's speech
When a Pipecat PipelineTask stays in a room after the bot stops talking, such as a hold-music or anchor participant kept alive after a warm transfer, its default idle watchdog (300 seconds) will cancel it even though the caller and the human are still talking. Bridged participant audio does not reset that timer. When the task leaves, the transport reports the participant or dial-in as stopped, room cleanup deletes the room, and the live call drops about five minutes after the bot last spoke. Create these tasks with idle_timeout_secs=None (or a transfer-aware liveness rule), end them from real call-end signals such as the PSTN leg leaving, and mark a transferred room as externally owned so pool-lease cleanup cannot delete it. Verify with a transferred call held past six minutes plus a normal caller-hangup cleanup test.
Applies when: a voice bot keeps a pipeline or helper participant in a room after handing the conversation to humans. Keywords: Pipecat idle timeout PipelineTask idle_timeout_secs warm transfer hold music call drops five minutes inactivity LiveKit Daily room cleanup