aboutsummaryrefslogtreecommitdiffstats
path: root/cdr.c
diff options
context:
space:
mode:
authorroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-03-15 23:05:42 +0000
committerroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-03-15 23:05:42 +0000
commite4f0c284018023c7af8f19f10a21de9c2326e321 (patch)
tree74f8a83d34167c458a29c18f13d34903ae4649a9 /cdr.c
parent63da5e1423c374d94b367455ac1da0ed48400230 (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@13196 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'cdr.c')
-rw-r--r--cdr.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/cdr.c b/cdr.c
index 2e78671dc..9d3eb68bd 100644
--- a/cdr.c
+++ b/cdr.c
@@ -807,11 +807,13 @@ static void post_cdr(struct ast_cdr *cdr)
ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
if (ast_tvzero(cdr->end))
ast_log(LOG_WARNING, "CDR on channel '%s' lacks end\n", chan);
- if (ast_tvzero(cdr->start))
+ if (ast_tvzero(cdr->start)) {
ast_log(LOG_WARNING, "CDR on channel '%s' lacks start\n", chan);
- cdr->duration = cdr->end.tv_sec - cdr->start.tv_sec + (cdr->end.tv_usec - cdr->start.tv_usec) / 1000000;
+ cdr->disposition = AST_CDR_FAILED;
+ } else
+ cdr->duration = cdr->end.tv_sec - cdr->start.tv_sec;
if (!ast_tvzero(cdr->answer))
- cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec + (cdr->end.tv_usec - cdr->answer.tv_usec) / 1000000;
+ cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec;
else
cdr->billsec = 0;
ast_set_flag(cdr, AST_CDR_FLAG_POSTED);