Solved Inbound Caller ID

Status
Not open for further replies.

apf.network

Customer
Joined
Dec 13, 2025
Messages
3
Reaction score
0
Hi all,

I’m fairly new to 3CX and am hoping someone can help me understand whether I’m missing a configuration detail, or if this is expected behavior.

I’m running a hosted 3CX instance using Twilio as the SIP trunk. Incoming calls are working fine, and the caller number is always presented correctly.

What I’m struggling to understand is Caller ID Name (CNAM).

From the SIP logs, it appears that Twilio is delivering the caller name in the SIP From: header. Below is a sanitized snippet showing an inbound call where the display name is clearly present:


Lsip{2987712/1024.1/UAS*[Connected&Neutral]} termination message:
InvTERM Recv Req BYE from 203.0.113.45:5060 tid=2a91.f3e9bc12a4f9912c03e8b9a8c9d1f0a7.0 Call-ID=[email protected]:
BYE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 203.0.113.45:5060;branch=z9hG4bK2a91.f3e9bc12a4f9912c03e8b9a8c9d1f0a7.0
Via: SIP/2.0/UDP 172.20.10.15:5060;rport=5060;received=198.51.100.88;branch=z9hG4bKabcd1234-5678-90ef-fedc-ba9876543210
Max-Forwards: 68
To: <sip:[email protected]>;tag=7f3c91b2
From: "JOHN DOE" <sip:[email protected]>;tag=tag12345_abcd6789
Call-ID: [email protected]
CSeq: 2 BYE
User-Agent: Twilio Gateway
X-Twilio-CallSid: CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Length: 0



However:
• The caller name does not appear on the desk phones
• The caller name does not appear in the 3CX call logs
• Only the caller number is shown

I was expecting that if the carrier provides the display name, 3CX would pass it through to the phones.

My questions are:
  1. Does 3CX intentionally ignore external Caller ID Name unless it is resolved via Contacts / CRM?
  2. If so, is there any supported way to allow 3CX to present the carrier-provided CNAM?
  3. Or am I misunderstanding how 3CX handles inbound SIP display names?

I’m not looking to hack SIP headers or do anything unsupported — just trying to understand whether this is configuration-related or simply how 3CX is designed.

Any clarification would be greatly appreciated. Thanks in advance.
 
Regarding your question, please note that the Twilio template is configured to populate both the CallerName and CallerNum from the FromUserPart SIP field, which is the caller's number.
 
It seems that you are not the first one with this issue...

 
It seems that you are not the first one with this issue...

Wow, didn't see this thread when searching the forum earlier. I'll give it a read.
 
Being relatively new to 3CX, I’m just trying to better understand how something as fundamental as inbound Caller ID Name could be overlooked or broken at the template level.

The integration between 3CX and Twilio for Elastic SIP setup is actually very slick. I’ve used Twilio in the past, and the auto-provisioning that 3CX initiates makes the initial setup extremely smooth.

That’s what makes this part confusing to me. If Twilio is clearly delivering the Caller ID display name in the SIP headers, and 3CX already has a dedicated Twilio template, how is that Caller Name not being mapped into the correct internal field by default?

From the outside, this feels like something that should be a quick fix in the template rather than requiring manual XML edits or trunk recreation. I’m mainly trying to understand whether this is an intentional design decision, a known bug, or just something I’m misunderstanding as a newer 3CX user.

Any clarification would be appreciated.
 
Regarding your question, please note that the Twilio template is configured to populate both the CallerName and CallerNum from the FromUserPart SIP field, which is the caller's number.
Hey Charles, can we put in a request for the template to be updated or have an additional Twilio template that will pass along the correct CNAM for inbound calls? Thank you.
 
Hey Charles, can we put in a request for the template to be updated or have an additional Twilio template that will pass along the correct CNAM for inbound calls? Thank you.
Wait for Update 9. You will able to easily change it yourself.
 
  • Like
Reactions: TTHandH
Good morning, Just an update with Update 8... We went and rebuilt the SIP Trunks with the latest version and CNAME now shows in the verbose logs and on all of our QUEUE's now
 
Wait for Update 9. You will able to easily change it yourself.
Hey Yiannis, is there an ETA of when Update 9 will be released? Thank you!
 
Hey Yiannis, is there an ETA of when Update 9 will be released? Thank you!
Not at the moment I am afraid. Just a note for Update 8 though. The template included there is updated to the correct settings. You can use it but you will need to rebuild your trunks from scratch.
 
Not at the moment I am afraid. Just a note for Update 8 though. The template included there is updated to the correct settings. You can use it but you will need to rebuild your trunks from scratch.
I rebuilt my trunk from scratch but with the default settings, I'm still only getting the caller number and not name. Do I leave the settings to "default" under Options on the trunk? Or do I need to adjust the following settings? Thank you for any advice on this.

From : Display Name ????
Remote Party ID - Calling Party : Display Name ????
P-Asserted Identity : Display Name ????
 
Good morning, Just an update with Update 8... We went and rebuilt the SIP Trunks with the latest version and CNAME now shows in the verbose logs and on all of our QUEUE's now
I rebuilt my trunk from scratch but with the default settings, I'm still only getting the caller number and not name. Do you leave the settings to "default" under Options on the trunk? Or do did you adjust the following settings? Thank you for any advice on this.

From : Display Name ????
Remote Party ID - Calling Party : Display Name ????
P-Asserted Identity : Display Name ????
 
I rebuilt my trunk from scratch but with the default settings, I'm still only getting the caller number and not name. Do you leave the settings to "default" under Options on the trunk? Or do did you adjust the following settings? Thank you for any advice on this.

From : Display Name ????
Remote Party ID - Calling Party : Display Name ????
P-Asserted Identity : Display Name ????
These settings only affect the display name and not the From user part, and only for outbound calls.

However, the default Twilio template in Update 8 final now uses the From display name SIP field, which is taken from Caller Name, so this should work.

Check the logs again for an inbound call to see whether the name appears from Twilio.
 
These settings only affect the display name and not the From user part, and only for outbound calls.

However, the default Twilio template in Update 8 final now uses the From display name SIP field, which is taken from Caller Name, so this should work.

Check the logs again for an inbound call to see whether the name appears from Twilio.
Looks like it's working now. I had to of course, first rebuild my trunk in 3CX and the final thing that fixed it was that I went back Twilio and noticed that my last trunk was still there even though I wasn't using it. I deleted it and had to enable the CNAME toggle on the new trunk and it's working now. Thank you Yiannis, Charles and alext0616!
 
Status
Not open for further replies.

Forum statistics

Threads
111,974
Messages
590,081
Members
164,899
Latest member
mazet