diff options
-rw-r--r-- | main/features.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/main/features.c b/main/features.c index 3f4d33e6b..c3731af33 100644 --- a/main/features.c +++ b/main/features.c @@ -2491,8 +2491,13 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast ast_channel_lock(chan); ast_copy_string(chan->exten, save_exten, sizeof(chan->exten)); chan->priority = save_prio; - if (bridge_cdr) - chan->cdr = swapper; + if (bridge_cdr) { + if (chan->cdr == bridge_cdr) { + chan->cdr = swapper; + } else { + bridge_cdr = NULL; + } + } ast_set_flag(chan, AST_FLAG_BRIDGE_HANGUP_RUN); ast_channel_unlock(chan); /* protect the lastapp/lastdata against the effects of the hangup/dialplan code */ |