]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Changes contact use in build_peer to use the FORCE_RPORT flag instead of RPORT_PRESENT
authorJonathan Rose <jrose@digium.com>
Tue, 14 Jun 2011 16:38:43 +0000 (16:38 +0000)
committerJonathan Rose <jrose@digium.com>
Tue, 14 Jun 2011 16:38:43 +0000 (16:38 +0000)
It turned out that this was causing NAT=Yes to always use rport when present which was
against 1.6.2 behavior and the check itself was redundant since the only way this
segment of code could be reached was if RPORT_PRESENT was already evaluated as true
earlier.

(closes issue ASTERISK-17789)
Reported by: byronclark
Patches:
      use_sip_nat_force_rport.patch uploaded by byronclark (license 1200)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323371 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 4b16fa21a552993e65aaa740b6d0b98606aa2584..b6ee0b9b947e12cafca0f52b0edf99d448d1f87e 100644 (file)
@@ -26753,7 +26753,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
                 * specified, use that address instead. */
                /* XXX May need to revisit the final argument; does the realtime DB store whether
                 * the original contact was over TLS or not? XXX */
-               if (!ast_test_flag(&peer->flags[0], SIP_NAT_RPORT_PRESENT) || ast_sockaddr_isnull(&peer->addr)) {
+               if (!ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) || ast_sockaddr_isnull(&peer->addr)) {
                        __set_address_from_contact(fullcontact->str, &peer->addr, 0);
                }
        }