Re: [rtcweb] draft on media multiplexing submitted to AVTCORE

Christer Holmberg <christer.holmberg@ericsson.com> Tue, 05 June 2012 07:12 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7E4DE11E80B7 for <rtcweb@ietfa.amsl.com>; Tue, 5 Jun 2012 00:12:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.253
X-Spam-Level:
X-Spam-Status: No, score=-6.253 tagged_above=-999 required=5 tests=[AWL=-0.005, BAYES_00=-2.599, HELO_EQ_SE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eT26c78btjoo for <rtcweb@ietfa.amsl.com>; Tue, 5 Jun 2012 00:11:58 -0700 (PDT)
Received: from mailgw7.ericsson.se (mailgw7.ericsson.se [193.180.251.48]) by ietfa.amsl.com (Postfix) with ESMTP id 2E77B21F8661 for <rtcweb@ietf.org>; Tue, 5 Jun 2012 00:11:57 -0700 (PDT)
X-AuditID: c1b4fb30-b7f606d0000002be-d2-4fcdb13b68cf
Received: from esessmw0256.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw7.ericsson.se (Symantec Mail Security) with SMTP id F3.0D.00702.B31BDCF4; Tue, 5 Jun 2012 09:11:55 +0200 (CEST)
Received: from ESESSCMS0356.eemea.ericsson.se ([169.254.1.250]) by esessmw0256.eemea.ericsson.se ([153.88.115.96]) with mapi; Tue, 5 Jun 2012 09:11:54 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Harald Alvestrand <harald@alvestrand.no>, "Ejzak, Richard P (Richard)" <richard.ejzak@alcatel-lucent.com>
Date: Tue, 05 Jun 2012 09:11:53 +0200
Thread-Topic: [rtcweb] draft on media multiplexing submitted to AVTCORE
Thread-Index: Ac1C53rB0goLx9lvTl6hHPz5Tm8c2gAAZ6Eg
Message-ID: <7F2072F1E0DE894DA4B517B93C6A05852C45A1C906@ESESSCMS0356.eemea.ericsson.se>
References: <03FBA798AC24E3498B74F47FD082A92FC303@US70UWXCHMBA05.zam.alcatel-lucent.com> <4FCD0198.2040307@alvestrand.no> <03FBA798AC24E3498B74F47FD082A92FC55A@US70UWXCHMBA05.zam.alcatel-lucent.com> <4FCDAC11.7010304@alvestrand.no>
In-Reply-To: <4FCDAC11.7010304@alvestrand.no>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_7F2072F1E0DE894DA4B517B93C6A05852C45A1C906ESESSCMS0356e_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJLMWRmVeSWpSXmKPExsUyM+Jvra71xrP+BofbjCyO9XWxWfQ2hFus /dfO7sDs0fpsL6vHlQlXWD2WLPnJFMAcxWWTkpqTWZZapG+XwJXxb2cHU8HcuUwVDT3/2RsY l3xm7GLk5JAQMJG49GsKO4QtJnHh3no2EFtI4BSjxIP3Bl2MXED2AkaJw0uOAyU4ONgELCS6 /2mD1IgI5EtsWNrLCmIzC6hL3Fl8DmwOi4CKxKrvp8BsYQE3idOvrzFD1LtLzOlvZwYZIyJg JHHnoCFImFcgXOLJzqOMEGvfMko0t/uA2JwCuhKvX05kAbEZgU77fmoNE8QqcYlbT+YzQZws ILFkz3lmCFtU4uXjf6wQ9aISd9rXM0LU50tMX93EArFLUOLkzCcsExhFZyEZNQtJ2SwkZRBx HYkFuz+xQdjaEssWvmaGsc8ceMyELL6AkX0Vo3BuYmZOerm5XmpRZnJxcX6eXnHqJkZg9B3c 8ttgB+Om+2KHGKU5WJTEefVU9/sLCaQnlqRmp6YWpBbFF5XmpBYfYmTi4JRqYDSPmz8p39z0 wscN56tK+HYnbv915YpE00zzuQ17Dq+OFOuX7dr8w/dQEr+cw/LVRzJE/B39iz/J8k7+zbmw eNf6upV3DBqWeYvsa7efUr3YtdMnzUvs6Zbr1dkvPpy0c/vBndwyacdjNdG1N9ktHih+Zsz0 XKkgXlzX05U+Z+mjDOaOs+KVrEosxRmJhlrMRcWJAJODHFyMAgAA
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] draft on media multiplexing submitted to AVTCORE
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Jun 2012 07:12:03 -0000

