Gerónimo
03/13/2026, 12:01 AMSIP REFER requests. We desperately need to do a blind transfer to a SIP URI using the DIAL verb (Bridging) instead of REFER.
The system currently drops the call with a BYE when we try to force sipVerb: dial on a BYO trunk.
Is there any feature flag you can enable on our org (959b692f-b36c-4461-8335-c959c4290cad) to allow Bridging/Dial transfers on BYO SIP Trunks?
We cannot use Twilio in Argentina due to prohibitive costs.
Thanks,
GerónimoVapi Support Bot
03/13/2026, 12:02 AMRamsey
03/14/2026, 6:22 AMGerónimo
03/16/2026, 7:49 PM202 Accepted to the REFER but then immediately drops the call internally.
To answer your question: We want to dial the SIP URI directly to our destination PBX (sip:1139891900@69.42.70.228), completely bypassing the carrier trunk endpoint for the transfer leg.
The issue is that because we are on a byo-sip-trunk credential, the transferCall tool seems to default to sending a REFER back to the carrier. We even tried using mode: "warm-transfer-experimental" to force a bridge, but it didn't seem to work as expected.
How exactly should we structure the destinations JSON array in the transferCall tool to force Vapi to do a DIAL bridge (direct INVITE) to that external SIP URI instead of sending a REFER?
Any JSON snippet or configuration tip would be a lifesaver!Chiranjeet Mishra
03/16/2026, 10:39 PMsipVerb: DIAL for the transfer?Gerónimo
03/17/2026, 9:42 AMtransferCall tool to explicitly include "sipVerb": "dial" and pointed it to our destination SIP URI (sip:1139891900@69.42.70.228:5060). I just made a test call and it dropped right after the transfer was initiated.
Here is the fresh Call ID for this exact test: 019cfb29-1610-7aaa-b935-35bff8010355
Could you check the backend logs for this call and see why the DIAL bridge is dropping? We are trying to completely bypass our carrier (IPLAN) for the transfer leg because they block REFER.
Really appreciate your help!Ramsey
03/17/2026, 9:46 AMGerónimo
03/17/2026, 9:57 AMtype: "dial" destination to force the B2BUA bridge and bypass our carrier's REFER block.
However, when trying to patch our transferCall tool with that exact payload, the public API rejects it with a 400 Bad Request.
Here is the exact error from the API:
JSON
{
"message":[
"each value in destinations.type must be one of the following values: assistant, number, sip, step"
],
"error": "Bad Request",
"statusCode": 400
}
It looks like dial is not exposed in the public schema enum for destinations.type.
Is there a different way to format this JSON to force the DIAL bridge using type: "sip", or is type: "dial" a feature flag you need to enable on the backend for our Org (959b692f-b36c-4461-8335-c959c4290cad)?
We are standing by to test this end-to-end as soon as we can save the destination.
You guys rock, thanks!Chiranjeet Mishra
03/17/2026, 10:08 AMGerónimo
03/17/2026, 10:09 AMChiranjeet Mishra
03/20/2026, 8:15 AMsipVerb: dial is enabled by default, but if what you said earlier was true about the carrier replying with a 202 accepted, then REFER is actually a valid method for IPLAN. The issue may be that IPLAN accepted the REFER but then couldn't route the call to your target PBX at 69.42.70.228 (since that's a direct IP outside their network), causing the call to drop after the handoff.
Could you check with IPLAN whether they can route to that destination, or try a test REFER to a number/endpoint that IPLAN can natively reach, to confirm whether REFER itself is actually working and the problem is specifically with routing to that external IP?