Transfer costs with a SIP number
# support
a
Hi there, we have been using a twilio telephony number with transfers and noticed our twilio is paying for the call after the transfer. We are switching over to a SIP trunk connected number on twilio and will add transfer blind transfer with verb REFER, but i am curious whether if we transfer to a sip system (but through a phone number) will their system take over the call?
v
When you use SIP REFER for a blind transfer, Vapi sends a REFER packet to your SIP provider, and after that, your SIP provider manages the call transfer. Technically, this means the original system is no longer in control of the call once the REFER is accepted. However, the documentation does not explicitly state how billing is handled after the transfer. For confirmation on cost handover, please check with your SIP provider, as billing behavior may vary by provider and configuration. Example SIP REFER transfer configuration:
Copy code
json
{
  "type": "transferCall",
  "destinations": [
    {
      "type": "sip",
      "sipUri": "sip:14039932200@sip.telnyx.com"
    }
  ]
}
For more details, see the [Vapi SIP trunk documentation](https://docs.vapi.ai/advanced/sip/sip-trunk). Source: - [SIP Trunking](https://docs.vapi.ai/advanced/sip/sip-trunk)
a
i am trying to transfer to a number that doesn't allow sip refer so it is dropping
@Vapi Support Bot i am trying to transfer to a number that doesn't allow sip refer so it is dropping
v
The call will drop if the destination does not support SIP REFER, as this is required for transfers. To resolve this, ensure the destination system is configured to accept SIP REFER requests. There is currently no workaround for transferring to numbers that do not support SIP REFER—this is a documented limitation. For more details, see the [Vapi call forwarding 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)
a
can i not transfer using a different verb?
@Vapi Support Bot can i not transfer using a different verb?
v
SIP REFER is the only supported verb for SIP-based call transfers in Vapi. If the destination does not support REFER, the call will drop—using a different SIP verb for transfer is not supported or configurable in Vapi. This is a documented limitation; there is currently no workaround for destinations that do not accept REFER. See: [Debug call forwarding drops](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)
a
@Vapi Support Bot it says it is possible in that doc.
v
Vapi's documentation shows the
sipVerb
parameter in the "warm-transfer-with-twiml" mode, but only provides examples using
"refer"
as the value.
There is no evidence or example in the docs that any verb other than
"refer"
is supported or will work for SIP transfers.
Copy code
json
"transferPlan": {
  "mode": "warm-transfer-with-twiml",
  "twiml": "<Say>Hello, this is an incoming call from a customer.</Say>",
  "sipVerb": "refer"
}
At this time, only SIP REFER is documented as supported for SIP-based transfers in Vapi. Using a different verb is not shown or confirmed as possible in the documentation ([source](https://docs.vapi.ai/call-forwarding)). Source: - [Call Forwarding](https://docs.vapi.ai/call-forwarding)
c
Hi andym, To integrate your SIP provider with Vapi SIP trunking, follow these steps: 1. **Gather Necessary Information**: Obtain the SIP server address, authentication credentials (username/password or IP-based), and a phone number (DID) from your provider. 2. **Create SIP Trunk Credential**: Use the Vapi API to create a new credential with your SIP provider's details. Ensure you specify the provider as "byo-sip-trunk". Here's an example for Zadarma:
Copy code
bash
   curl -X POST "https://api.vapi.ai/credential" \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer YOUR_VAPI_PRIVATE_KEY" \
   -d '{
     "provider": "byo-sip-trunk",
     "name": "Zadarma Trunk",
     "gateways": [{ "ip": "sip.zadarma.com", "inboundEnabled": false }],
     "outboundLeadingPlusEnabled": true,
     "outboundAuthenticationPlan": {
       "authUsername": "YOUR_SIP_NUMBER",
       "authPassword": "YOUR_SIP_PASSWORD"
     }
   }'
3. **Link Phone Number**: Connect your external phone number to the SIP trunk credential using the Vapi API.
Copy code
bash
   curl -X POST "https://api.vapi.ai/phone-number" \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer YOUR_VAPI_PRIVATE_KEY" \
   -d '{
     "provider": "byo-phone-number",
     "name": "Zadarma Number",
     "number": "15551234567",
     "numberE164CheckEnabled": false,
     "credentialId": "YOUR_CREDENTIAL_ID"
   }'
4. **Initiate and Test Calls**: Use the Vapi dashboard or API to make test calls and ensure the integration is functioning correctly. For inbound calls, confirm that the calls are routed to the correct SIP URI. For further details, refer to the [Vapi SIP trunk documentation](https://docs.vapi.ai/advanced/sip/sip-trunk).