Hi,

Harald,
While ideally we should be able to maintain the entire SSRC space for use by an RTP session, the current concept of BUNDLE breaks the model by mixing what are otherwise different RTP sessions together.  The scope of an RTP session is beyond just the transport connection on which bundling is occurring (see the RTP session topology diagrams in RFC 3550).
Yes, all parts of the RTP session need to agree on where the limits of the RTP session are. BUNDLE (the way it's currently written; Christer and I disagree on whether there is value in extending it to multiple sessions on the same address pairs) is about modifying the content of a single RTP session, it does not "mix different RTP sessions".

I am not sure whether I disagree with you. Yes, the BUNDLE mechanism can be extended (which I DO think is good) to be used also for multiple sessions, but I'll leave it to the RTP experts to discuss/decide what (if any) value there is in using multiple sessions :)

And, I even strongly agree with you that the RTP aspects of multiplexing should be discussed in AVTCORE :)

Regards,

Christer



 Even though RTP packets with different payload types could potentially reuse the same SSRC value, SSRC values cannot be independently assigned per m line with the current BUNDLE scheme since RTCP packets can be identified only using SSRC values (payload type is not a field in RTCP packets).  So the bundled m lines have to share a single SSRC space, thus increasing the likelihood of SSRC collision
Yes. At 302 SSRCs in the same RTP session the chance of a collision is 50%. Applications that don't handle SSRC collisions are broken.

and preventing use of the same SSRC value across m lines and ports (as some applications require).
These applications have a design mistake, and should be recommended against. While they are still in use, they force the use of multiple RTP sessions where it's otherwise superfluous. Luckily there are not that many of them.

  To avoid these problems, translators implementing the current BUNDLE will generally need to do SSRC mapping anyway, so BUNDLE cannot take full advantage of the "randomness and flatness of the SSRC space".
RTP media translators in an RTP session where BUNDLE is used for setup need to set up their RTP sessions in such a way that either BUNDLE is used on all legs, or BUNDLE is used on no legs. This is because RTP media translators don't terminate RTP sessions.

Gateways that terminate RTP sessions have to remap SSRCs anyway. No news here.


I have read your draft and should have referenced it in my paper.  I agree that different media types should be able to share the same transport connection.  But I also see a need to be able to apply differential treatment of media types within the network.
Yes, some applications need that.
 In that case, the simplest way (allowing per-flow prioritization) is to use different RTP sessions on different transport addresses.
The next simplest way (using DiffServ) is to apply different DSCP markings on a per-packet basis. Both techniques are well established.

Breaking up the SSRC space and applying differential treatment based on that requires rewriting the traffic management components. That's new code that needs to be deployed. I don't see the need.


You disagree with the need to separate packets associated with different media lines for differential treatment in the network.
No, I don't disagree at all with that need, and have said so many times. I disagree that this is a need that is present *all the time*, and disagree that this need is so omnipresent that we need to shape our architectures around it.

 Nevertheless, this issue has been raised in RFC 3550 and numerous drafts since then as a legitimate issue in certain deployments.  While I agree with you that there are significant use cases in which such differential treatment is not necessary, there are others in which it can be very beneficial.  It would be really unfortunate if there were no way to support such use cases in rtcweb.
The point I was trying to make in rtp-sess-neutral is that the need for such differential treatment is orthogonal to the media types, and applications need to assign media streams to RTP sessions as the *applications*, not the *architecture*, think is adequate. That's really the focus of BUNDLE.

But really, this discussion belongs on AVTCORE.


Richard


________________________________
From: Harald Alvestrand [mailto:harald@alvestrand.no]
Sent: Monday, June 04, 2012 1:43 PM
To: Ejzak, Richard P (Richard)
Cc: rtcweb@ietf.org<mailto:rtcweb@ietf.org>
Subject: Re: [rtcweb] draft on media multiplexing submitted to AVTCORE

