|
In RFC2326bis-22
16.19.
CSeq
The CSeq general-header field specifies the
sequence number for an
RTSP request-response pair. This field MUST be present in all requests and responses. For every RTSP request containing the given sequence number, the corresponding response will have the same number. Any retransmitted request MUST contain the same sequence number as the original (i.e. the sequence number is not incremented for retransmissions of the same request). For each new RTSP request the CSeq value MUST be incremented by one. The initial sequence number MAY be any number, however it is RECOMMENDED to start at 0. Each sequence number series is unique between each requester and responder, i.e. the client has one series for its request to a server and the server has another when sending request to the client. Each requester and responder is identified with its network address. Proxies that aggregate several sessions on the
same transport will
regularly need to renumber the CSeq header field in requests and responses to fulfill the rules for the header. I am not very
clear about the colored words.
For each
new RTSP request
the CSeq value MUST be incremented by one. When Proxy
aggregate serveral sessions, it can be understanded in different
way:
1) Without regard
of different sessions, proxy increase the CSeq by one for each request it
transmits.
+-----+ +-----------+
+----------+
|
C1 | ---------| proxy
| C1 setup, CSeq=1 | server
|
+-----+ /+-----------+ C1
play, CSeq=2 +----------+
/ C2
setup, CSeq=3
+-----+
/
C1 pause, CSeq=4
| C2 | /
+-----+
2) CSeq is
incremented by one for each request of a particular
session.
+-----+ +-----------+
+----------+
|
C1 | ---------| proxy
| C1 setup, CSeq=1 | server
|
+-----+ /+-----------+ C1
play, CSeq=2 +----------+
/ C2
setup, CSeq=101
+-----+
/
C1 pause, CSeq=3
| C2 |
/
C2 play, CSeq=102
+-----+
I guess it should be 2), but I am not sure,
'cause there can be various explanations. Each sequence
number series is unique between each requester and
responder, i.e. the client has one series for its request to a server and the server has another when sending request to the client. What does unique
mean? Are {0,1,2,3} and {1,2,3,4} unique, or {0,1,2,3} and
{101,102,103,104} unique?
|