SOLVED Yealink phone displays our trunk # instead of called #

JayG30

Member
Joined
Jan 30, 2014
Messages
64
Reaction score
5
I have a question about a particular behavior with our yealink T22P phones.

When I place a call from any of these phones on our system it displays the number I am calling. But once the person on the other line answers, the display changes to show CID:<Our Phone #>. It then shows in "History" as an outgoing call to our main phone number.

So lets say I am calling 111-111-1111 from our phone # which is 222-222-2222. When I place the call and it is ringing the screeen shows 111-111-1111. Once they answer it will display CID: 222-222-2222. And in "history" it showing a placed/outgoing call to 222-222-2222. If you go into details you can see the 111-111-1111 number you called in the number field, just the name shows wrong.

I'm not sure why this occurs, if it is expected behavior, or if there is a way to change it. It seems a bit clunky because someone looking at calls they have placed or glancing at the screen will want to know what number they called/had called.

In the control panel of our provider I have it set to override the Caller ID. So it ignores whatever is sent by the PBX. It appears this just triggers an entry in freepbx at the trunk. I did this to not expose personal extension or DID numbers on outgoing calls (everything shows as coming from our main #). Perhaps I have to turn that off and adjust settings in freepbx. But I've been unsuccessful.
 

JayG30

Member
Joined
Jan 30, 2014
Messages
64
Reaction score
5
It looks like I'm not the only person that has seen this behavior. Came across this on the yealink forum.
http://forum.yealink.com/forum/showthread.php?tid=873

I also have sendrpid=pai and trustrpid=yes set on my extensions. I thought it was a useful setting. Will have see what happens when turning it back to default.

I don't really understand in that thread the reference to "If you want to change the display name, please change the header of P-Asserted-Identity." Not sure how I'd accomplish that or if it would give me the desired results.
 

rossiv

Guru
Joined
Oct 26, 2008
Messages
2,624
Reaction score
139
First guess is the recent addition to stock installs of showing outbound CID name for placed calls. More specifically, you call out and (depending on phone support), Asterisk looks up the number dialed from various places and sends the name back to your phone. I've noticed the same thing here with a Snom phone - showing my outbound CID number instead of # dialed - but just ignored it because it's my home system.
 

JayG30

Member
Joined
Jan 30, 2014
Messages
64
Reaction score
5
I did more reading last night and came across this Yealink PDF, "Calling/Connected Line Identification Presentation on Yealink IP Phones".

The feature I'm having issues with is "Connected Line Identification Presentation" (COLP). This is what I believe is setting the screen on the phone display when a placed call is connected. And the PDF explains this setting (cp_source) isn't available in the web GUI, only via the config file. The option that is in the web GUI (CallerID header) that caused me some confusion is for Calling Line Identification Presentation (CLIP) which is for incoming calls I believe.

Connected Line Identification Presentation (Abbreviation COLP) service allows the IP phone to display the identification of the connected party. That transmits a connected line number to the calling party. COLP can also provide a name associated with the connected line number. The information transmitted to the calling party may be displayed on the phone LCD screen.

Yealink IP phones display the dialed digits on the phone LCD screen by default during outgoing calls. During a call establishment, Yealink IP phones support to derive connected line identification from the FROM, P-Preferred-Identity, P-Asserted-Identity and Remote-Party-ID SIP headers in the 18X, 200 OK response. Yealink IP phones also support to derive associated connected line identification from UPDATE message following the RFC 4916.

Users can configure the connected line identification source for Yealink IP phones using the configuration file. The connected line identification source is configurable on a per-account basis.

To configure connected line identification source using the configuration file:
  1. Add/Edit the connected line identification source parameter in the configuration file. The connected line identification source parameter “account.X.cp_source” is per-account basis, where “X” ranges from 1 to 6 indicating the line number. 0-PAI-RPID, 1-Dialed Digits, 2-RFC4916 (default value is 0).
  2. Upload the configuration file to the root directory of the download server and perform auto
    provisioning to configure the Yealink IP phones.
For more information on auto provisioning, refer to Yealink SIP IP Phones Auto Provisioning Guide.

So by default the yealink phones are set to use PAI-RPID. And I'm guessing FreePBX is presenting a P-Asserted-Identity header (or Remote-Party-ID header) containing "CID:<my phone #>". What I really don't understand is how these headers get set. What is being used to set the PAI header to that? Is there a way to change it? I know I've turned on PAI for each extension (and globally). I did this because it was my understanding this would allow extension-to-extension calls to display names instead of just numbers. Also I believe it has some significance when transferring calls.
 
Joined
May 23, 2013
Messages
223
Reaction score
28
You change it in the extensions settings. Uncheck the box there that says exactly that....sendrpid...change it to NO.
 
Joined
May 23, 2013
Messages
223
Reaction score
28
Also if you want to leave it on and have it show the callerID of the person you are calling then you need to enable outbound CNAM and have a CNAM lookup source.
 

JayG30

Member
Joined
Jan 30, 2014
Messages
64
Reaction score
5
I can't check right now (system is at work) but pretty sure I had a cnam lookup source set. Not sure if I had outbound cnam set as I don't remember if there is an option for it and what the default is. If it is then it was on.

I get cnam lookup on incoming calls, no problem.

I get that you can turn off sendrpid at the extension level. Although I think I remember reading this has its own drawbacks. What I'm really curious is what is causing the pia header to be set to CID:myphone# because I really don't understand how its being set to that.
 

JayG30

Member
Joined
Jan 30, 2014
Messages
64
Reaction score
5
So did some testing today.

First off, I see no setting for "outbound CNAM". I do have lookup sources. I'm using Superfecta.

So, if I set "sendrpid=no" for an extension then it will not display the name of the person at that extension on the yealink phone used to make the call (unless you have a phonebook and tell it to use it for lookup). It does however allow the phone display to show the dialed number on outbound calls instead of showing the "CID:myphonenumber".

So I decided to see if I could get this to work with "sendrpid=PIA". The answer is no, I could not. But this is what I observed. If I set "account.1.cp_source = 1 or 2" then it doesn't matter that "sendrpid=PIA" is set. It seems to ignore it and show the "dialed digits" for internal and external outbound calls. So basically the same result as setting "sendrpid-no". I was hoping that perhaps having sendrpid=PIA and account.1.cp_source=1 would give me the desired result but seems not.

Setting sendrpid=RPID doesn't change the behavior either.

At this point, I've turned sendrpid=no and left the account.1.cp_source=0 on the yealinks. I rather have the call history show outbound calls with the actual dialed number then worry about internal calls showing the name of the person dialed. Although, using the remote directory on the yealink phones it can lookup those names as long as I have them in the directory. Using PHP and querying the mysql database for "users" allows me to make this work without much effort though. However, I still wish I could figure out why PIA is doing this. If I can figure out why turning on PIA is causing this behavior then I can just go into the freepbx gui and change the sendrpid setting.
 

JayG30

Member
Joined
Jan 30, 2014
Messages
64
Reaction score
5
So I think I found a solution/workaround.

Go to Advanced Settings -> dialplan and operational -> and set "Display CallerID on Calling Phone" to False. Set sendrpid = pia for your extensions.

This results in extension to extension dialing displaying the name while showing the dialed digits (after any manipulation you have setup) for outgoing calls.

It doesn't do CNAM lookup for those outgoing calls but that's OK with me. That would be nice but it was most important to show placed/outgoing calls with the actual number that was dialed.
 
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top