[asterisk-dev] stable^Wrelease^Wcurrent track^Uwhatever

Russell Bryant russell at digium.com
Tue Aug 29 12:56:35 MST 2006


----- Roy Sigurd Karlsbakk <roy at karlsbakk.net> wrote:
> just before 1.2.10, there was a "slight correction" in the code that 
> changed the numbers logged in CDR from using the CALLERID(number) to 
> using the CALLERID(ANI) instead. This was after bug #7285 was solved, 
> and this functionality was merged into 1.2. This was reported as a  
> new bug here http://bugs.digium.com/view.php?id=7695

Let me clarify what is going on here.  The change that I made to fix the bug you have referenced did not touch CDR code at all.  The change was to clear up the inconsistency in the handling of the "callerid" setting in various channel drivers.  Some set ANI, some did not, and some did various other weird things.  This was cleaned up, and now ANI is always set, as it should be.

When this change was made, I did not forsee the effect on CDR.  After looking at the code, the exact behavior of the "clid" field of the CDR is that it will be the ANI field of the channels callerid if it is set, and the callerid number otherwise.  This was the behavior all along, and has nothing to do with my changes.

The problems discussed in bug 7695 are likely because the cases where setting CALLERID(num) in the dialplan worked to change the "clid" field of the CDR never had ANI set for the channel.  Now that it is, that doesn't work anymore.

To clear up the situation, I propose the following:

In the 1.2 branch, go back and make the channel drivers that did not set ANI before not set it.

In the trunk, add a note to UPGRADE.txt explaining the situation to users upgrading to Asterisk 1.4.

-- 
Russell Bryant
Software Engineer
Digium, Inc.




More information about the asterisk-dev mailing list