]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix an issue where nat=yes would not always take effect for the RTP session on outgoi...
authorJoshua Colp <jcolp@digium.com>
Fri, 27 Mar 2009 13:06:45 +0000 (13:06 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 27 Mar 2009 13:06:45 +0000 (13:06 +0000)
If calls were placed using an IP address or hostname the global nat setting was copied over
but was not set on the RTP session itself. This caused the RTP stack to not perform symmetric RTP
actions.

(closes issue #14546)
Reported by: acunningham

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

channels/chan_sip.c

index 0e987e4ecfe2c0a0c8689a9e38dee2df31b4b5cc..0db0776dccce0e1c79dc097bd084436e3a3f3d8b 100644 (file)
@@ -2947,7 +2947,9 @@ static int create_addr(struct sip_pvt *dialog, const char *opeer, struct sockadd
                ASTOBJ_UNREF(p, sip_destroy_peer);
                return res;
        }
-       
+
+       do_setnat(dialog, ast_test_flag(&dialog->flags[0], SIP_NAT) & SIP_NAT_ROUTE);
+
        ast_string_field_set(dialog, tohost, peer);
 
        if (sin) {