#define switch_channel_ready(_channel) switch_channel_test_ready(_channel, SWITCH_TRUE, SWITCH_FALSE)
#define switch_channel_media_ready(_channel) switch_channel_test_ready(_channel, SWITCH_TRUE, SWITCH_TRUE)
+#define switch_channel_media_up(_channel) (switch_channel_test_flag(_channel, CF_ANSWERED) || switch_channel_test_flag(_channel, CF_EARLY_MEDIA))
#define switch_channel_up(_channel) (switch_channel_get_state(_channel) < CS_HANGUP)
#define switch_channel_down(_channel) (switch_channel_get_state(_channel) >= CS_HANGUP)
return SWITCH_STATUS_FALSE;
}
- //if (!switch_channel_test_flag(originator_channel, CF_ANSWERED)) {
- if (!switch_channel_media_ready(originator_channel)) {
- if (switch_channel_media_ready(originatee_channel)) {
- //if (switch_channel_test_flag(originatee_channel, CF_ANSWERED)) {
+ if (!switch_channel_media_up(originator_channel)) {
+ if (switch_channel_media_up(originatee_channel)) {
swap_session = originator_session;
originator_session = originatee_session;
originatee_session = swap_session;