<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 10.00.9200.16688"><LINK rel=stylesheet
href="BLOCKQUOTE{margin-Top: 0px; margin-Bottom: 0px; margin-Left: 2em}"></HEAD>
<BODY style="FONT-SIZE: 10pt; FONT-FAMILY: verdana; MARGIN: 10px">
<DIV><FONT size=2 face=Verdana>
<DIV><FONT size=2 face=Verdana>HI</FONT></DIV>
<DIV> </DIV>
<DIV>I put the live555MediaServer in a CENTOS computer that ip is 129.1.7.201.
Then put testRTSPClient also in a CENTOS </DIV>
<DIV>computer that it is behind a NAT(TP-LINK wireless router,a NAPT device) and
its ip is 192.168.1.1.</DIV>
<DIV>I run ./testRTSPClient rtsp://129.1.7.201/test.mpg command and the
testRTSPClient can't receive UDP packet.</DIV>
<DIV> </DIV>
<DIV>
<DIV> live555 Server S (129.1.7.201)</DIV>
<DIV> |</DIV>
<DIV> |</DIV>
<DIV> | </DIV>
<DIV
style="TEXT-INDENT: 8em">NAPT A (WAN IP:129.1.7.100
LAN IP:192.168.1.1) </DIV>
<DIV style="TEXT-INDENT: 8em"> | </DIV>
<DIV> |
</DIV>
<DIV> | </DIV>
<DIV
style="TEXT-INDENT: 6em">testRTSPClient A (192.168.0.20:4000) </DIV>
<DIV style="TEXT-INDENT: 6em"> </DIV>
<DIV style="TEXT-INDENT: 6em"> </DIV>
<DIV style="TEXT-INDENT: 6em"> </DIV>
<DIV>I have found out the reasons of this problem:</DIV>
<DIV> </DIV>
<DIV>
<DIV
style="TEXT-INDENT: 8em">
live555 Server S (129.1.7.201) </DIV>
<DIV>
|</DIV>
<DIV> ^ Session 1 ^ | </DIV>
<DIV> | 129.1.7.201:6000 |
| </DIV>
<DIV> v 129.1.7.100:10060 v
| </DIV>
<DIV>
|</DIV>
<DIV>
NAPT A (WAN IP:129.1.7.100
LAN IP:192.168.1.1)</DIV>
<DIV> ^ Session 1
^ | </DIV>
<DIV> | 129.1.7.201:6000
| | </DIV>
<DIV> v 192.168.0.20:4000
v | </DIV>
<DIV>
|</DIV>
<DIV>
testRTSPClient A (192.168.0.20:4000) </DIV>
<DIV> </DIV>
<DIV>Cient will send client RTP/RTCP port(such as 4000-4001) messge in the
SETUP request to the server. But When testRTSPClient send a UDP
packet to the server using RTP/RTCP port(4000-4001) after receiving SETUP
response the NAT will rewrite the ip and these RTP/RTCP ports to its
WAN ip and ports(such as rewriting to 10060-10061).Then server will
send UDP packet to these port(4000-4001) after receiving PLAY
command.But the NAT don't know the port(4000-4001) ,because these</DIV></DIV>
<DIV> port have already been rewrited to other port(10060-10061).So
the testRTSPClient can't receive UDP packet.</DIV>
<DIV> </DIV>
<DIV>Is it right that the server should send UDP packet to the
port(10060-10061) what have been rewrited to after receiving PLAY
command?</DIV>
<DIV> </DIV></DIV>
<DIV> </DIV>
<DIV><FONT size=2 face=Verdana><FONT color=#c0c0c0 size=2
face=Verdana></FONT> </DIV></FONT></FONT></DIV>
<DIV><FONT size=2 face=Verdana></FONT> </DIV>
<DIV align=left><FONT color=#c0c0c0 size=2 face=Verdana>2013-10-10
</FONT></DIV><FONT size=2 face=Verdana>
<HR style="HEIGHT: 2px; WIDTH: 122px" align=left SIZE=2>
<DIV><FONT color=#c0c0c0 size=2 face=Verdana><SPAN>kingaceck</SPAN>
</FONT></DIV></FONT></BODY></HTML>