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
This commit is contained in:
Mark Spencer 2004-04-15 20:12:46 +00:00
parent 698b0b090b
commit ec6d3b535a
1 changed files with 6 additions and 4 deletions

10
rtp.c
View File

@ -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]);