Richard,
having scanned your draft:

- I still fundamentally think that the partition of media types into separate RTP sessions was a design mistake that we should seek to rectify, not promulgate, and additional complexity like what you propose for perpetuating the use of "separated" sessions is not helpful. See draft-alvestrand-rtp-sess-neutral for details.

- When we have parts of the ecosystem that have code that is written on the assumption that the SSRC space is a 32-bit flat space, I think the partitioning of that space into subspaces as you propose is likely to lead to "interesting" bugs. We should reinforce the randomness and flatness of the SSRC space, not partition it.

- You say "The biggest problem with BUNDLE is that it is
   difficult to partition the RTP streams associated with different
   media lines since this requires filtering on sets of payload type
   values.  RTP subsessions is superior for this purpose since it is
   only necessary to screen for a single value in the first 16 bits".
This assumes that the partitioning associated with different media lines is a good thing.
I claim that it is not.

If there are no bigger problems than that with BUNDLE, I would prefer to stick with that approach.





On 06/04/2012 01:09 AM, Ejzak, Richard P (Richard) wrote:
Please see the mail attached below that I just sent to avtcore announcing a personal ID I just submitted on the topic of media multiplexing.  I am sending this notice to rtcweb since this is the group that triggered recent work on RTP multiplexing.

I also request the rtcweb chairs consider giving me some time to present this work at next week's interim meeting if there is time on the agenda.  It might be useful to discuss the ideas in the ID before avtcore meets in Vancouver.

Richard


-----Original Message-----
From: Ejzak, Richard P (Richard)
Sent: Sunday, June 03, 2012 6:08 PM
To: 'avt@ietf.org<mailto:avt@ietf.org>'
Subject: [AVTCORE] multi session draft-ejzak-avtcore-rtp-subsessions-00.txt



http://www.ietf.org/id/draft-ejzak-avtcore-rtp-subsessions-00.txt



In response to the chairs' request for additional input on the multi session issue, I have submitted this draft for your consideration.  There are superficial similarities with an expired draft from last year in http://tools.ietf.org/id/draft-rosenberg-rtcweb-rtpmux-00.txt, but my draft has a different take on the use of SSRC as the basis for multi session multiplexing that I think is superior and worthy of consideration as a potential replacement for BUNDLE and/or SHIM.  Please comment.



Richard



-----Original Message-----

From: internet-drafts@ietf.org<mailto:internet-drafts@ietf.org> [mailto:internet-drafts@ietf.org]

Sent: Sunday, June 03, 2012 5:16 PM

To: Ejzak, Richard P (Richard)

Subject: New Version Notification for draft-ejzak-avtcore-rtp-subsessions-00.txt



A new version of I-D, draft-ejzak-avtcore-rtp-subsessions-00.txt has been successfully submitted by Richard Ejzak and posted to the IETF repository.



Filename:   draft-ejzak-avtcore-rtp-subsessions

Revision:   00

Title:            Media multiplexing with Real-time Transport Protocol (RTP) subsessions

Creation date:    2012-06-04

WG ID:            Individual Submission

Number of pages: 9



Abstract:

   This document describes a means of multiplexing RTP streams having

   different media types within a single transport connection and how to

   represent this multiplexing option in SDP.  This mechanism is an

   alternative to the BUNDLE and SHIM proposals currently under active

   consideration in AVTCORE.  Instead of adding an extra multiplexing

   header as in SHIM to allow multiple RTP sessions within a single

   transport connection, or using the payload type field to separate

   different media streams within a single RTP session, this document

   describes how to partition the existing SSRC space to create RTP

   subsessions from a single RTP session.  A filter can be used to

   identify each RTP subsession for different QoS handling as necessary.

   RTP subsessions can be treated like RTP sessions with a few

   restrictions.  In particular, SSRC mapping may be needed when

   forwarding RTP streams into an RTP subsession to avoid SSRC

   conflicts, but there are few use cases in which this limitation is a

   concern and RTP subsessions can be disabled if necessary.









The IETF Secretariat






_______________________________________________

rtcweb mailing list

rtcweb@ietf.org<mailto:rtcweb@ietf.org>

https://www.ietf.org/mailman/listinfo/rtcweb