[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MMUSIC] RFC2326bis-22, Section 16.19 need clarification.
Once again I will assert that CSeq is both unnecessary and, as we see
from this discussion, confusing. It should be removed. (Some
replacement may be needed for the Request-Status header of
PLAY_NOTIFY, however. The existing NOTIFY extension used with RTSP 1.0
does not have an equivalent, so it's not clear it is necessary.)
To recap:
1. CSeq was originally included in RTSP 1.0 to support unreliable
protocols such as UDP.
2. UDP support in RTSP 1.0 was never fully specified and no one has
claimed to have an implementation.
3. RTSP now explicitly assumes a reliable, connection-oriented stream
protocol such as TCP.
4. CSeq serves no purpose with a reliable transport layer.
5. HTTP seems to have achieved a modest degree of success in the
field, including proxy support, without any equivalent to CSeq; it
uses transport connections to distinguish conversations.
The only argument I've heard for keeping CSeq is backward
compatibility with existing implementations. I don't think that's
very strong, because the draft explicitly denies compatibility with
RTSP 1.0. For it to matter, there would need to be an existing
implementation that assumes responses can arrive out of order and
relies on CSeq to match responses to requests. Does anyone know of
such?
If we really can't remove it, can we at least deprecate it—include
some text that clearly informs the reader that CSeq has no meaning and
should not be relied upon for anything? The rules would be something
like this: CSeq is not required on a request. If a server receives a
request with CSeq, it must include CSeq in the response.
joe