Revision
16573
Author
anthm
Date
2010-02-04 17:52:03 -0600 (Thu, 04 Feb 2010)

Log Message

refactor try this Vagabond

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_ivr_bridge.c (16572 => 16573)


--- freeswitch/trunk/src/switch_ivr_bridge.c	2010-02-04 22:21:23 UTC (rev 16572)
+++ freeswitch/trunk/src/switch_ivr_bridge.c	2010-02-04 23:52:03 UTC (rev 16573)
@@ -735,12 +735,6 @@
 
 		switch_channel_wait_for_state(other_channel, channel, CS_RESET);
 
-		if (switch_ivr_wait_for_answer(session, other_session) != SWITCH_STATUS_SUCCESS) {
-			switch_core_session_rwunlock(other_session);
-			switch_channel_hangup(channel, SWITCH_CAUSE_ORIGINATOR_CANCEL);
-			return SWITCH_STATUS_FALSE;
-		}
-
 		if (switch_channel_get_state(other_channel) == CS_RESET) {
 			switch_channel_set_state(other_channel, CS_SOFT_EXECUTE);
 		}
@@ -749,6 +743,11 @@
 
 		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 
+		if (switch_ivr_wait_for_answer(session, other_session) != SWITCH_STATUS_SUCCESS) {
+			switch_core_session_rwunlock(other_session);
+			switch_channel_hangup(channel, SWITCH_CAUSE_ORIGINATOR_CANCEL);
+			return SWITCH_STATUS_FALSE;
+		}
 
 		ready_a = switch_channel_ready(channel);
 		ready_b = switch_channel_ready(other_channel);