]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Mon Mar 2 11:58:01 CST 2009 Pekka Pessi <first.last@nokia.com>
authorMichael Jerris <mike@jerris.com>
Tue, 3 Mar 2009 17:21:26 +0000 (17:21 +0000)
committerMichael Jerris <mike@jerris.com>
Tue, 3 Mar 2009 17:21:26 +0000 (17:21 +0000)
  * nta.c: use already-resolved transport for CANCEL/ACK to [3456]XX

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12379 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/nta/nta.c

index 2fdaa380963d559a42064261bc6d763bdedb52bd..d319ba2c0d4699fe56f99ab0574c0de2ddd9443c 100644 (file)
@@ -1 +1 @@
-Tue Mar  3 11:20:37 CST 2009
+Tue Mar  3 11:21:02 CST 2009
index 08a53a4e02064cbe7a9e670ae7c90869ef511e42..287dead54d9e0b4448037df9c13c7abbf2cc6b25 100644 (file)
@@ -7679,7 +7679,17 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
     }
   }
 
-  if (route_url && !orq->orq_user_tport) {
+  if (tpn) {
+    /* CANCEL or ACK to [3456]XX */
+    invalid = tport_name_dup(home, orq->orq_tpn, tpn);
+#if HAVE_SOFIA_SRESOLV
+    assert(tport_name_is_resolved(orq->orq_tpn));
+#endif
+    resolved = tport_name_is_resolved(orq->orq_tpn);
+    orq->orq_url = url_hdup(home, sip->sip_request->rq_url);
+    scheme = "sip";            /* XXX */
+  }
+  else if (route_url && !orq->orq_user_tport) {
     invalid = nta_tpn_by_url(home, orq->orq_tpn, &scheme, &port, route_url);
 
     if (override_tport) {      /* Use transport protocol name from transport  */
@@ -7692,15 +7702,6 @@ nta_outgoing_t *outgoing_create(nta_agent_t *agent,
     if (route_url != (url_string_t *)agent->sa_default_proxy)
       orq->orq_route = url_hdup(home, route_url->us_url);
   }
-  else if (tpn) {
-    invalid = tport_name_dup(home, orq->orq_tpn, tpn);
-#if HAVE_SOFIA_SRESOLV
-    assert(tport_name_is_resolved(orq->orq_tpn));
-#endif
-    resolved = tport_name_is_resolved(orq->orq_tpn);
-    orq->orq_url = url_hdup(home, sip->sip_request->rq_url);
-    scheme = "sip";            /* XXX */
-  }
   else {
     invalid = nta_tpn_by_url(home, orq->orq_tpn, &scheme, &port,
                             (url_string_t *)sip->sip_request->rq_url);