]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
interop
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 17 Jan 2008 16:31:08 +0000 (16:31 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 17 Jan 2008 16:31:08 +0000 (16:31 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7267 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia_reg.c

index 6bb075d9498591708638f392d4d10c0433cff886..11213f6dbc5aa7ae3d9d9866f7dbfb9a137be77d 100644 (file)
@@ -440,6 +440,26 @@ uint8_t sofia_reg_handle_register(nua_t * nua, sofia_profile_t *profile, nua_han
                                        }
                                        cd = 1;
                                        exptime = 20;
+                               } else if (!strcasecmp(v_contact_str, "NDLB-tls-connectile-dysfunction")) {
+                                       const char *pt = contact->m_url->url_port;
+                                       int port;
+
+                                       if (!pt) {
+                                               pt = "5060";
+                                       }
+                                       
+                                       port = atoi(pt);
+
+                                       if (port > 0) {
+                                               port++;
+                                               if (contact->m_url->url_params) {
+                                                       switch_snprintf(contact_str, sizeof(contact_str), "%s <sip:%s@%s:%d;%s>",
+                                                                                       display, contact->m_url->url_user, contact->m_url->url_host, port, contact->m_url->url_params);
+                                               } else {
+                                                       switch_snprintf(contact_str, sizeof(contact_str), "%s <sip:%s@%s:%d>",
+                                                                                       display, contact->m_url->url_user, contact->m_url->url_host, port);
+                                               }
+                                       }
                                } else {
                                        char *p;
                                        switch_copy_string(contact_str, v_contact_str, sizeof(contact_str));