From dcccda229df50a36791048e364d6ec1b31f68a46 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Wed, 22 Mar 2006 21:38:32 +0000 Subject: [PATCH] Issue #5918 - Disposition showing FAILED even though call is answered successfully (Reported by tracinet) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@14234 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- cdr.c | 6 ++++-- include/asterisk/cdr.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cdr.c b/cdr.c index 9d3eb68bd6..272ce0f695 100644 --- a/cdr.c +++ b/cdr.c @@ -520,8 +520,10 @@ void ast_cdr_failed(struct ast_cdr *cdr) chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : ""; if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED)) ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan); - if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) - cdr->disposition = AST_CDR_FAILED; + if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) { + if (cdr->disposition < AST_CDR_FAILED) + cdr->disposition = AST_CDR_FAILED; + } cdr = cdr->next; } } diff --git a/include/asterisk/cdr.h b/include/asterisk/cdr.h index c438829463..ae10ac13a3 100644 --- a/include/asterisk/cdr.h +++ b/include/asterisk/cdr.h @@ -32,8 +32,8 @@ #define AST_CDR_NOANSWER (1 << 0) #define AST_CDR_BUSY (1 << 1) -#define AST_CDR_ANSWERED (1 << 2) -#define AST_CDR_FAILED (1 << 3) +#define AST_CDR_FAILED (1 << 2) +#define AST_CDR_ANSWERED (1 << 3) /*! AMA Flags */ #define AST_CDR_OMIT (1)