diff options
author | Mark Spencer <markster@digium.com> | 2004-04-15 20:12:46 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2004-04-15 20:12:46 +0000 |
commit | ec6d3b535a513044aba1b2dce5951377af5a466a (patch) | |
tree | 27b77fca0b77f50306b9884fc500a93427948e12 /rtp.c | |
parent | 698b0b090b41c6925a4ae13543ffe52c986a7641 (diff) |
Don't set the address with NAT mode if we haven't programmed an address
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'rtp.c')
-rwxr-xr-x | rtp.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -413,6 +413,12 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) ast_log(LOG_WARNING, "RTP Read too short\n"); return &null_frame; } + + /* Ignore if the other side hasn't been given an address + yet. */ + if (!rtp->them.sin_addr.s_addr || !rtp->them.sin_port) + return &null_frame; + if (rtp->nat) { /* Send to whoever sent to us */ if ((rtp->them.sin_addr.s_addr != sin.sin_addr.s_addr) || @@ -421,10 +427,6 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) ast_log(LOG_DEBUG, "RTP NAT: Using address %s:%d\n", inet_ntoa(rtp->them.sin_addr), ntohs(rtp->them.sin_port)); } } - /* Ignore if the other side hasn't been given an address - yet. */ - if (!rtp->them.sin_addr.s_addr || !rtp->them.sin_port) - return &null_frame; /* Get fields */ seqno = ntohl(rtpheader[0]); |