Revision
15218
Author
anthm
Date
2009-10-23 17:04:34 -0500 (Fri, 23 Oct 2009)

Log Message

add ignore_display_updates variable to block display updates on that leg

Modified Paths

Diff

Modified: freeswitch/trunk/src/include/switch_types.h (15217 => 15218)


--- freeswitch/trunk/src/include/switch_types.h	2009-10-23 20:09:34 UTC (rev 15217)
+++ freeswitch/trunk/src/include/switch_types.h	2009-10-23 22:04:34 UTC (rev 15218)
@@ -111,6 +111,7 @@
 #define SWITCH_PATH_SEPARATOR "/"
 #endif
 #define SWITCH_URL_SEPARATOR "://"
+#define SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE "ignore_display_updates"
 #define SWITCH_AUDIO_SPOOL_PATH_VARIABLE "audio_spool_path"
 #define SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE "bridge_hangup_cause"
 #define SWITCH_READ_TERMINATOR_USED_VARIABLE "read_terminator_used"

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (15217 => 15218)


--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c	2009-10-23 20:09:34 UTC (rev 15217)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c	2009-10-23 22:04:34 UTC (rev 15218)
@@ -430,6 +430,10 @@
 	const char *val;
 	int fs = 0;
 
+	if (switch_true(switch_channel_get_variable(channel, SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE))) {
+		return;
+	}
+
 	if (sip->sip_to) {
 		number = sip->sip_to->a_url->url_user;
 	}

Modified: freeswitch/trunk/src/switch_core_session.c (15217 => 15218)


--- freeswitch/trunk/src/switch_core_session.c	2009-10-23 20:09:34 UTC (rev 15217)
+++ freeswitch/trunk/src/switch_core_session.c	2009-10-23 22:04:34 UTC (rev 15218)
@@ -615,6 +615,14 @@
 	switch_log_printf(SWITCH_CHANNEL_ID_LOG, message->_file, message->_func, message->_line, 
 					  switch_core_session_get_uuid(session), SWITCH_LOG_DEBUG, "%s receive message [%s]\n",
 					  switch_channel_get_name(session->channel), message_names[message->message_id]);
+
+
+	if (message->message_id == SWITCH_MESSAGE_INDICATE_DISPLAY && 
+		switch_true(switch_channel_get_variable(session->channel, SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE))) {
+		switch_log_printf(SWITCH_CHANNEL_ID_LOG, message->_file, message->_func, message->_line,
+						  switch_core_session_get_uuid(session), SWITCH_LOG_DEBUG, "Ignoring display update.\n");
+		return SWITCH_STATUS_SUCCESS;
+	}
 	
 	if (session->endpoint_interface->io_routines->receive_message) {
 		status = session->endpoint_interface->io_routines->receive_message(session, message);