[Freeswitch-svn] [commit] r3286 - in freeswitch/trunk/src: . include mod/endpoints/mod_sofia

Freeswitch SVN anthm at freeswitch.org
Thu Nov 9 00:13:59 EST 2006


Author: anthm
Date: Thu Nov  9 00:13:59 2006
New Revision: 3286

Modified:
   freeswitch/trunk/src/include/switch_types.h
   freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
   freeswitch/trunk/src/switch_ivr.c

Log:
tweak

Modified: freeswitch/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/trunk/src/include/switch_types.h	(original)
+++ freeswitch/trunk/src/include/switch_types.h	Thu Nov  9 00:13:59 2006
@@ -90,7 +90,8 @@
 typedef enum {
 	SMF_NONE = 0,
 	SMF_REBRIDGE = (1 << 0),
-	SMF_ECHO_BRIDGED = (1 << 1)
+	SMF_ECHO_BRIDGED = (1 << 1),
+	SMF_FORCE = (1 << 2)
 } switch_media_flag_t;
 
 typedef enum {

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	Thu Nov  9 00:13:59 2006
@@ -2415,7 +2415,7 @@
 			switch_channel_test_flag(other_channel, CF_NOMEDIA) && 
 			switch_channel_test_flag(channel, CF_OUTBOUND) && 
 			switch_channel_test_flag(channel, CF_NOMEDIA)) {
-			switch_ivr_nomedia(val, SMF_NONE);
+			switch_ivr_nomedia(val, SMF_FORCE);
 		}
 		
 		switch_core_session_rwunlock(other_session);

Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c	(original)
+++ freeswitch/trunk/src/switch_ivr.c	Thu Nov  9 00:13:59 2006
@@ -2489,7 +2489,8 @@
 		status = SWITCH_STATUS_SUCCESS;
 		channel = switch_core_session_get_channel(session);
 		assert(channel != NULL);
-		if (!switch_channel_test_flag(channel, CF_NOMEDIA)) {
+
+		if ((flags & SMF_FORCE) || !switch_channel_test_flag(channel, CF_NOMEDIA)) {
 			switch_channel_set_flag(channel, CF_NOMEDIA);
 			switch_core_session_receive_message(session, &msg);
 			if ((flags & SMF_REBRIDGE) && (other_uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) &&



More information about the Freeswitch-svn mailing list