Call Transfer Not Working
# support
d
Hi Guys, I'm trying to set up a call-transfer tool for my assistant. I have tried several things following other posts and answers but haven't had any luck. Details below. Experience: - I call the assistant through mobile / web interface - Guide conversation to initialise a call transfer - Tool call happens (can see in the logs / transcript) - Call hangs up (both on mobile / and web). this is what it looks like when I call via mobile (see attachment 1) vs via web (see attachment 2). My set up: I have a call transfer tool configured, and the assistant is given access to this tool. Configuration 1. - assistant bound to twilio imported number - forward to VAPI issued number (bound to a separate assistant) ❌ - forward to Australian Mobile Number (human) ❌ Configuration 2. - Assistant bound to VAPI issued number - Forward to Twilio Number ❌ - Forward to Aus Mobile ❌ The above have been tested with : - EC16 numbers vs sip transfers - Blind vs Warm transfers The experience is still the same. No forwarding. Appreciate your assistance here. https://cdn.discordapp.com/attachments/1425980075064557701/1425980075521605733/Screenshot_2025-10-10_at_9.49.06_am.png?ex=68e98eef&is=68e83d6f&hm=951f3af1f9799de791470d0e794b4d879511292b0d4dbef51eb5e143aed1b046& https://cdn.discordapp.com/attachments/1425980075064557701/1425980075807084544/Screenshot_2025-10-10_at_9.48.29_am.png?ex=68e98eef&is=68e83d6f&hm=8fe4fdc7d374567fac02247072865fdd9d0c8b4aaa7fc1f97cb3c3e0efa293f1&
v
Suggestion: Double-check that your TransferCall tool includes the required
destination
property in its parameters. Here’s the correct JSON configuration to add under your tool’s parameters:
Copy code
json
"parameters": {
  "type": "object",
  "properties": {
    "destination": {
      "type": "string",
      "enum": ["+1234567890"], // Replace with your external number in E.164 format
      "description": "The destination to transfer the call to."
    }
  },
  "required": ["destination"]
}
Update your tool with this, then retest the transfer. For more details, see the [Vapi call forwarding documentation](https://docs.vapi.ai/call-forwarding). Sources: - [Vapi documentation: call forwarding](https://docs.vapi.ai/call-forwarding) - [Vapi SIP Trunking Telnyx external number call forwarding troubleshooting](https://discord.com/channels/1211482211119796234/1343963959421829172)
v
Hey, I’ve seen this issue before — your logs show that the transfer tool triggers correctly, but the call drops during the actual bridge to the destination. This usually happens due to number formatting, SIP endpoint issues, or routing setup in Vapi/Twilio. I can help you review your call-transfer configuration and test it end-to-end to pinpoint where it’s breaking. Could you confirm if you’re using the call_transfer or forward_call method, and whether the target number is verified under your Vapi or Twilio account? That’ll help me give you an exact fix. @Damith Senanayake
c
Hi Damith Senanayake, For call transfers to work correctly, ensure you're following these key steps: 1. **Check Configuration**: - Verify your assistant's configuration to exclude
"phone-call-control"
from
serverMessages
. - Set
phoneCallProviderBypassEnabled
to
false
unless using custom logic. 2. **Transfer Scenarios**: - Ensure the transfer scenario is supported (e.g., Phone to Phone is ✅ Yes, Web to Phone is ❌ No). 3. **Verify Call Logs**: - Use the Vapi API to check for
"assistant-forwarded-call"
as the
endedReason
. - Cross-check logs from your telephony provider for transfer-specific errors. 4. **SIP and Provider Issues**: - For SIP call setups, examine Wireshark traces for
REFER
packets and SIP responses. For more on troubleshooting, you might refer to the [debug call forwarding drops](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops).
p
I have the same problem and vapi can't solve it for a month now
n
@prum8439 @Vercel @Damith Senanayake Please DM for assistance, I believe i can help you.
c
Hi , If you're experiencing issues with call transferring where calls drop immediately after attempting to forward, here are some steps you can take to try and debug and resolve the issue: 1. **Verify that Vapi forwarded the call**: Use the Vapi API to check the
endedReason
. If it shows
"assistant-forwarded-call"
, Vapi transferred correctly and the issue lies with the telephony provider.
Copy code
python
   from vapi import Vapi
   client = Vapi(token=os.getenv("VAPI_API_KEY"))
   call = client.calls.get("ca123456xxxxx")
   print(f"End reason: {call.ended_reason}")
2. **Check assistant configuration**: Ensure your assistant's
serverMessages
configuration does not include
"phone-call-control"
, as this can override Vapi's call management. 3. **Telephony provider logs**: If the transfer is initiated properly by Vapi, check your telephony provider's dashboard logs (Twilio, Vonage, Telnyx) for errors during the transfer. 4. **SIP Analysis**: For SIP-based calls, use Wireshark to inspect SIP packets. Look for
REFER
packets to confirm Vapi issued the transfer and check for provider acceptance or rejection cases. 5. **Common solutions**: - If calls drop after successful forwarding: Verify the destination number (including format and availability). - If forwarding wasn't initiated: Correct assistant settings as mentioned above. For detailed troubleshooting guidance, refer to [this document](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops). Make sure to test systematically across varied scenarios and ensure your configuration follows best practices outlined in the documentation.
2 Views