Hi everyone,
On a previous ticket I opened regarding an unsuccessful call transfer (A call transfer was not done, but we sent the transfer - #2 by mark1), you recommended the following:
"Team traced call_631e600e9057d627b3e1368ba84 against the public log and the custom-LLM handler. The transfer was lost due to a timing race in the response stream. Recommended fix on your custom LLM (api.getpuppeteer.ai/llm-websocket): Emit transfer_number earlier in the stream — ideally on the very first content chunk of the transfer response, or on a frame that also carries content. Don’t put it only on a trailing empty frame after a long farewell sentence.
Keep the farewell preceding the transfer short (or omit it). The longer TTS plays after transfer_number is captured, the larger the window for a turn flip + new response_required to wipe out the pending transfer."
We implemented the recommended fixes and shortened the farewell preceding the transfer as much as possible. However, the issue happened again in this call: call_1510ed34ce6ef154c71b0e64544. We received a response_required event right after sending the transfer.
Since we have already shortened the farewell as much as we can, should we re-send the transfer_number in subsequent turns if a new response_required event is triggered?
Ideally, once a transfer_number is sent, we would like the transfer to be executed as soon as possible and not remain susceptible to being overridden or cleared by a subsequent caller utterance that triggers a new response_required event.