[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