summaryrefslogtreecommitdiff
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authorAlexander Traud <pabstraud@compuserve.com>2016-10-05 11:25:11 +0200
committerAlexander Traud <pabstraud@compuserve.com>2016-10-05 04:35:38 -0500
commit16d9d6732939f971c52ba4f319b7bac8b16580db (patch)
tree19947bb397e58599a4dbcd07d2d701b8f6d13080 /channels/chan_sip.c
parent21ee185f57e00f57e2329eed65ecdbd5bfb29bca (diff)
chan_sip: Honor support of Symmetric Response (rport) for SIP requests.
In the SIP channel driver chan_sip, the default is "auto_force_rport". When no NAT was detected, for example in case of IPv6, Asterisk uses the IP address from the headers within the SIP-REGISTER for subsequent SIP signaling. When the remote party specifies support for Symmetric Response (RFC 3581) via the parameter "rport", Asterisk should not extract the port from the SIP headers but reuse the port of the transport. This did not happen because of a typo. ASTERISK-26438 #close Change-Id: If6e7891848aaf96666dee5305695f7c6667cd5a6
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 1301c26e3..338da705a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -16811,7 +16811,7 @@ static enum parse_register_result parse_register_contact(struct sip_pvt *pvt, st
}
if ((transport_type != AST_TRANSPORT_WS) && (transport_type != AST_TRANSPORT_WSS) &&
- (!ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) && !ast_test_flag(&peer->flags[0], SIP_NAT_RPORT_PRESENT))) {
+ (!ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) && !ast_test_flag(&pvt->flags[0], SIP_NAT_RPORT_PRESENT))) {
/* use the data provided in the Contact header for call routing */
ast_debug(1, "Store REGISTER's Contact header for call routing.\n");
/* XXX This could block for a long time XXX */