}
switch_ivr_multi_threaded_bridge(session, other_session, NULL, NULL, NULL);
+ if (switch_channel_get_state(channel) < CS_HANGUP) {
+ switch_channel_set_state(channel, CS_EXECUTE);
+ }
switch_core_session_rwunlock(other_session);
} else {
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
}
- state = switch_channel_get_state(caller_channel);
-
- if (state == CS_SOFT_EXECUTE || state == CS_PARK) {
- switch_channel_set_state(caller_channel, CS_EXECUTE);
- }
-
return status;
}