[asterisk-dev] Asterisk crashes when hanging up a 3-way call.
Joel Jn-Francois
voirtech at gmail.com
Fri Nov 14 10:56:59 CST 2008
Hi All,
A few days ago Mark Michelson was able to help me figure out that asterisk
was crashing when hanging up a 3-way call because the CDR was being set to
Null at that point. However, the code below works perfectly for 2-way
calling.
Can anyone share some insight as to why the CDR might be null when hanging
up a 3-way call? Or is there another way of calculating the duration and
the billsec without using the CDR?
Thanks for your help.
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/20081114/00ef674b/attachment-0001.htm
More information about the asterisk-dev
mailing list