Skip to main content

Incoming calls Caller ID showing as unknown

Posted by voicedata on Fri, 03/16/2012

We have a new PBX server that we just got up and we are having an issue with display of the caller ID. Trunk provider confirms that they are sending caller ID and caller ID DOES show up correctly in the Call History.

What could be causing this to happen? I have tried with a Snom 360 and X-Lite softphone and both show unknown caller when a call comes in. Any help would be appreciated. Thanks for reading.


Submitted by brian on Sun, 03/18/2012 Permalink

Hello,

Some more information would be essential to try and give you an answer.

Is the trunk provider ISDN/Analog or SIP?
What version of Asterisk?

What troubleshooting have you done?

Brian

Submitted by voicedata on Tue, 03/20/2012 Permalink

We have two servers. One is perfectly fine and the new one, which has the caller id issue, is running asterisk 1.8. I have checked the CLI and it is passing the caller ID along. Caller ID also shows up in the Call History Records. It just will not show up on the IP phone/softphone or what have you. I have compared configuration files and Trunk setup and both servers seem to be setup the same. I have a feeling it is a config file settings, somewhere but I can not find it. Perhaps there is some difference between 1.4 and 1.8 that is causing it. Its a fresh setup from the Thirdlane CD and I can not figure out why the caller ID is not working. We are definitely getting it from the Trunk so it is a PBX server configuration issue.

Submitted by voicedata on Tue, 03/20/2012 Permalink

I just tried changing the value of callerid=, at the top of sip.conf and when I changed it from unknown to anonymous, now all calls are showing a caller id of anonymous. I do know that our SIP trunk provider-broadvox, is not sending the caller id name. Is there a way to set it so that the caller id name and number will both be the number only?

Submitted by eeman on Tue, 03/20/2012 Permalink

now that you provided that information I am certain its a screwup on the way you setup your trunk. your inbound calls should NEVER process under [general] .. if they do its because youve screwed the pooch.

for the record callerid=_anything_ is an override of the callerid of an incomming call, thats why you dont set them on trunks. otherwise it trashes your callerid and replaces it with this new value (which is how phones get their callerid set when they place a call)

Submitted by eeman on Tue, 03/20/2012 Permalink

BTW i have lots of trunks for inbound and outbound with broadvox... which inbound servers are you trying to configure?

Submitted by voicedata on Tue, 03/20/2012 Permalink

Thanks for your response, Erik!

We are trying to setup the Goanywhere Dallas, NY and CA trunks. About the whole sip.conf callerid=anonymous line, it is at the top of the file before all of the extensions and everything. I was under the impression that it was used as a default value and it gets changed from that when a call actually comes in? The other server, which has working caller id, has that same line in sip.conf. Thirdlane installer set it up as callerid=unknown at the top of sip.conf so I didnt think this was causing the issue.

As far as the caller id configuration of the trunks, I have not made any changes there. The trunk is setup the exact same as the other server that works but for some reason, I did notice that the IP address of the trunks is .1 off from the trunks on the other server. For example if the goanywhere-CA trunk is 208.10.10.112 then on the new server, it is set as 208.10.10.113. I'm sure braodvox instructed us to use these IPs and I do know that they are sending the correct caller ID through the trunk, it showing in the CLI and call records but for some reason, it is not getting passed along to the SIP client (IP Phone).

Submitted by eeman on Wed, 03/21/2012 Permalink

Broadvox trunks are IP based trust, nost authentication based. Therefore the channel type must be set to 'peer' not 'friend' or 'user'. This means using the type 'outbound' in thirdlane. In actuality there is no such thing as an inbound or outbound type in asterisk. This was a poorly translated expression. There are merly users and peers and 'friends' which tries to be both a user and a peer. Users must authenticate, and peers are ip matched. You also need to include the value 'insecure=port,invite' under your settings as well. Generally I go ahead and include a username that matches the name you gave the channel, just so that the cdr logs show the channel name instead of the ip in their records.

Submitted by voicedata on Thu, 03/22/2012 Permalink

