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