]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add ignore_display_updates variable to block display updates on that leg
authorAnthony Minessale <anthony.minessale@gmail.com>
Fri, 23 Oct 2009 22:04:34 +0000 (22:04 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Fri, 23 Oct 2009 22:04:34 +0000 (22:04 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15218 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_types.h
src/mod/endpoints/mod_sofia/sofia.c
src/switch_core_session.c

index 70eed55e22c8886c9e4b658263dddd7ecacacbd7..42e6513e888e7c07747d5fa050b699d72041bbbb 100644 (file)
@@ -111,6 +111,7 @@ SWITCH_BEGIN_EXTERN_C
 #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"
index 89cb6ce9633d9e7ed8187309ae70f480edc1bcbe..c24d19a5a182f94c437d814f9ba19ee27b5376e7 100644 (file)
@@ -430,6 +430,10 @@ void sofia_update_callee_id(switch_core_session_t *session, sofia_profile_t *pro
        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;
        }
index 23c404eecc15ec769d42c59a80c3f5ebc1e0bb0f..83c16ada53d0239fee86ae5c30de49a602a72529 100644 (file)
@@ -615,6 +615,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_perform_receive_message(swit
        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);