I tried both of those suggestions. On the insecure=port,invite I just added that, without the quotes to the Other Options field in the trunk settings screen. I still show an incoming caller ID anonymous.

any other ideas?

Submitted by brian on Thu, 03/22/2012 Permalink

Hi,

Have you got callerid=anonymous in your sip.conf?

Remove that.

Does broadvox use remote party ID or PAI?

try trustrpid=yes in general is fine.

brian

Submitted by voicedata on Thu, 03/22/2012 Permalink

trustrpid=yes was in sip.conf by default and so was callerid=unknown. I tried removing the callerid line and now the incoming caller id is asterisk every time. I'm going to try deleting my trunks and recreating from scratch. Just to confirm, the line insecure=port,invite should go in other options in the trunk creation screen??

Submitted by voicedata on Thu, 03/22/2012 Permalink

One thing I just noticed that is different between the two servers is that no call group is specified on the new server whereas all of the extensions on the old server (asterisk 1.4) have a call group. Could this be the issue?

Submitted by eeman on Fri, 03/23/2012 Permalink

no call group has nothing to do with this.. i assure you that you have something wrong in your trunk settings somewhere.. go to your real cdr and pull the entry out and paste it here.. not the thirdlane gui, the entire cdr record.

Submitted by voicedata on Fri, 03/23/2012 Permalink

Erik,
I've spent so much time on this that we decided to just do a fresh install and test it along the way. Thanks so much for your help!

Submitted by voicedata on Wed, 03/28/2012 Permalink

We re-installed with 1.6 and had some issues (incoming caller ID worked fine but there were other quirks). We finally got everything going then my boss decided we should go with 1.8 to prevent future problems. So he re-installed again with 1.8 and now we are back to having this inbound caller id problem again. This is after a default install from TL CD. Trunks are setup the exact same way they worked in 1.6 and 1.4.

To test, we have a DID setup that points to an extension. Very simple. Here is the CLI output with verbosity 3 for the test call:

== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [8003350000@from-outside:1] Wait("SIP/GoAnyCA-00000009", "1") in new stack
-- Executing [8003350000@from-outside:2] Set("SIP/GoAnyCA-00000009", "__INCOMINGCLI=8178460000") in new stack
-- Executing [8003350000@from-outside:3] Goto("SIP/GoAnyCA-00000009", "from-outside-redir,8003350000,1") in new stack
-- Goto (from-outside-redir,8003350000,1)
-- Executing [8003350000@from-outside-redir:1] Set("SIP/GoAnyCA-00000009", "DIALED_PUBLIC_NUMBER=8003350000") in new stack
-- Executing [8003350000@from-outside-redir:2] Set("SIP/GoAnyCA-00000009", "DIALED_NUMBER=8003350000") in new stack
-- Executing [8003350000@from-outside-redir:3] Set("SIP/GoAnyCA-00000009", "status=1") in new stack
-- Executing [8003350000@from-outside-redir:4] GotoIf("SIP/GoAnyCA-00000009", "1?7") in new stack
-- Goto (from-outside-redir,8003350000,7)
-- Executing [8003350000@from-outside-redir:7] GotoIf("SIP/GoAnyCA-00000009", "1?16") in new stack
-- Goto (from-outside-redir,8003350000,16)
-- Executing [8003350000@from-outside-redir:16] GotoIfTime("SIP/GoAnyCA-00000009", "*,*,*,*?from-outside-8003350000-tl-allhours-solar,8003350000,1") in new stack
-- Goto (from-outside-8003350000-tl-allhours-solar,8003350000,1)
-- Executing [8003350000@from-outside-8003350000-tl-allhours-solar:1] Set("SIP/GoAnyCA-00000009", "__tenant=solar") in new stack
-- Executing [8003350000@from-outside-8003350000-tl-allhours-solar:2] Set("SIP/GoAnyCA-00000009", "CDR(userfield)=solar") in new stack
-- Executing [8003350000@from-outside-8003350000-tl-allhours-solar:3] Set("SIP/GoAnyCA-00000009", "MOH=default-solar") in new stack
-- Executing [8003350000@from-outside-8003350000-tl-allhours-solar:4] GotoIf("SIP/GoAnyCA-00000009", "0?nomoh") in new stack
-- Executing [8003350000@from-outside-8003350000-tl-allhours-solar:5] Set("SIP/GoAnyCA-00000009", "CHANNEL(musicclass)=default-solar") in new stack
-- Executing [8003350000@from-outside-8003350000-tl-allhours-solar:6] Macro("SIP/GoAnyCA-00000009", "tl-goto-userextension,101,") in new stack
-- Executing [s@macro-tl-goto-userextension:1] Set("SIP/GoAnyCA-00000009", "CALLERID(name)=8178460000") in new stack
-- Executing [s@macro-tl-goto-userextension:2] Goto("SIP/GoAnyCA-00000009", "local-extensions-solar,101,1") in new stack
-- Goto (local-extensions-solar,101,1)
== Channel 'SIP/GoAnyCA-00000009' jumping out of macro 'tl-goto-userextension'
-- Executing [101@local-extensions-solar:1] Macro("SIP/GoAnyCA-00000009", "tl-userexten,SIP/101-solar,101@default-solar,") in new stack
-- Executing [s@macro-tl-userexten:1] Set("SIP/GoAnyCA-00000009", "__DIALED_NUMBER=101") in new stack
-- Executing [s@macro-tl-userexten:2] Set("SIP/GoAnyCA-00000009", "__PICKUPMARK=101-solar") in new stack
-- Executing [s@macro-tl-userexten:3] ExecIf("SIP/GoAnyCA-00000009", "0?SIPAddHeader(Alert-Info: <>)") in new stack
-- Executing [s@macro-tl-userexten:4] GotoIf("SIP/GoAnyCA-00000009", "0?doingringgroup") in new stack
-- Executing [s@macro-tl-userexten:5] Macro("SIP/GoAnyCA-00000009", "tl-userexten-base,SIP/101-solar,101@default-solar,") in new stack
-- Executing [s@macro-tl-userexten-base:1] GotoIf("SIP/GoAnyCA-00000009", "1?set_options") in new stack
-- Goto (macro-tl-userexten-base,s,8)
-- Executing [s@macro-tl-userexten-base:8] Set("SIP/GoAnyCA-00000009", "OPTIONS=rtT") in new stack
-- Executing [s@macro-tl-userexten-base:9] Set("SIP/GoAnyCA-00000009", "__PHONE=SIP/101-solar") in new stack
-- Executing [s@macro-tl-userexten-base:10] Set("SIP/GoAnyCA-00000009", "__VM_MBOX=101@default-solar") in new stack
-- Executing [s@macro-tl-userexten-base:11] Set("SIP/GoAnyCA-00000009", "THISEXT=TL/solar-101") in new stack
-- Executing [s@macro-tl-userexten-base:12] Set("SIP/GoAnyCA-00000009", "_CLIMYID=solar-101") in new stack
-- Executing [s@macro-tl-userexten-base:13] Set("SIP/GoAnyCA-00000009", "THISCHAN=TL/101-solar") in new stack
-- Executing [s@macro-tl-userexten-base:14] GotoIf("SIP/GoAnyCA-00000009", "0?beenhere") in new stack
-- Executing [s@macro-tl-userexten-base:15] Set("SIP/GoAnyCA-00000009", "_ORIG_EXTEN=101") in new stack
-- Executing [s@macro-tl-userexten-base:16] Set("SIP/GoAnyCA-00000009", "_ORIG_EXTEN_USER=TL/solar-101") in new stack
-- Executing [s@macro-tl-userexten-base:17] Macro("SIP/GoAnyCA-00000009", "tl-notify") in new stack
-- Executing [s@macro-tl-notify:1] Set("SIP/GoAnyCA-00000009", "ADDRESS=") in new stack
-- Executing [s@macro-tl-notify:2] UserEvent("SIP/GoAnyCA-00000009", "TlNotify,dialed: 101|callerID: 8178460000|tenant: solar") in new stack
-- Executing [s@macro-tl-notify:3] NoOp("SIP/GoAnyCA-00000009", "TL/solar-101") in new stack
-- Executing [s@macro-tl-notify:4] GotoIf("SIP/GoAnyCA-00000009", "1?s-exit,1") in new stack
-- Goto (macro-tl-notify,s-exit,1)
-- Executing [s-exit@macro-tl-notify:1] MacroExit("SIP/GoAnyCA-00000009", "") in new stack
-- Executing [s@macro-tl-userexten-base:18] Goto("SIP/GoAnyCA-00000009", "checkformat") in new stack
-- Goto (macro-tl-userexten-base,s,20)
-- Executing [s@macro-tl-userexten-base:20] GotoIf("SIP/GoAnyCA-00000009", "1?cont1") in new stack
-- Goto (macro-tl-userexten-base,s,22)
-- Executing [s@macro-tl-userexten-base:22] Set("SIP/GoAnyCA-00000009", "RECORD_CALLEE=") in new stack
-- Executing [s@macro-tl-userexten-base:23] Macro("SIP/GoAnyCA-00000009", "tl-set-myvariables") in new stack
-- Executing [s@macro-tl-set-myvariables:1] Set("SIP/GoAnyCA-00000009", "MY_CHAN=GoAnyCA-00000009") in new stack
-- Executing [s@macro-tl-set-myvariables:2] NoOp("SIP/GoAnyCA-00000009", "THECHANNEL=SIP/GoAnyCA-00000009") in new stack
-- Executing [s@macro-tl-set-myvariables:3] Set("SIP/GoAnyCA-00000009", "zap=0") in new stack
-- Executing [s@macro-tl-set-myvariables:4] GotoIf("SIP/GoAnyCA-00000009", "1?usechannel") in new stack
-- Goto (macro-tl-set-myvariables,s,9)
-- Executing [s@macro-tl-set-myvariables:9] Set("SIP/GoAnyCA-00000009", "local=0") in new stack
-- Executing [s@macro-tl-set-myvariables:10] GotoIf("SIP/GoAnyCA-00000009", "1?useit") in new stack
-- Goto (macro-tl-set-myvariables,s,12)
-- Executing [s@macro-tl-set-myvariables:12] Set("SIP/GoAnyCA-00000009", "__MYEXTENSION=GoAnyCA") in new stack
-- Executing [s@macro-tl-set-myvariables:13] Set("SIP/GoAnyCA-00000009", "__MYID=solar-GoAnyCA") in new stack
-- Executing [s@macro-tl-userexten-base:24] Set("SIP/GoAnyCA-00000009", "RECORD_CALLER=") in new stack
-- Executing [s@macro-tl-userexten-base:25] Set("SIP/GoAnyCA-00000009", "VM=1") in new stack
-- Executing [s@macro-tl-userexten-base:26] Set("SIP/GoAnyCA-00000009", "VMT0=") in new stack
-- Executing [s@macro-tl-userexten-base:27] Set("SIP/GoAnyCA-00000009", "CFNAEXT=") in new stack
-- Executing [s@macro-tl-userexten-base:28] Set("SIP/GoAnyCA-00000009", "CFNAAN=") in new stack
-- Executing [s@macro-tl-userexten-base:29] GotoIf("SIP/GoAnyCA-00000009", "1?done_checkrecord") in new stack
-- Goto (macro-tl-userexten-base,s,47)
-- Executing [s@macro-tl-userexten-base:47] NoOp("SIP/GoAnyCA-00000009", "") in new stack
-- Executing [s@macro-tl-userexten-base:48] NoOp("SIP/GoAnyCA-00000009", "RECORD_CALLEE=") in new stack
-- Executing [s@macro-tl-userexten-base:49] NoOp("SIP/GoAnyCA-00000009", "RECORD_CALLER=") in new stack
-- Executing [s@macro-tl-userexten-base:50] NoOp("SIP/GoAnyCA-00000009", "OPTIONS=rtT") in new stack
-- Executing [s@macro-tl-userexten-base:51] NoOp("SIP/GoAnyCA-00000009", "TOUCH_MONITOR=") in new stack
-- Executing [s@macro-tl-userexten-base:52] GotoIf("SIP/GoAnyCA-00000009", "0?next1") in new stack
-- Executing [s@macro-tl-userexten-base:53] Set("SIP/GoAnyCA-00000009", "TIMEOUT=") in new stack
-- Executing [s@macro-tl-userexten-base:54] GotoIf("SIP/GoAnyCA-00000009", "0?next1") in new stack
-- Executing [s@macro-tl-userexten-base:55] Set("SIP/GoAnyCA-00000009", "TIMEOUT=30") in new stack
-- Executing [s@macro-tl-userexten-base:56] GotoIf("SIP/GoAnyCA-00000009", "1?next1") in new stack
-- Goto (macro-tl-userexten-base,s,58)
-- Executing [s@macro-tl-userexten-base:58] Set("SIP/GoAnyCA-00000009", "CDR(userfield)=solar") in new stack
-- Executing [s@macro-tl-userexten-base:59] Set("SIP/GoAnyCA-00000009", "SCREEN=") in new stack
-- Executing [s@macro-tl-userexten-base:60] Set("SIP/GoAnyCA-00000009", "CONFIRM=") in new stack
-- Executing [s@macro-tl-userexten-base:61] GotoIf("SIP/GoAnyCA-00000009", "1?getblock") in new stack
-- Goto (macro-tl-userexten-base,s,66)
-- Executing [s@macro-tl-userexten-base:66] Set("SIP/GoAnyCA-00000009", "BLOCK=") in new stack
-- Executing [s@macro-tl-userexten-base:67] GotoIf("SIP/GoAnyCA-00000009", "1?getrecord") in new stack
-- Goto (macro-tl-userexten-base,s,71)
-- Executing [s@macro-tl-userexten-base:71] Set("SIP/GoAnyCA-00000009", "RECORD=") in new stack
-- Executing [s@macro-tl-userexten-base:72] NoOp("SIP/GoAnyCA-00000009", "calleridnum=8178460000 ") in new stack
-- Executing [s@macro-tl-userexten-base:73] GotoIf("SIP/GoAnyCA-00000009", "1?screening") in new stack
-- Goto (macro-tl-userexten-base,s,105)
-- Executing [s@macro-tl-userexten-base:105] GotoIf("SIP/GoAnyCA-00000009", "1?recording") in new stack
-- Goto (macro-tl-userexten-base,s,131)
-- Executing [s@macro-tl-userexten-base:131] GotoIf("SIP/GoAnyCA-00000009", "1?forwarding") in new stack
-- Goto (macro-tl-userexten-base,s,133)
-- Executing [s@macro-tl-userexten-base:133] Set("SIP/GoAnyCA-00000009", "FORWARD=") in new stack
-- Executing [s@macro-tl-userexten-base:134] GotoIf("SIP/GoAnyCA-00000009", "1?followmecheck") in new stack
-- Goto (macro-tl-userexten-base,s,142)
-- Executing [s@macro-tl-userexten-base:142] Set("SIP/GoAnyCA-00000009", "FORWARD=") in new stack
-- Executing [s@macro-tl-userexten-base:143] Set("SIP/GoAnyCA-00000009", "__FOLLOWME=0") in new stack
-- Executing [s@macro-tl-userexten-base:144] GotoIf("SIP/GoAnyCA-00000009", "1?checkchannel") in new stack
-- Goto (macro-tl-userexten-base,s,156)
-- Executing [s@macro-tl-userexten-base:156] ChanIsAvail("SIP/GoAnyCA-00000009", "SIP/101-solar") in new stack
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [s@macro-tl-userexten-base:157] GotoIf("SIP/GoAnyCA-00000009", "1?chanavail") in new stack
-- Goto (macro-tl-userexten-base,s,159)
-- Executing [s@macro-tl-userexten-base:159] GotoIf("SIP/GoAnyCA-00000009", "1?dial") in new stack
-- Goto (macro-tl-userexten-base,s,165)
-- Executing [s@macro-tl-userexten-base:165] Dial("SIP/GoAnyCA-00000009", "SIP/101-solar,30,rtT") in new stack
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/101-solar
-- SIP/101-solar-0000000b is ringing

