res_pjsip_nat: Place source port into rport of responses if 'force_rport' is on.

When the 'force_rport' option is enabled the behavior should be the same
as if the remote side placed rport into the message themselves. Therefore
any responses we send should include the source port of the request in the
rport of the Via header.

#SIPit31

ASTERISK-24387 #close
Reported by: Matt Jordan
........

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@425133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2014-10-10 12:10:53 +00:00
parent d3f525fd8f
commit 0ef680cff0

View File

@@ -62,7 +62,7 @@ static pj_bool_t handle_rx_message(struct ast_sip_endpoint *endpoint, pjsip_rx_d
}
if (endpoint->nat.force_rport) {
rdata->msg_info.via->rport_param = 0;
rdata->msg_info.via->rport_param = rdata->pkt_info.src_port;
}
return PJ_FALSE;