[Freeswitch-svn] [commit] r3447 - freeswitch/trunk/src

Freeswitch SVN anthm at freeswitch.org
Thu Nov 23 14:32:28 EST 2006


Author: anthm
Date: Thu Nov 23 14:32:28 2006
New Revision: 3447

Modified:
   freeswitch/trunk/src/switch_ivr.c

Log:
update

Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c	(original)
+++ freeswitch/trunk/src/switch_ivr.c	Thu Nov 23 14:32:28 2006
@@ -2153,7 +2153,8 @@
 									uint32_t len,
 									int32_t *idx,
 									char *file,
-									char *key)
+									char *key,
+									char *ringback_data)
 {
 
 	uint32_t i;
@@ -2166,7 +2167,8 @@
 		}
 		if (switch_channel_get_state(peer_channels[i]) >= CS_HANGUP) {
 			hups++;
-		} else if ((switch_channel_test_flag(peer_channels[i], CF_ANSWERED) || (len == 1 && switch_channel_test_flag(peer_channels[0], CF_EARLY_MEDIA))) && 
+		} else if ((switch_channel_test_flag(peer_channels[i], CF_ANSWERED) || 
+					(!ringback_data && len == 1 && switch_channel_test_flag(peer_channels[0], CF_EARLY_MEDIA))) && 
 				   !switch_channel_test_flag(peer_channels[i], CF_TAGGED)) {
 
 			if (key) {
@@ -2581,7 +2583,7 @@
 		}
 		
 		while ((!caller_channel || switch_channel_ready(caller_channel)) && 
-			   check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key)) {
+			   check_channel_status(peer_channels, peer_sessions, and_argc, &idx, file, key, ringback_data)) {
 
 			if ((to = (uint8_t)((time(NULL) - start) >= (time_t)timelimit_sec))) {
 				idx = IDX_CANCEL;



More information about the Freeswitch-svn mailing list