Submitted by voicedata on Wed, 03/28/2012 Permalink

Erik,
You said to pull the full CDR records. Were you talking about the CLI output? If not, how can I pull the full CDR record?

Here's one line of what shows up in the Call History:
Tenant Caller ID Source Destination Call Date Secs Account Code Disposition
solar "8178460000" <8178460000> 8178460000 101 2012-03-28 14:12:02 20 No answer

What I dont understand is that this is after a default install. I cant imagine why the incoming caller id would not show up on the SIP client when it is being received from the trunk. I did some research and found that they did update the CALLERID function in 1.8. It's gotta be because of a difference between 1.4/1.6 and 1.8.

Submitted by eeman on Wed, 03/28/2012 Permalink

the cdr is in /var/log/asterisk/cdr-csv/Master.csv

but maybe you should just hedge your losses and just hire me to fix your trunk for you?

Submitted by voicedata on Wed, 03/28/2012 Permalink

Thanks for the offer but I want to work through this and figure out what the deal is so that I know for next time. It's gotta be something stupid. The frustrating thing is...you pay all kinds of money for this software and with a default install, you are left with some type of mis-configuration that is causing it to malfunction. Ofcourse there is no free support other than these forums. Ah, it is what it is. I will figure it out sooner or later. I just cant imagine that there arent other people out there that ran into this same problem. Everything is setup the exact same way that worked in 1.4 and 1.6. It doesnt make sense.

