https://retellai.com/?utm_source=discord&utm_medium=seo logo
- I use Call Transfer node in my conversation flow
# ❓・ai-evy-support
r
@AI Evy - I use Call Transfer node in my conversation flow. It works fine in general when the human being called picks up the call or when the phone goes unanswered. But it doesn't work - as in declare failed transfer - when the number is engaged. In such a scenario, the agent fails to identify that its on waiting or voicemail. How to remedy this? Also, what if the number being transferred to has a custom (human sounding) recorded message for voicemail?
a
Thanks for tagging me @Rakshit Kalra. I'll look through relevant sources and get back to you shortly.
### Answer For handling engaged lines and custom voicemail scenarios during call transfers, consider using warm transfer instead of cold transfer, as it provides more control over detection and handling. [(1) ]() ## Warm Transfer Configuration for Your Scenario With warm transfer, you can enable these settings: - **Enable human detection**: When enabled, the agent will check if a human is present after the transfer target answers. The original caller will only be connected once a human is detected. - **Auto-greet**: If enabled, the agent will immediately say "Hello" when the transfer target picks up. This encourages a response, increasing the likelihood of detecting a human. - **Agent detection timeout**: The maximum amount of time the AI agent will wait to determine whether the transfer target is a human. The caller is connected only if human detection succeeds within this timeframe. Otherwise, the transfer is marked as failed. The default timeout is 30 seconds. ## Handling Custom Human-Sounding Voicemails The human detection feature combined with auto-greet helps distinguish between actual humans and recorded messages. The agent says "Hello" and waits for a response—a recording won't respond dynamically, which helps the detection logic identify it's not a live human. ## Ring Duration Setting There's a global
ring_duration_ms
setting that controls how long the phone rings before giving up. Default is 30000 ms (30 seconds) , with a valid range of 5000-90000 ms. [(2) ]() However, this is a global setting. A community member noted that having separate ring duration settings for outbound calls vs. transfers would be beneficial, and this has been submitted as a feature request. [(3) ](
679209/1448474483156324373) ## Transition on Failure The Call Transfer node has a pre-populated edge for when transfer fails—you can connect that to a node to handle transfer failure scenarios (like engaged lines or voicemail detection failures) . [(1) ]()
​ To learn more, see the sources I considered: [[1] Call Transfer Node](https://docs.retellai.com/build/conversation-flow/call-transfer-node) [[2] Create Voice Agent](https://docs.retellai.com/api-references/create-agent) [[3] Failed Transfers](https://discord.com/channels/1186424376300679209/1448474483156324373) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
r
@User - Ok thanks - and how do I opt out of AI training and configure the retention period of the call recordings and transcripts?