[asterisk-dev] Missing CDR

Daniel A. Veiga dveiga at advtechnology.com.ar
Wed Nov 18 06:16:32 CST 2009


    Hello everybody. A few days ago I posted in bugs.digium.com a
problem with CDRs. It's issue ID is 0016258. It appears when
somebody receives a call and performs an attended transfer to
someone else. Only 2 records are generated when 3 calls took place
(A->B, B->C and finaly A->C).

    As I discovered this too late (we allready have a system in
production state and this is really a problem for us), we decided
to solve it. I discovered the problem could be fixed in
ast_do_masquerade(). There, instead of swapping the CDRs of the two
channels, I could generate the CDR for the call that ends (and
whose channel is left "zombie" at the end of the function) and
modify the CDR of the other channel to reflect the new peer and
start-time. Unfortunatelly I had a last moment complication when I
discovered those CDRs where never used, as ast_bridge_call() posts
the CDR it stores in a local variable (bridge_cdr).

    At that moment I had other ideas, but changes would not be limited
to a small part of a function, so I decided to post the bug and
request the advice of someone with more experience in the project
than I have. "lmadsen" said the person to talk to was "mnicholson"
and this list the right place, that's why I post this message.

    The fact is I NEED to solve it. I can either:
  - do a modification for myself off the trunk
  - do a modification we can get into the trunk
  - do a modification we can get into the trunk with an optional
compatibility conditional compilation flag
  - or a new module that can be inserted into the trunk and let each
end user decide if it is compiled/used or not.

    Among theese, and considering free projects are made by small
contributions of many developpers (ok, sometimes not that small), I
preffer to use my time in something that can be of use to others.
That's why I'm interested in "mnicholson"'s advice to choose the
best way of solving this.

    Bye,


                      Daniel A. Veiga
                     ADV Technology SRL






More information about the asterisk-dev mailing list