- Joined
- Jul 30, 2026
- Messages
- 4
- Reaction score
- 0
Title: Queue forwarding to Vapi sends main trunk caller ID on V20 U10, but preserves original caller ID on U9
Hello 3CX Community,
I’m troubleshooting a caller ID issue when a queue forwards an unanswered incoming call to an external Vapi AI assistant number.
The call reaches Vapi successfully, but Vapi’s call log displays the main trunk number instead of the original caller’s number.
Call flow
Comparison between two PBX systems
I tested the same forwarding scenario on two systems:
I compared the visible trunk, queue, and outbound rule settings, and they appear equivalent. However, the results differ.
On the affected system, the forwarding call report shows that the external call uses the “Outbound Calls voip.ms” rule and VoIP.MS trunk. The incoming DID belongs to a separate Twilio trunk, and the number displayed in Vapi matches that incoming trunk’s main number.
Could someone help clarify the following?
Any guidance on the correct configuration or further troubleshooting would be appreciated. Thank you.
Hello 3CX Community,
I’m troubleshooting a caller ID issue when a queue forwards an unanswered incoming call to an external Vapi AI assistant number.
The call reaches Vapi successfully, but Vapi’s call log displays the main trunk number instead of the original caller’s number.
Call flow
- An external caller, with a number ending 7317, calls our DID ending 8153.
- The call enters queue 80029 — TEST QUE.
- If unanswered, the queue uses Forward to Outside Number to call the Vapi number ending 4788.
- Vapi answers, but displays the main trunk number ending 9552 as the customer/caller.
Comparison between two PBX systems
I tested the same forwarding scenario on two systems:
| Setting | Working system | Affected system |
|---|---|---|
| PBX | 3ctel.3cx.ca | 3ctel1.my3cx.ca |
| Version | V20 Update 9, Build 995 | V20 Update 10, Build 1621 |
| Edition | PRO | AI |
| Hosting | Hosted by 3CX | Self Hosted |
| Vapi caller ID result | Original caller number | Main trunk number |
On the affected system, the forwarding call report shows that the external call uses the “Outbound Calls voip.ms” rule and VoIP.MS trunk. The incoming DID belongs to a separate Twilio trunk, and the number displayed in Vapi matches that incoming trunk’s main number.
Could someone help clarify the following?
- Is there a known caller ID forwarding issue or behavior change in Update 10 Build 1621?
- Which SIP fields should carry OriginatorCallerID for this queue forwarding scenario: From, Remote-Party-ID, or P-Asserted-Identity?
- Could the saved provider template and the active trunk mappings differ even when the visible settings match?
- Which logs or SIP capture details would establish whether 3CX sends the main trunk number or the provider replaces the original caller ID afterward?
Any guidance on the correct configuration or further troubleshooting would be appreciated. Thank you.