[Live-devel] [PATCH] Declare RTSP server's timeout
Ross Finlayson
finlayson at live555.com
Thu Aug 21 06:23:50 PDT 2008
>Ross Finlayson wrote:
>>Our server impelmentation uses both RTSP commands *and* RTCP ("RR")
>>packets from clients to indicate liveness. Therefore, the
>>"timeout" parameter in a "Session:" header is not needed, because
>>periodic RTSP commands (e.g., "GET_PARAMETER") from the client are
>>not needed in order to tell the server that the session is alive.
>>Instead, the server gets this information from RTCP reports.
>
>I have a client here that doesn't send RTCP RR packets to the server.
Your client is broken, because RTCP is a required part of the
RTP/RTCP standard. It is not optional functionality.
> It does send GET_PARAMETER, every ~60 seconds unless told
>different. Therefore, the server times out, since its hard-coded
>timeout is shorter.
Feel free to change the "reclamationTestSeconds" value (in
"DynamicRTSPServer.cpp") to 60.
> If the server tells the client that it has a shorter timeout than
>the RFC recommends as a default, it would send its GET_PARAMETER
>commands more often, so the connection wouldn't time out.
>
>I would think this patch would be a no-brainer. The spec says "do
>X," and the patch makes the server do X. What's the downside?
The downside would be that the server would be telling the client -
incorrectly - that it needs to send RTSP commands at least every N
seconds. That would be incorrect, because standard RTCP packets
("RR") could also be used to indicate client liveness. I might end
up changing the default "reclamationTestSeconds" value from 45 to 60
(which would also solve your problem), but I won't be adding your
patch to add the "timeout=" parameter, because that would be
misleading.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list