[Asterisk-Dev] dev conf topic: better CDRs

Kevin P. Fleming kpfleming at starnetworks.us
Tue Feb 22 10:59:33 MST 2005


Matthew Boehm wrote:
> There are many Asterisk users out there than need better/more detailed CDRs.
> Our class 4/5 switch spits out over 80 different columns for each call that
> passes thru. Most notably are the differences between "true" number and
> "translated" number.

I have some code in the works that will likely solve this issue... but 
in a very different way.

My CDR system (not in place yet, only prototyped) actually uses a 
two-level CDR: the master record looks much like the existing one, and 
is created when the call arrives in Asterisk. Nothing is updated in that 
record except for the endtime and duration fields when the call ends.

In addition, that master record has "child" records that are created as 
the call moves through Asterisk; every Goto (implicit or explicit) 
generates a record, apps can add entries for "events" that occurred 
(app_voicemail could record an entry for "voicemail left", etc.), 
extensions entered by the caller at an IVR menu (or any other place) 
generate records, Dial generates records for dialed targets and the one 
that answers, etc.

I did this because I have client who want to be able to analyze their 
callers' activities (how many people got put into the queue, went to 
voicemail and did not leave a message, etc.), but it could conceivably 
solve some of the issues you are referring to as well. It won't "know" 
that target of a Goto is the "translated number" or the "forwarded-to 
number" but at least the details are in the CDR and you can infer what 
they are because you know how your dialplan is structured.



More information about the asterisk-dev mailing list