diff --git a/main/cdr.c b/main/cdr.c index 5e24075029ce799231fd90007379e07c0aebb5bf..b5df79fc78cd6b7effcc292b28b9a964e23b95c3 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -1359,10 +1359,10 @@ static int base_process_party_a(struct cdr_object *cdr, struct ast_channel_snaps ast_assert(strcasecmp(snapshot->name, cdr->party_a.snapshot->name) == 0); - /* Ignore any snapshots from a dead or dying channel */ + /* Finalize the CDR if we're in hangup logic and we're set to do so */ if (ast_test_flag(&snapshot->softhangup_flags, AST_SOFTHANGUP_HANGUP_EXEC) - && ast_test_flag(&mod_cfg->general->settings, CDR_END_BEFORE_H_EXTEN)) { - cdr_object_check_party_a_hangup(cdr); + && ast_test_flag(&mod_cfg->general->settings, CDR_END_BEFORE_H_EXTEN)) { + cdr_object_finalize(cdr); return 0; }