mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-01 03:04:19 +00:00
don't calculate a duration if the CDR wasn't started, as it will result in a
totally bogus value. Thanks, Luigi! :) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
5
cdr.c
5
cdr.c
@@ -653,10 +653,11 @@ void ast_cdr_end(struct ast_cdr *cdr)
|
|||||||
chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
|
chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
|
||||||
if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
|
if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
|
||||||
ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
|
ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
|
||||||
if (ast_tvzero(cdr->start))
|
|
||||||
ast_log(LOG_WARNING, "CDR on channel '%s' has not started\n", chan);
|
|
||||||
if (ast_tvzero(cdr->end))
|
if (ast_tvzero(cdr->end))
|
||||||
cdr->end = ast_tvnow();
|
cdr->end = ast_tvnow();
|
||||||
|
if (ast_tvzero(cdr->start))
|
||||||
|
ast_log(LOG_WARNING, "CDR on channel '%s' has not started\n", chan);
|
||||||
|
else
|
||||||
cdr->duration = cdr->end.tv_sec - cdr->start.tv_sec;
|
cdr->duration = cdr->end.tv_sec - cdr->start.tv_sec;
|
||||||
if (!ast_tvzero(cdr->answer))
|
if (!ast_tvzero(cdr->answer))
|
||||||
cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec;
|
cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec;
|
||||||
|
|||||||
Reference in New Issue
Block a user