Original caller ID lost when queue forwards unanswered calls to Vapi via VoIP.ms or Twillio trunks

farman khan

Bronze Partner
Joined
Jul 30, 2026
Messages
3
Reaction score
0
Hello 3CX Support Team,

We use 3CX V20 with Twilio and VoIP.ms trunks. When an unanswered queue call forwards to our Vapi AI assistant, Vapi displays the main Twilio trunk number instead of the original customer’s number.

Example call:

  • Original caller: +1....81660
  • Dialed Twilio DID: +1....784316
  • Main Twilio trunk number: +1....032835
  • Queue: 80029 — TEST QUE
  • Queue timeout: 15 seconds
  • No-answer destination: +1....014788, our Vapi assistant
The incoming call reaches the queue through 3CTEL Twilio. The forwarded leg uses the outbound rule “Outbound Calls voip.ms” and leaves through VoIP.MS.

The 3CX report shows caller 1660 and forwarded destination 4788 correctly. However, Vapi shows 2835 under Customer Phone Number.

Settings reviewed:

  • Outbound-rule caller ID: blank.
  • VoIP.ms default outbound caller ID: blank.
  • Include diversion header support: enabled.
  • Exported VoIP.ms template: FromUserPart = $AuthID and RemotePartyIDCallingPartyUserPart = $OutboundCallerId.
Could you confirm the correct supported configuration to preserve the original caller ID for this queue-forwarding scenario? Specifically, should the RPID number mapping use $OriginatorCallerId, and how should we apply that change to the existing trunk?

Please also advise which SIP headers or diagnostic traces we should inspect to determine where the caller number changes. We need this to work dynamically for every customer.

Thank you.
 

suggests they dont support CLIP No Screening which is what you need, its an old post so you'd have to ask them first if this is still the case.