<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello Ross:<br>
<br>
<blockquote
cite="mid:B78B61E8-63AF-4AB1-BEA1-2F94178FEB23@live555.com"
type="cite">
<div><small>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".)</small></div>
<div><small><br>
</small></div>
<div><small>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.)</small></div>
</blockquote>
Yes, that's what i understood about the liveness control mechanism,
and it works properly when the backend connection is alive and
working.<br>
<br>
<blockquote
cite="mid:B78B61E8-63AF-4AB1-BEA1-2F94178FEB23@live555.com"
type="cite">
<div><small><br>
</small></div>
<div><small>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??</small><br>
</div>
</blockquote>
Yes, it is actually happening.<br>
<br>
I'm not sure if the assumption "<i>if the back-end server fails, it
will do so by closing the TCP connection"</i> 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.<br>
<br>
Conchi Abasolo<br>
Vaelsys<br>
</body>
</html>