Open nirbheek opened 10 months ago
Live555 for instance will parse Session: TOKEN;timeout=65 in a request as TOKEN;timeout=65 being the session token.
That's of course a bug in live555 but we should probably do better :)
Independent of request or response, the grammar for the header is:
RTSP 1:
Session = "Session" ":" session-id [ ";" "timeout" "=" delta-seconds ]
RTSP 2:
Session = "Session" HCOLON session-id
[ SEMI "timeout" EQUAL delta-seconds ]
Yeah the grammar says that but the spec also says:
The timeout parameter is only allowed in a response header
The timeout parameter of the Session header (Section 18.49) MAY be included in a SETUP response and MUST NOT be included in requests.
It is not obvious that you cannot store the Session you get in a SETUP response and use it as-is in future requests, because you have to set the
timeout
field toNone
, otherwise you are not spec-compliant.Live555 for instance will parse
Session: TOKEN;timeout=65
in a request asTOKEN;timeout=65
being the session token.The abstractions don't allow for different header serializations when building Requests vs Responses, so this is non-trivial to fix.