Caller ID Not Showing Customer Number During Trans...
# support
a
Description: I’m trying to configure my VAPI workflow so that when an outbound call is transferred, the customer’s number appears as the Caller ID on the transferred leg. Currently, my setup uses a Twilio number with Refer enabled, and the workflow performs outbound calls to customers before transferring them. I initially assumed I’d need to use sipverb: "refer" to preserve the Caller ID through the transfer, but with that configuration, the call just drops as soon as the transfer is attempted. Goal: When the workflow transfers a customer call, the receiving party should see the customer’s number as the Caller ID, not the agent’s or trunk number. What I’ve Tried: Setting caller_id in VAPI to {{customer.number}} – has no effect. In Twilio Elastic SIP Trunk settings, under Caller ID for Transfer Target, I selected “Set Caller ID as Transferor.” Verified that the Twilio number supports and has Refer enabled. Issue: Despite these configurations, the transfer either drops or continues showing the agent/trunk Caller ID instead of the customer’s number. Question: Is there a supported way within VAPI (or Twilio configuration) to make outbound transfer calls display the customer’s number as the Caller ID? If using SIP Refer isn’t the correct approach for this, what’s the recommended setup to achieve that Caller ID behavior? https://cdn.discordapp.com/attachments/1430641259424387215/1430641259935961088/image.png?ex=695f5ec0&is=695e0d40&hm=3db3e4bee9ae7ae7fa5462e91a7a4e2411635790ccdceb955f32224dcc25bcae& https://cdn.discordapp.com/attachments/1430641259424387215/1430641260309512223/image.png?ex=695f5ec0&is=695e0d40&hm=9ed8b6fae961f9a0fc75cd49cacbb7aeffb2e62e6867068483d4c9a41fba1428&
v
Currently, Vapi does not support setting the transferred leg's Caller ID to the customer's number when using SIP REFER with Twilio. According to the documentation, attempts to set
callerId
(e.g., to
{{customer.number}}
) have no effect, and using SIP REFER for transfers may result in the call dropping or the Caller ID not being set as desired. This is a known limitation, and there is no supported workaround within Vapi at this time. If this functionality is critical, consider reaching out to Vapi support with your use case and call logs for further assistance. Reference: "Setting caller_id in VAPI to {{customer.number}} – has no effect...with that configuration, the call just drops as soon as the transfer is attempted." [See Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) Source: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops)
a
So how would I set the caller ID as customer number using Dial on an outbound call?
So how would I set the caller ID as customer number using Dial on an outbound call? @Vapi Support Bot
v
To clarify your goal: Are you trying to set the outbound caller ID to a phone number that is not owned or verified by your account (i.e., the customer's own number), or are you looking to use a number you control as the caller ID when making outbound calls with Dial? This will help determine what is technically possible and compliant with provider requirements.
a
@Vapi Support Bot I am trying to set the outbound ID as the customer number, so when the agent places an outbound call and the call is then transferred. The crm can have the customer number to identify who the customer is
v
You cannot set the outbound caller ID to the customer's number unless that number is owned or verified by your account. Attempting to set
callerId
to
{{customer.number}}
will not work and may cause call failures. The only supported approach is to use a number you control as the caller ID, for example:
Copy code
json
{
  "customer": { "number": "+15551234567" },
  "callerId": "+1YOURVERIFIEDNUMBER"
}
Setting the caller ID to an arbitrary customer number is not supported by Vapi or most telephony providers due to compliance restrictions. Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
a
@Vapi Support Bot I tried setting caller ID to another phone number that I have verified and in use on my vapi account and that still doesnt work
v
If setting the caller ID to a verified number on your Vapi account still doesn't work, this is not expected behavior. The documentation states that only verified numbers can be used as caller ID, and this should function as intended. Since your setup meets these requirements but still fails, the best next step is to contact Vapi support with your call logs and configuration details for further investigation. Reference: "The only supported approach is to use a number you control as the caller ID...Setting the caller ID to an arbitrary customer number is not supported by Vapi or most telephony providers due to compliance restrictions." [See Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) Source: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops)
c
Hi arman, If you're experiencing issues with call transfers, there are several steps you can follow to troubleshoot and resolve the problem. 1. Verify Forwarding Initiation: Use a GET request to check if Vapi initiated the forwarding successfully. Refer to the [Debug call forwarding drops guide](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops#troubleshooting-workflow) for specific steps. 2. Check your
serverMessages
Configuration: Ensure your assistant's configuration does not include
"phone-call-control"
, as it might override Vapi's call control. See the [Debug call forwarding drops guide](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops#internal-configuration-issues) for details. 3. Provider Logs: If the forwarding is initiated but still not working, check your telephony provider's logs (e.g., Twilio, Vonage, Telnyx) to see if the transfer failed. [Provider logging steps](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops#provider-log-check) can guide you through this process. 4. Configuration Checks: - Ensure
phoneCallProviderBypassEnabled
is set to
false
unless you're implementing custom control. - Verify your assistant's transfer configuration matches the documentation (e.g., correct destination type: Phone call → Phone number is supported). 5. SIP Call Debugging: For SIP calls, download the packet capture (
pcap
file) and analyze using Wireshark. Filter for transfer packets to see if Vapi sent the transfer request. Details are available in the [Debug call forwarding drops guide](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops#SIP-trunking). Following these steps should help diagnose and fix the call transfer issues. If you need further guidance on configuration, check the [Call Forwarding documentation](https://docs.vapi.ai/call-forwarding) for comprehensive setup instructions.
m
Hello, quick question as I am not sure I understand this: - We are making an outbound phone call with a vapi agent using a phone number from our customer integrated via SIP - We want to transfer the call to one of their human agents - We want this call to be transferred with the caller ID of the person we are calling, not the caller ID of the phone number the AI agent uses Is this possible? @arman were you able to do it? if yes, how? adding "callerId" in in the destination payload of the transfer does not seem to work
c
You will have to pass the customer phone number a different way because the callerId field is reserved for phone numbers that you currently own.
m
Thanks! How should I pass the phone number then?
Oh, you mean that there is no way I can make the call transfer withe the customer's caller ID and therefore I should pass it differently? The issue is that the human agent needs to receive the call with the customer's callerID for their CRM to show the customer's data. It's quite a basic need, how come this is not something doable?
@Vapi Support Bot
v
You cannot set the transferred call's Caller ID to the customer's number unless that number is owned or verified by your account. The only supported approach is to use a number you control as the caller ID. For example:
Copy code
json
{
  "callerId": "+1YOURVERIFIEDNUMBER"
}
If you need to pass the customer number to the agent, consider including it in a spoken message or via your CRM, as setting it as the Caller ID is not supported by Vapi or most telephony providers. Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
m
@Vapi Support Bot is this really the case? If I am making the call from a number within the SIP Trunk of a my client (the company) to another phone number within the SIP Trunk of my client, this should be secure enough to make sure there is no malicious spoofing happening, no? This is a very basic use case that affects all AI agents doing outbound calls via SIP when they need to transfer the call to a human. If the caller Id of the AI agent is shown instead of the customer's one (the person the AI agent called), the human agent receiving the call won't be able to use the customer's phone number as an identifier in their dialer or CCaaS platform, which is a must. I would be shocked if I am the only one with this problem. Please confirm if I am missing somehting.
v
Just to clarify: Are you open to passing the customer's phone number to the human agent via a spoken message or CRM integration, since setting the caller ID to the customer's number is not supported by Vapi or most providers? If not, could you briefly describe any constraints that prevent this workaround? Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
m
@Vapi Support Bot No, I am not open, the call made to the human agent must have the customer's caller ID. the reason is that by having the right callerID it automatically pops up on screen all the information about that customer. if we pass it differently it won't work. the telephony provider of the SIP number supports this, I have been in touch with them. is it a Vapi limitation?
v
This is a Vapi platform limitation: you cannot set the transferred call's Caller ID to the customer's number unless that number is owned or verified on your account—even if your SIP provider supports it. The only supported approach is to use a verified number as the caller ID:
Copy code
json
{
  "callerId": "+1YOURVERIFIEDNUMBER"
}
If you require the agent to see the customer's number, you must pass it via a spoken message or CRM integration, as setting it as the actual caller ID is not supported by Vapi. [See Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
m
@Vapi Support Bot can't custom SIP Headers be used for this? if vapi supports custom SIP headers in the call transfer, things like "P-Asserted-Identity", "Remote-Party-ID", "From" could potentially be used for this?
v
Thank you for your detailed explanation. To clarify your request: Are you specifically looking to set the caller ID on transferred calls by customizing SIP headers (such as "P-Asserted-Identity" or "From") within Vapi, and if so, could you share which SIP provider you are using and whether you have control over SIP header injection in your current setup? This will help determine if any workaround or configuration is possible. Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
m
@Vapi Support Bot yes I am looking to set the caller ID on transferred calls by customizing SIP headers as an option to define the callerID that I need to define. SIP provider is a small Spanish provider called https://megacall.es/. I am creating a SIP transfer as defined here https://docs.vapi.ai/calls/call-features#5-transfer-call and adding sipHeaders as sipHeaders: { Allow: "REFER", "P-Asserted-Identity": "" },
v
Thank you for clarifying your setup and intent. To help determine if a workaround is possible: Can you confirm whether you have full control over the SIP headers injected into the transfer request from your Vapi integration, and if so, have you observed any effect (successful or not) when setting "P-Asserted-Identity" or similar headers during a transfer? This detail will help assess if custom SIP header injection could potentially override the default caller ID behavior in your scenario. Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
m
@Vapi Support Bot yes we have control, and no we have not been successful. we see the .pcap file with the correct config after the call has ended but has no effect in the callerID, still shows the wrong one. can anyone from the support team reach out to me please?
v
Vapi does not currently support setting the transferred call's Caller ID to the customer's number—even with custom SIP headers—unless that number is owned or verified by your account. Since you've already confirmed the correct headers are present in the PCAP but the Caller ID is still incorrect, the next step is to escalate this to Vapi support with your call logs and troubleshooting details. Please include your Call ID, timestamp, and a summary of your findings when contacting support, as outlined in the [Vapi call forwarding limitations guide](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops). Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
m
@Vapi Support Bot I sent an email to support@vapi.ai for this
v
Vapi does not currently support setting the transferred call's Caller ID to the customer's number—even with custom SIP headers—unless that number is owned or verified by your account. Since you've already emailed support with your call details, the best next step is to await their response for any updates or possible workarounds. For reference, this is the current limitation:
Copy code
json
{
  "callerId": "+1YOURVERIFIEDNUMBER" // Only numbers you own/verify are supported
}
[See Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) Sources: - [Vapi call forwarding limitations](https://docs.vapi.ai/phone-calling/transfer-calls/debug-forwarding-drops) - [Discord: SIP transfer and caller ID issues](https://discord.com/channels/1211482211119796234/1372460612499804270)
c
Hi manudo, I was talking to my colleague about this and there actually is a way to get the customer's number to show up in the callerId. To ensure the original customer’s number appears on your forwarded calls, you’ll need to include the
callerId
field in your transfer destination configuration. For your use case, you should pass through the customer’s number using
{{customer.number}}
. Here’s the corrected transfer tool configuration:
Copy code
{
  "type": "transferCall",
  "destinations": [
    {
      "type": "number",
      "number": "+12816094896",
      "callerId": "{{customer.number}}"
    }
  ]
}
Once you add
callerId
like above, forwarded calls will correctly display the customer’s phone number instead of the Vapi number. Let me know if you’d like us to double-check your assistant config.
m
Thanks! i tried this and it didn't work. equally it did not work to enforce p-asserted identity or similar on the sip Headers. we ended up doing transfers within the same sip trunk and dialer and that worked fine.
2 Views