ronnypg
12/01/2025, 6:30 PMdestination config to the server response.
I see in the status-update webhook that the call's ended reason is assistant-request-returned-forwarding-phone-number, then the call gets dropped without transferring.
---
Call IDs:
- 019adb1a-c43c-7dde-9aca-9f07179c9fd3
- 019adb1a-7ec5-7113-b818-3c858dc13e7a
- 019adb18-e6bf-7442-9116-bd7bc00bf50b
- 019adb1f-8523-7dde-9ad0-6782320365a9
---
Example assistant request webhook response:
const disabledResponse: Vapi.ServerMessageResponseAssistantRequest = {
assistant: {
name: "Skip AI",
firstMessage: "Hey, hey, hey. I'm transferring your call now. Please stay on the line.",
firstMessageMode: "assistant-speaks-first",
model: {
provider: "openai",
model: "gpt-4.1",
},
voice: {
provider: "vapi",
voiceId: "Elliot",
},
},
destination: {
type: "number",
number: disabledPhoneNumber,
message: "Connecting you to the front office.",
},
};Vapi Support Bot
12/01/2025, 6:31 PMdestination object and use the phoneNumber property (not number). Remove the assistant object entirely. Here’s the correct format:
typescript
const transferOnlyResponse = {
destination: {
type: "number",
phoneNumber: disabledPhoneNumber, // Must include country code
message: "Connecting you to the front office.",
},
};
This should resolve the error and allow the transfer to work as intended. For reference, see the documentation: https://docs.vapi.ai/server-url/events#transfer-only-skip-ai.
Source:
- [Server URL Events Transfer Only (skip AI)](https://docs.vapi.ai/server-url/events)ronnypg
12/01/2025, 6:35 PMphoneNumber doesn't appear to be a valid property on the destination object.ronnypg
12/01/2025, 6:37 PMAjcreator01
12/01/2025, 9:21 PMronnypg
12/02/2025, 1:18 PMdestination to the ServerMessageResponseAssistantRequest object--that's when it fails.
Essentially this is the response broken down (the disabledAssistantResponse object as above). If I remove the destination field, I get the expected "Hey, hey, hey..." message from the webhook/assistant. I'm following [Vapi's Node example](https://github.com/VapiAI/example-server-javascript-node) (with some modifications).
const disabledAssistantResponse = await assistantRequestHandler(payload)
return res.status(200).json(disabledAssistantResponse);Chiranjeet Mishra
12/03/2025, 3:01 PMdestination object in your response for the "Transfer only (skip AI)" feature. To successfully transfer a call without involving the assistant, your server response should only include the destination object. Here's the corrected format:
typescript
const transferOnlyResponse = {
destination: {
type: "number",
number: disabledPhoneNumber, // Ensure it includes the country code in E.164 format
message: "Connecting you to the front office.",
},
};
Remove the assistant object entirely from the response. The phoneNumber property you mentioned should indeed be number, according to Vapi's configuration requirements.
Ensure your server sends this response asynchronously within the required time frame to avoid call drops due to timing issues. If the call still gets dropped, verify that the disabledPhoneNumber is correct and includes the country code.
For further details, you can refer to the [Transfer Only (skip AI)](https://docs.vapi.ai/server-url/events#transfer-only-skip-ai) documentation.ronnypg
12/03/2025, 10:40 PMconst transferOnlyResponse = {
destination: {
type: "number",
number: <my_own_valid_number>, // With a valid E.164 number
message: "Connecting you to the front office.",
},
};
----
Below are call IDs that don't really have any context data in the dashboard, and they both have a call ended reason of Call.in progress.sip completed call
Call IDs:
- 019ae648-d1b1-7aa9-8f61-9a944e303741
- 019ae648-6b1e-733c-98dc-b45ccefc8f97
- 019ae64e-71a0-7aa1-9009-1e815f8fd8b1ronnypg
12/03/2025, 10:41 PMdisabledPhoneNumber and use the transferCall tool to transfer a caller to that number.ronnypg
12/04/2025, 1:17 PM7.5s limitation.
I've even called the number directly, and it works.
The Postman screenshot is just a representation of what I'm sending back on a live phone call and assistant-request webhook request.
---
Call ID:
- 019ae981-38e2-755f-949e-a77c3542b9d5
https://cdn.discordapp.com/attachments/1445119806150938817/1446128362534736004/Screenshot_2025-12-04_at_7.14.40_AM.png?ex=69717abd&is=6970293d&hm=167f602ac9dfd4d9217796262f6e51626281ed5264bc5543e452f2ed33a25a2a&
https://cdn.discordapp.com/attachments/1445119806150938817/1446128363163877548/Screenshot_2025-12-04_at_7.14.09_AM.png?ex=69717abd&is=6970293d&hm=4001385dc507d08ab1b6e557c7e7959d56a2d5f2c5ca5210107f4c41eb3ecf55&ronnypg
12/15/2025, 9:37 PMVapi Support Bot
12/15/2025, 9:38 PMserverMessages like "phone-call-control" and that phoneCallProviderBypassEnabled is set to false. Your response should look like:
json
{
"destination": {
"type": "number",
"number": "+12623728081",
"message": "Connecting you to the front office."
}
}
If the issue persists, review your telephony provider logs for transfer errors, as provider-side issues can also cause immediate call drops.
See: [Vapi transfer troubleshooting guide](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops)
Source:
- [Debug call forwarding drops](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops)ronnypg
12/15/2025, 10:14 PMphone-call-control server message or phoneCallProviderBypassEnabled setting.
I'm testing with transferring from a Vapi number to a different Vapi number. Is that possibly not allowed?ronnypg
12/16/2025, 5:00 PMVapi Support Bot
12/16/2025, 5:01 PMjson
{
"destination": {
"type": "number",
"number": "+12623728081",
"message": "Connecting you to the front office."
}
}
If you continue to experience call drops, please contact Vapi support with your call IDs, as this scenario may not be fully supported or may require further investigation.
See: [Vapi transfer troubleshooting guide](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops)
Source:
- [Debug call forwarding drops](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops)ronnypg
12/16/2025, 10:31 PMronnypg
12/17/2025, 8:53 PM@vapi-ai/server-sdkronnypg
12/23/2025, 8:23 PMChiranjeet Mishra
01/09/2026, 9:09 AM