Submitted by eeman on Wed, 03/28/2012 Permalink

im running 1.8 on my gateway and 1.8 on my MTE and I dont have issue with my broadvox connection, but its all in the way its defined. paste your call record and paste the sip.conf entry for this trunk and lets compare.

Submitted by voicedata on Wed, 03/28/2012 Permalink

Son of a bitch. It was these 2 lines in sip.conf:
trustrpid=yes
sendrpid=yes

I removed those and it works fine! Stupid shit.

Submitted by eeman on Wed, 03/28/2012 Permalink

those are VERY important.. if you are having a problem because of those. its because you STILL fucked up your trunk settings and the goddamn call is processing under GENERAL. Do you want to do it right? Or do you want to do a half-ass fix and process it under general?

Submitted by voicedata on Wed, 03/28/2012 Permalink

I want to do it right. Perhaps our old server has been doing it wrong all along. It works perfectly and does not have those 2 lines in sip.conf. Perhaps its because of a difference between 1.4 and 1.8.

I just cant see how our trunks are setup wrong. Here is what we have in sip.conf:
[GoAnyCA]
qualify=no
nat=yes
;=description=Go Any-CA
host=208.93.227.000
dtmfmode=rfc2833
context=from-outside
type=peer
canreinvite=no
disallow=all
allow=ulaw
allow=g729
allow=alaw

