[Live-devel] issue with a streaming server having multiple network interfaces
Noam Camiel
noamatari at yahoo.com
Tue Jul 31 06:21:18 PDT 2007
hi,
i would like to report an issue regarding running a live555 streaming server when more than one network interface is available.
this issue is relevant for unicast connections such as in example testOnDemandRTSPServer in the test programs.
symptom: when connecting through a virtual lan to the streaming server, the streaming to the client is stopped after approx. 40 seconds due to reported inactivity from the server.
details: suppose the streaming server has ip address 192.168.1.205 and the server has another virtual address 100.100.100.1. When the RTSP server is initiated, its url is rtsp://192.168.1.205:8554/testStream.
Now suppose a connection to the server is made through a machine on the other network 100.100.100.30 using rtsp://100.100.100.1:8554/testStream.
The streaming is started and works but after about 40 seconds the streaming stops and a message from the server is printed that the stream is stopped due to inactivity (using VLC viewer).
analysis: after looking into the subject, it looks like on the responses in the rtsp protocol for the 100.100.100.* network, the 192.168.1.205 address is used for content body and information and various other places. As a result, the keepalive that is supposed to be sent back to address 100.100.100.1 is being returned to 192.168.1.205 and therefore not received by the server, hence idle client is detected.
solution: the current RTSPServer implementation holds a single url for the server (see RTSPServer::rtspURL) . Instead i used a connection per session ( RTSPServer::RTSPClientSession::rtspURL), which is determined from the request received from the client. This url is determined for each session in the incoming request handler for DESCRIBE command, as received in the RTSPServer::RTSPClientSession::incomingRequestHandler1() method. The server then responds to each client using the specific url information for that client, hence solving the above problem.
if anyone has comments regarding this issue please send them.
thanks
noam camiel
____________________________________________________________________________________
Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
http://farechase.yahoo.com/
More information about the live-devel
mailing list