]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_sofia] add sip_ignore_remote_cid var to ignore remote display update
authorAnthony Minessale <anthm@signalwire.com>
Thu, 4 Jun 2020 02:14:51 +0000 (02:14 +0000)
committerAndrey Volk <andywolk@gmail.com>
Sat, 23 Oct 2021 19:00:13 +0000 (22:00 +0300)
src/mod/endpoints/mod_sofia/sofia.c

index bcf72e2b7dba08bd85928e0a113dc6b40a637d98..f31367a04cafc1e39332a08d319a7c2ba2a778b8 100644 (file)
@@ -1230,30 +1230,33 @@ void sofia_update_callee_id(switch_core_session_t *session, sofia_profile_t *pro
        number = (char *) switch_channel_get_variable(channel, num_var);
        name = (char *) switch_channel_get_variable(channel, name_var);
 
-
        if (zstr(number) && sip->sip_to) {
                number = sip->sip_to->a_url->url_user;
        }
 
-       if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Display-Number"))) {
-               number = val;
+       if (switch_channel_var_true(channel, "sip_ignore_remote_cid")) {
                fs++;
-       }
+       } else {
+               if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Display-Number"))) {
+                       number = val;
+                       fs++;
+               }
 
-       if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Display-Name"))) {
-               name = (char *) val;
-               check_decode(name, session);
-               fs++;
-       }
+               if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Display-Name"))) {
+                       name = (char *) val;
+                       check_decode(name, session);
+                       fs++;
+               }
 
-       if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Lazy-Attended-Transfer"))) {
-               lazy = switch_true(val);
-               fs++;
-       }
+               if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Lazy-Attended-Transfer"))) {
+                       lazy = switch_true(val);
+                       fs++;
+               }
 
-       if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Attended-Transfer"))) {
-               att = switch_true(val);
-               fs++;
+               if ((val = sofia_glue_get_unknown_header(sip, "X-FS-Attended-Transfer"))) {
+                       att = switch_true(val);
+                       fs++;
+               }
        }
 
        if (!fs) {