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;