[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