[asterisk-dev] Time for a bug fix phase?

Grey Man greymanvoip at gmail.com
Sat May 31 19:46:36 CDT 2008


On Sat, May 31, 2008 at 8:52 PM, Steve Murphy <murf at digium.com> wrote:

> So, CEL seemed the perfect answer to me. You basically drop
> the CDR concept entirely, and go down a level to the individual
> events from which CDR's are usually compiled. You get a timely
> <snip>
>
> My dream is produce a general purpose CEL->CDR converter, from
> which perhaps you could use a config file to describe which
> kind of events you want CDRs to describe, and how... I'm sure it
> could have more options than the Dial app.

In theory the CEL->CDR design seems to have merit but to be honest it
scares me every time I read about it. When you boil it down CDR's are
simple. A call (in Asterisk terms a channel) is placed, a call stops,
a CDR is written. At some point in Asterisk that simple process got
complicated, it was most likely changed in response to user requests
and was probably to do with removing CDRs for what seemed like
extraneous calls (unless the origial developer is on the list we'll
never know, I can't see any comments in the code as to why the CDRs
were decided to be merged). To now attempt to retrofit the CEL-CDR
mechanism over the top of Asterisk and get reliable CDRs seems to be
going from the current broken-complex situation to a
newer-bigger-more-complex situation. Unfortunately I have been around
software development long enough to get scared when I hear "bigger",
"newer" and "complex". On the other hand I like "simplify" and "fix".
Anyway that's all an aside I'll be the first one to quit whinging and
congratulate you if you come up with any system that produces accurate
CDRs.

> You are right; there are certain fixes that could be made, and
> I'll do my best. But the trouble is, that someone probably by
> now depends on the erroneous behavior. If every fix I make
> means some sort of config file option to turn it on, then I
> swiftly get into a morass of options I have to maintain.

They definitely do depend on it. There are at least two people that
posted to the user's list with some fairly convoluted parsing they do
of the lastdata field in the CDR's to determine if a transfer has
taken place.

Since I had a bit of a poke around the code it looks like it would not
be too tricky to have a single config switch to go from a single CDR
per bridge apporach to a sing CDR per channel approach. I guess if I
can show a fix rather than just talking about it there will be some
more weight in the discussion.

> Hah, that's the magic of Asterisk. We have no way of telling the
> number of users who share in our pain. No way to track down the
> number of users/implementers, and no way to judge who will care or
> not, beyond the irc messages, and the email mailing lists. I know
> the political people assign 'weights' to callers, to try and estimate
> how much of the general public sympathize with you. They usually
> won't know for sure until the votes are counted at the end of the
> season. I can even give you a weight. Maybe you are worth 20 people,
> maybe you are worth 2000. Hard to tell!
> <snip>

I've been getting everybody I can find with the transfer-CDR problem
to post on the two bug reports (which are actually for the same thing)
as a way of finding out how many people have the probelm.

http://bugs.digium.com/view.php?id=11849
http://bugs.digium.com/view.php?id=11093

I also informed another two Asterisk based providers that were
allowing transfers and not billing properly for them, i.e. losing
money, of the issue in the hope that they would get a bit more vocal
but one disagreed they had the problem, even though I could prove it,
and one was alarmed but must have taken different action as I don't
think they ever posted.

As far as the user group this affects it's going to mainly be people
like me using Asterisk and CDRs as their billing platform, i.e. using
Asterisk to earn their living. Undoubtedly that's only a small section
of the Asterisk community however it's likely to be the a section that
spends a lot of money back into the Asterisk eco-system. For example
my company has paid for 3 people to do various Asterisk training
courses, purchased Digium cards, purchased heaps of g729 licenses,paid
for some custom Asterisk development, promoted Asterisk use to our
customers, etc. In other words we're definitely a sub-user group
worthy of assistance <flutters eyelids encouragingly>.

To my mind having this discussion and the ones prior to it (they crop
up about once a month now) is progress. At the very ;east it's moving
past the point where the best suggestion was that if you want reliable
CDRs you shouldn't use Asterisk for them (no disrespect meant to
Kevin):

http://lists.digium.com/pipermail/asterisk-users/2008-January/204916.html

Regards,

Greyman.



More information about the asterisk-dev mailing list