[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MMUSIC] Question about RTSP proxy
On 8/10/2009 11:04 PM, Y.J. Gu wrote:
Hi all,
In RTSP 2.0, it is permitted to transmit several client requests in one
Transport Connection.
I think this may introduce new problems when RTSP proxy is
intervened, and existing RTSP can not deal with the scenario correctly.
The following is an example. To display the figure correctly, please
maximize this email window.
This has not changed from RTSP 1.0, and even some existing clients will
do similar, for instance when streaming multiple separate contents which
it is syncing via smil. The RTSP sequence number applies to the RTSP
session on which it is carried. A proxy must handle any associated
sequence number mapping between client connections and server
connections.
So for your example:
The interactive messages are listed as following.
Session issued by Client A:
C->P: SETUP rtsp://live.example.com/concert/audio RTSP/2.0
CSeq: 111
Transport: RTP/AVP;multicast
P->S: SETUP rtsp://live.example.com/concert/audio RTSP/2.0
CSeq: 333
Transport: RTP/AVP;multicast
Session issued by Client A:
C->P: SETUP rtsp://live.example.com/anotherconcert/audio RTSP/2.0
CSeq: 222
Transport: RTP/AVP;multicast
P->S: SETUP rtsp://live.example.com/anotherconcert/audio RTSP/2.0
CSeq: 444
Transport: RTP/AVP;multicast
Proxy will receive the following responses from server:
S->P: RTSP/2.0 200 OK
CSeq: 333
Server: PhonyServer/1.0
Date: Thu, 23 Jan 2009 15:35:06 GMT
Transport: RTP/AVP;multicast;
dest_addr="224.2.0.1:3456"/"224.2.0.1:3457";ttl=16
Session: 12345678
S->P: RTSP/2.0 200 OK
CSeq: 444
Server: PhonyServer/1.0
Date: Thu, 23 Jan 2009 15:35:06 GMT
Transport: RTP/AVP;multicast;
dest_addr="224.2.0.2:1234"/"224.2.0.2:1235";ttl=16
Session: 23456789
This is not correct. If the proxy is using the same RTSP proxy<->server
connection for multiple client<->proxy connections, it must resequence
and internally track the associations. It can't just blindly pass
through the sequence numbers from it's client connections, those are
clearly not correct. So if Client A and Client B send
CA -> P:
SETUP rtsp://live.example.com/concert/audio RTSP/2.0
CSeq: 111
Transport: RTP/AVP;multicast
CB->P:
SETUP rtsp://live.example.com/anotherconcert/audio RTSP/2.0
CSeq: 222
Transport: RTP/AVP;multicast
The proxy must then send to the server
P->S:
SETUP rtsp://live.example.com/concert/audio RTSP/2.0
CSeq: 1
Transport: RTP/AVP;multicast
SETUP rtsp://live.example.com/anotherconcert/audio RTSP/2.0
CSeq: 2
Transport: RTP/AVP;multicast
and store the mappings [Client A CSeq 111 -> Server CSeq 1] and
[Client B CSeq 222 -> Server CSeq 2]
and when it receives the responses it certainly knows the correct
response for each client. Similarly if the proxy is not in pure pass
through mode and is actually handling some requests and/or inserting
some requests, it would need to adjust sequence numbers appropriately
between server and client.
Thanks,
Jamie
In this case, RTSP proxy can not distinguish the responses, then it
may respond client with wrong message and induce client to join a
wrong mutlicast group.
Do anybody think this is an possible trap/deficiency, and RTSP should
try to resolve?
Thanks.
Regards
Yingjie Gu
------------------------------------------------------------------------
_______________________________________________
mmusic mailing list
mmusic at ietf.org
https://www.ietf.org/mailman/listinfo/mmusic