Warm Transfer (Experimental) – Call Keeps Ringing ...
# support
h
@Vapi @Vapi Support Bot I'm using Vapi's
warm-transfer-experimental
mode for transferring calls to a live agent, and I'm running into an issue I can't seem to resolve. ### What's Working - When the live agent picks up, the warm transfer works perfectly - the caller is connected without any issues. ### The Problem - When the live agent does NOT pick up (no answer, busy, or any other issue), the call just keeps ringing indefinitely. - There is no fallback message played to the caller. - The call never ends gracefully. ### My Current Setup - Transfer mode:
warm-transfer-experimental
- Destination type:
number
### Questions 1. Has anyone else experienced this with
warm-transfer-experimental
? 2. What configuration did you use to handle the no-answer / fallback scenario? 3. Is there a specific setting I'm missing to detect when the agent doesn't pick up and end the call with a message? Here is the tool ID: 2d3722fe-938f-4622-8219-4cf964a6a319 Call ID: 019d8b4a-1450-7ff9-ba54-fff1dd572266
s
Hi, thanks for reaching out.
We've investigated using call 019d8b4a-1450-7ff9-ba54-fff1dd572266. Here's what happened and how to fix it. What happened: 09:21:06 — Julia handed off cleanly, AI leg disconnected with "transfer in progress" 09:21:06–09:22:44 — 98 seconds of silence, agent's phone ringing, no timeout fired, no message played 09:22:44 — caller hung up → customer-ended-call-before-warm-transfer Root cause Your fallbackPlan is an empty object {}. When timeoutSeconds: 30 fires, there's no action defined so the call just idles. That's why it ran for 98 seconds instead of 30.
Copy code
json
"transferPlan": {
  "mode": "warm-transfer-experimental",
  "message": "",
  "timeoutSeconds": 30,
  "fallbackPlan": {
    "message": "I'm sorry, our advisor is unavailable right now. We'll have someone call you back shortly.",
    "endCallAfterSpoken": true
  }
}
Test by not picking up - after 30 seconds you should hear the fallback message and the call should end cleanly with assistant-ended-call.
Note: if timeoutSeconds still isn't enforcing after this fix, let us know.