]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add proxy tag to UPDATE packets if it was set by INVITE
authorAnthony Minessale <anthm@freeswitch.org>
Tue, 5 Jul 2011 16:52:45 +0000 (11:52 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Tue, 5 Jul 2011 16:52:45 +0000 (11:52 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.c

index a904aa17ef2582f39d800a7e28a56dc7133ce3eb..8504dc137e15a61f52a3b77d1dce9f3cc03df240 100644 (file)
@@ -1983,6 +1983,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
                                                        snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" <%s>", name, number);
                                                        sofia_set_flag_locked(tech_pvt, TFLAG_UPDATING_DISPLAY);
                                                        nua_update(tech_pvt->nh,
+                                                                          TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)),
                                                                           TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)),
                                                                           TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END());
                                                } else if ((ua && (switch_stristr("aastra", ua)))) {
@@ -1990,6 +1991,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
 
                                                        sofia_set_flag_locked(tech_pvt, TFLAG_UPDATING_DISPLAY);
                                                        nua_update(tech_pvt->nh,
+                                                                          TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)),
                                                                           TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)),
                                                                           TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END());
                                                } else if ((ua && (switch_stristr("cisco/spa50", ua) || switch_stristr("cisco/spa525", ua)))) {
@@ -2041,6 +2043,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
                                } else if (ua && switch_stristr("polycom", ua)) {
                                        snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" <%s>", msg->string_arg, tech_pvt->caller_profile->destination_number);
                                        nua_update(tech_pvt->nh,
+                                                          TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)),
                                                           TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)),
                                                           TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END());
                                }