[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