Caller ID Information Cached on Server

I have an interesting problem.

We have asterisk 1.4 running in a Realtime DB (Mysql) scenario

For some reason the CallerID field is caching itself. I setup a new phone (polycom) sucessfully registered it and brought in online. I then changed the caller ID value and rebooted the phone.

Even though a 'sip show peer ’ shows the updated Caller ID Name, the phone still displays the original set name when calling someone.

Is there any way to clear the cache (If there is a cache) other than restarting asterisk. There are alot of people registered to the server and if I can clear this without taking it down, that would be great…

Hi rgrignon,

We have the same problem with version 1.6
Have you already got a solution to this problem?


Arjan Kroon


At the bottom of this page you might have your solution:

use “sip prune realtime PEERNAME” then “sip show peer PEERNAME load” to flush the peer and reload from db


Tx, but we don’t use Sip connection, only Dahdi and IAX channels.
Is there also an option voor Dahdi channels?


Arjan Kroon


I don’t think that changes made in DAHDI or IAX2 will show up with "sip show peer "!

in <chan_dahdi.conf>

Have you assigned something to callerid

something like:
callerid=Your Name <1234567890>

For the FXO port I use “callerid=asreceived” and
for the FXS port I use “callerid=My Name <1234567890>”.

But for me it makes no difference, I cannot change any callerID info out on the DAHDI channel (FXS), only my phone company.

But after changes made in <chan_dahdi.conf> you also need to restart Asterisk to re-configure the DAHDI channel


What do you see if you do:
iax2 show peer

// Nypon

The DNDID chaching is a bug in asterisk.
It is solved in asterisk version 1.8 or with this patch


Arjan Kroon

We try to use the patch on asterisk 1.6.12
We see that the patch is implemented in 1.6.12rc1 and 1.6.12.

We use AMI to get the DNID.
But when we try to get the CALLERID with AMI, the CALLERID is still in the cache.

We added two lines in the code in the file /usr/src/asterisk16-
After 4340 we added these two lines.
p->exten[0] = ‘\0’;
p->dnid[0] = ‘\0’;

We tried it, and the callerid(dnid) are cleared.

But can anybody tell me if, this change has consequences on other code?