Submitted by eeman on Wed, 03/28/2012 Permalink

ok nat should be no

if you are going to call the trunk GoAnyCA then add a line username=GoAnyCA so CDR records it as SIP/GoAnyCA

host ip cant be right

you should not be allowing alaw, and probably should only allow only 1 either ulaw or g729 as asterisk wont auto-efficiently pick a codec

you are missing insecure=port,invite

this entry will only exist for calls delivered from the host= ip address you configured. you need to verify them correctly. the cdr should help you

Submitted by voicedata on Wed, 03/28/2012 Permalink

I removed the last 3 digits of the host so that I'm not posting information that may be confidential.
I added insecure=port,invite, removed alaw and added the username. Here is what I have now:

[GoAnyCA]
qualify=no
nat=yes
;=description=Go Any-CA
host=208.93.227.***
username=GoAny-CA
dtmfmode=rfc2833
context=from-outside
type=peer
insecure=port,invite
canreinvite=no
disallow=all
allow=ulaw
allow=g729

What did you mean when you said this?:
"this entry will only exist for calls delivered from the host= ip address you configured. you need to verify them correctly. the cdr should help you"

Submitted by eeman on Tue, 04/03/2012 Permalink

nat setting is still wrong

if you have host=208.93.227.123 then invites from 66.145.222.101 are not going to match against this entry