[svn-commits] kmoore: trunk r424246 - in /trunk: ./ res/res_pjsip_nat.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Oct 1 07:16:00 CDT 2014


Author: kmoore
Date: Wed Oct  1 07:15:56 2014
New Revision: 424246

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=424246
Log:
PJSIP: Force transport on contact rewrite

If contact rewriting is enabled but the contact differs in transport
from what is actually being used, messages after the initial INVITE
transaction can be sent to an incorrect transport/port combination. In
the case where this bug occurred the remote party never received a BYE
since it was sent to the remote party's TCP port over UDP.

Review: https://reviewboard.asterisk.org/r/4032/
........

Merged revisions 424244 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 424245 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/res/res_pjsip_nat.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/res/res_pjsip_nat.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_pjsip_nat.c?view=diff&rev=424246&r1=424245&r2=424246
==============================================================================
--- trunk/res/res_pjsip_nat.c (original)
+++ trunk/res/res_pjsip_nat.c Wed Oct  1 07:15:56 2014
@@ -46,6 +46,11 @@
 		pjsip_dialog *dlg = pjsip_rdata_get_dlg(rdata);
 
 		pj_cstr(&uri->host, rdata->pkt_info.src_name);
+		if (strcasecmp("udp", rdata->tp_info.transport->type_name)) {
+			uri->transport_param = pj_str(rdata->tp_info.transport->type_name);
+		} else {
+			uri->transport_param.slen = 0;
+		}
 		uri->port = rdata->pkt_info.src_port;
 
 		/* rewrite the session target since it may have already been pulled from the contact header */




More information about the svn-commits mailing list