diff --git a/cdr.c b/cdr.c index 0aa7ddba8f..19c73dce48 100644 --- a/cdr.c +++ b/cdr.c @@ -655,9 +655,10 @@ void ast_cdr_end(struct ast_cdr *cdr) ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan); if (ast_tvzero(cdr->end)) cdr->end = ast_tvnow(); - if (ast_tvzero(cdr->start)) + if (ast_tvzero(cdr->start)) { ast_log(LOG_WARNING, "CDR on channel '%s' has not started\n", chan); - else + 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;