]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
patch for SFSIP-104
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 26 Nov 2008 17:59:14 +0000 (17:59 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 26 Nov 2008 17:59:14 +0000 (17:59 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10541 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia_presence.c

index 45b053608f588f9da542ce6e8f425a487c9c7e0c..361ab42f803a9149f5199a35563f206894bb34c8 100644 (file)
@@ -1542,13 +1542,18 @@ void sofia_presence_handle_sip_i_subscribe(int status,
                        char *sticky = NULL;
 
                        if (is_nat) {
+                               char params[128] = "";
+                               if (contact->m_url->url_params) {
+                                       switch_snprintf(params, sizeof(params), ";%s", contact->m_url->url_params);
+                               }
                                ipv6 = strchr(network_ip, ':');
-                               sticky = switch_mprintf("sip:%s@%s%s%s:%d",
+                               sticky = switch_mprintf("sip:%s@%s%s%s:%d%s",
                                                                                contact_user,
                                                                                ipv6 ? "[" : "",
                                                                                network_ip,
                                                                                ipv6 ? "]" : "",
-                                                                               network_port);
+                                                                               network_port,
+                                                                               params);
                        }
 
                        nua_respond(nh, SIP_202_ACCEPTED, NUTAG_WITH_THIS(nua), SIPTAG_SUBSCRIPTION_STATE_STR(sstr), TAG_IF(sticky, NUTAG_PROXY(sticky)),