if (!switch_channel_test_flag(channel, CF_TRANSFER) && !switch_channel_test_flag(channel, CF_REDIRECT) &&
!switch_channel_test_flag(channel, CF_XFER_ZOMBIE) && bd && !bd->clean_exit
&& state != CS_PARK && state != CS_ROUTING && state == CS_EXCHANGE_MEDIA && !switch_channel_test_flag(channel, CF_INNER_BRIDGE)) {
- if (switch_channel_test_flag(channel, CF_INTERCEPT) && !switch_channel_test_flag(channel, CF_INTERCEPTED)) {
- switch_channel_hangup(channel, SWITCH_CAUSE_PICKED_OFF);
- } else {
- if (!switch_channel_test_flag(channel, CF_ANSWERED)) {
- switch_channel_hangup(channel, SWITCH_CAUSE_ORIGINATOR_CANCEL);
+ if (!switch_channel_test_flag(channel, CF_INTERCEPTED)) {
+ if (switch_channel_test_flag(channel, CF_INTERCEPT)) {
+ switch_channel_hangup(channel, SWITCH_CAUSE_PICKED_OFF);
} else {
- switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
+ if (!switch_channel_test_flag(channel, CF_ANSWERED)) {
+ switch_channel_hangup(channel, SWITCH_CAUSE_ORIGINATOR_CANCEL);
+ } else {
+ switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
+ }
}
}
}