diff --git a/main/bridge_channel.c b/main/bridge_channel.c index 32d48309b00307642145c567394f37f8fa809181..013475c6895eafab3fbcfb02f72065468ede1145 100644 --- a/main/bridge_channel.c +++ b/main/bridge_channel.c @@ -1477,27 +1477,20 @@ static void bridge_channel_handle_control(struct ast_bridge_channel *bridge_chan struct ast_channel *chan; struct ast_option_header *aoh; int is_caller; - int intercept_failed; chan = bridge_channel->chan; switch (fr->subclass.integer) { case AST_CONTROL_REDIRECTING: is_caller = !ast_test_flag(ast_channel_flags(chan), AST_FLAG_OUTGOING); - bridge_channel_suspend(bridge_channel); - intercept_failed = ast_channel_redirecting_sub(NULL, chan, fr, 1) - && ast_channel_redirecting_macro(NULL, chan, fr, is_caller, 1); - bridge_channel_unsuspend(bridge_channel); - if (intercept_failed) { + if (ast_channel_redirecting_sub(NULL, chan, fr, 1) && + ast_channel_redirecting_macro(NULL, chan, fr, is_caller, 1)) { ast_indicate_data(chan, fr->subclass.integer, fr->data.ptr, fr->datalen); } break; case AST_CONTROL_CONNECTED_LINE: is_caller = !ast_test_flag(ast_channel_flags(chan), AST_FLAG_OUTGOING); - bridge_channel_suspend(bridge_channel); - intercept_failed = ast_channel_connected_line_sub(NULL, chan, fr, 1) - && ast_channel_connected_line_macro(NULL, chan, fr, is_caller, 1); - bridge_channel_unsuspend(bridge_channel); - if (intercept_failed) { + if (ast_channel_connected_line_sub(NULL, chan, fr, 1) && + ast_channel_connected_line_macro(NULL, chan, fr, is_caller, 1)) { ast_indicate_data(chan, fr->subclass.integer, fr->data.ptr, fr->datalen); } break;