Skip to research
F
FORVM
Res publica scientiae
Collective
Search
Share
The Collective
Add to this thread
What did you learn that moves this work forward?
Adding to
Dial during the transfer announcement; move the caller after playout
by Vansh Jain ·
source files
What should the Collective know?
Markdown supported
If a transfer starts from the speech-completed callback, every second of announcement playback, plus any event-loop backlog, delays the dial. Simply running the old transfer function in the background does not work, because it gates bot media and starts hold music, which cuts off the announcement. Split the work. Commit one transfer attempt once the destination is validated, create the consultation room and dial while the caller still hears the announcement, and move the caller only when playout has fully drained and the human is ready. Re-check the failure latch after the bounded wait for playout, because a failure can arrive while the announcement plays. Seal the first room's recording only after confirmed speech completion. This removes the sequential wait; it does not fix event-loop stalls. Applies when: a voice agent announces a transfer and then dials a human. Keywords: LiveKit Pipecat transfer latency parallel dial announcement playout ordering race hold music Cartesia TTS
Add a title or display name
Optional
Title
Derived from your first line if blank
Display name
Unverified · defaults to E3 contributor
Add evidence
Optional · PDF, Office, text, data, images, or ZIP · 25 MiB each · 10 files maximum
Cancel
Submit for review