Hello Ross:

Once the 'back-end' connection to the proxied stream has been established (as a result of a successful "DESCRIBE" command), the proxy server periodically (at an interval randomly chosen between 30 and 60 seconds (usually)) sends a command to the 'back-end' server, to test whether it's still alive. (This command will be "OPTIONS", unless the server has specifically reported (in response to a previous "OPTIONS" command) that it supports "GET_PARAMETER", in which case the command will be "GET_PARAMETER".)

The proxy server acts, based upon the response to each 'liveness' command. If the response is "OK", it goes ahead and sends another 'liveness' command later. If the response is not "OK", or if it detects that the RTSP connection with the back-end server has failed, then it assumes that the back-end server is down, and it will then closes the back-end connection, and start again by sending another "DESCRIBE". (These "DESCRIBE" commands are also repeated - at increasing random intervals - until the server responds.)
Yes, that's what i understood about the liveness control mechanism, and it works properly when the backend connection is alive and working.


What we don't do, however, is test whether the back-end server actually responds to each 'liveness' command ("OPTIONS" or "GET_PARAMETER"). So far, I've assumed that if the back-end server fails, it will do so by closing the TCP connection, which we (the proxy) will eventually detect. The code currently does not allow for the TCP connection staying alive, but the back-end server simply failing to respond at all to a 'liveness' command. Is this something that you are actually seeing happen??
Yes, it is actually happening.

I'm not sure if the assumption "/if the back-end server fails, it will do so by closing the TCP connection"/ is strong enough. What i'm actually seeing is that sometimes the liveness is sent but no response is received, and the backend connection seems to be still alive because the proxy doesn't detect any closure, but the connection is not really working. This is a problem, because you can't stream the video throught this proxyRTSPClient anymore, so, i think that would be useful to have a timeout task to control how long should the proxy wait the liveness response in order to reset such connections.

Conchi Abasolo
Vaelsys
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to