Skip to content
Snippets Groups Projects
Commit 32d758ed authored by Michael L. Young's avatar Michael L. Young
Browse files

Remove Port Restriction When Checking For NAT

When trying to determine if a peer is behind NAT, we should not be using the
ports when comparing addresses.

This patch removes the port from being checked and just useds the addresses
now.

(closes issue ASTERISK-22729)
Reported by: Michael L. Young
Tested by: Michael L. Young
Patches:
    asterisk-remove-using-port-for-nat-check.diff
                                     uploaded by Michael L. Young (license 5026)

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

Merged revisions 401182 from http://svn.asterisk.org/svn/asterisk/branches/11
........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@401184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent f33e0776
Branches
Tags
No related merge requests found
......@@ -18379,9 +18379,9 @@ static void check_for_nat(const struct ast_sockaddr *addr, struct sip_pvt *p)
return;
}
 
if (ast_sockaddr_cmp(addr, &p->recv)) {
char *tmp_str = ast_strdupa(ast_sockaddr_stringify(addr));
ast_debug(3, "NAT detected for %s / %s\n", tmp_str, ast_sockaddr_stringify(&p->recv));
if (ast_sockaddr_cmp_addr(addr, &p->recv)) {
char *tmp_str = ast_strdupa(ast_sockaddr_stringify_addr(addr));
ast_debug(3, "NAT detected for %s / %s\n", tmp_str, ast_sockaddr_stringify_addr(&p->recv));
p->natdetected = 1;
if (ast_test_flag(&p->flags[2], SIP_PAGE3_NAT_AUTO_RPORT)) {
ast_set_flag(&p->flags[0], SIP_NAT_FORCE_RPORT);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment