[asterisk-dev] Proposed changes to accountcode in CDRs
greymanvoip at gmail.com
Tue May 13 03:18:49 CDT 2008
On Mon, May 12, 2008 at 6:11 PM, Brian Degenhardt <bmd at digium.com> wrote:
> Grey Man <greymanvoip at gmail.com>
>> On Thu, May 8, 2008 at 6:08 PM, Brian Degenhardt <bmd at digium.com> wrote:
>> > Let's put aside the complete issue of CDRs for a moment though and
>> > focus specifically on accountcodes. Can you see any problem with not
>> > implicitly transfering the accountcode from one channel to another
>> > when a bridge occurs?
>> Yes I would see that as a problem. I would think the accountcode
>> should always be promulgated to both the channels in the bridge. It
>> would be a problem if a CDR for a call ended up without an
>> accountcode. However this is not something that is a problem at the
>> moment so I'm not sure where this issue has come from?
> The trouble I'm having is if two different accountcodes call each
> other. In my view, each channel should retain their own accountcode.
> My proposed change would not enable a CDR to lose it's accountcode, it
> would just prevent the first leg's accountcode from implicitly
> overwriting the owners of future legs. For example, if I called you,
> and then blind transfered you to Atis, and then you blind transfered
> Atis to Russell, that last CDR post would have my accountcode, even
> though I had nothing to do with the call. However, if we repeated
> that practice, but used assisted transfers, it would behave
> differently. I'm proposing to normalize on the behavior of the
> assisted transfers.
I'm proposing that each channel gets the AccountCode assigned when the
call is placed and is only changed after that by an explicit operation
in the dialplan. Transfers, bridging and other fiddling within the
Asterisk core should leave the channel AccountCode and Destination
alone and instead generate a CDR whenever a channel is hungup.
The key point as far as CDRs go is that channels don't change it's
bridges that change. If CDRs are tied to channels the the CDR
generation situation becomes simplicity itself, if the CDRs remain
tied to bridges the situation stays complex and ambiguous (if you read
through murf's blog post on the subject where he tried to map out all
the possible permutations you'll see just how bamboozling that gets).
More information about the asterisk-dev