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