well, it all depends…
Realize that the CID name is provided by the telco they are connected to and how they look it up in the national database (maintained by all the telcos). So if the incoming caller’s telco entered the phone number as the name in the national DB you can get that (that is one possibility).
It is also possible that the setup of the phones as been messed up somehow and now it is duplicating the display info because it was instructed to.
One thing to do is have a external caller that you KNOW has good CallerID info call them, and see what happens. While that is happening also set verbose to 3 and capture the call trace info from asterisk and review it.
You should see something like this coming in
Nov 18 09:32:01 VERBOSE[13442] logger.c: – Executing NoOp(“Zap/2-1”, “user-callerid: WITS 2001 571xxxxxxx”) in new stack
and later on when the call completes and you have the CDR enabled
Nov 18 09:33:11 DEBUG[13442] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid,userfield) VALUES (‘2008-11-18 09:31:50’,’"WITS 2001 " <571xxxxxxx>’,‘571xxxxxxx’,‘439’,‘from-did-direct’, ‘Zap/2-1’,‘SIP/439-08e2ba98’,‘VoiceMail’,‘439@default|u’,81,81,‘ANSWERED’,3,’’,‘1227018710.18638’,’’)
with the same name inserted. So if they have it in the logs but not on the phone then something is wrong with the phone config. If the CallerID is not showing up correctly then you need to talk to the telco providing service.
I hope that helps with places to look and see what is happening.