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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@425132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2014-10-10 12:10:19 +00:00
parent 4c2aef333c
commit 494bb9f931

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) { 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; return PJ_FALSE;