[asterisk-dev] [Code Review] Asterisk crashes when hanging up a 3-way call.

Joel Jn-Francois voirtech at gmail.com
Wed Nov 12 11:03:42 CST 2008


Hi

I am using this code below to calculate the duration and billsec of a call
in asterisk.  It works fine when I test it with one call, however if I make
a 3-way call, when I hangup it crashes asterisks. When I check the log I get
this debug error right before it crashes:DEBUG[23679] rtp.c: Oooh, something
is weird, backing out.

Can anyone give me some insight as to what I am doing wrong.

struct tm tm;
timestr[128];
time_t t;

{
    time(&t);
    ast_localtime(&t, &tm, NULL);
    strftime(timestr,128,DATE_FORMAT,&tm);

    ast_cdr_end(cdr);

    if (!cdr->end.tv_sec && !cdr->end.tv_usec)
        ast_log(LOG_WARNING, "CDR on channel '%s' lacks end\n",
cdr->channel);

    if (!cdr->start.tv_sec && !cdr->start.tv_usec)
        ast_log(LOG_WARNING, "CDR on channel '%s' lacks start\n",
cdr->channel);

    if (cdr->answer.tv_sec || cdr->answer.tv_usec) {
        cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec +
(cdr->end.tv_usec - cdr->answer.tv_usec) / 1000000;
    } else {    cdr->billsec = 0;}

}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20081112/973d0b53/attachment.htm 


More information about the asterisk-dev mailing list