Re: [MMUSIC] BUNDLE TEXT: De-mux procedures (June 19th)

Bernard Aboba <bernard_aboba@hotmail.com> Thu, 20 June 2013 16:48 UTC

Return-Path: <bernard_aboba@hotmail.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 20A0C21F9D37 for <mmusic@ietfa.amsl.com>; Thu, 20 Jun 2013 09:48:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.536
X-Spam-Level:
X-Spam-Status: No, score=-102.536 tagged_above=-999 required=5 tests=[AWL=0.062, BAYES_00=-2.599, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
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 o1JMV5nF18tA for <mmusic@ietfa.amsl.com>; Thu, 20 Jun 2013 09:48:10 -0700 (PDT)
Received: from blu0-omc3-s28.blu0.hotmail.com (blu0-omc3-s28.blu0.hotmail.com [65.55.116.103]) by ietfa.amsl.com (Postfix) with ESMTP id 1A59021F9CEB for <mmusic@ietf.org>; Thu, 20 Jun 2013 09:48:10 -0700 (PDT)
Received: from BLU169-W102 ([65.55.116.72]) by blu0-omc3-s28.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Thu, 20 Jun 2013 09:48:09 -0700
X-TMN: [H9LiFgXZpXa9Sxl4PT3QfG/ExY+3obCh]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU169-W102DD0E25D787B268536DFD938E0@phx.gbl>
Content-Type: multipart/alternative; boundary="_129ac546-bc56-476f-ac14-c9c07aef675c_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, Christer Holmberg <christer.holmberg@ericsson.com>
Date: Thu, 20 Jun 2013 09:48:08 -0700
Importance: Normal
In-Reply-To: <51C317C4.7020907@alum.mit.edu>
References: <7594FB04B1934943A5C02806D1A2204B1C3AFDB7@ESESSMB209.ericsson.se>, , <51C1A4A3.6070105@alvestrand.no>, , <7594FB04B1934943A5C02806D1A2204B1C3AFEA1@ESESSMB209.ericsson.se>, , <51C1A89A.9020603@alvestrand.no>, , <BLU169-W56DEA51EC84C8180A7DCD5938D0@phx.gbl>, , <7594FB04B1934943A5C02806D1A2204B1C3B0B60@ESESSMB209.ericsson.se>, , <BLU169-W1288AEADA7A090C209F376C938D0@phx.gbl>, <7594FB04B1934943A5C02806D1A2204B1C3B0EF1@ESESSMB209.ericsson.se>, <51C1DD3A.8030705@alvestrand.no>, <7594FB04B1934943A5C02806D1A2204B1C3B1392@ESESSMB209.ericsson.se>, <51C1E5D5.9020009@jitsi.org> <51C207F1.1010102@alum.mit.edu>, <7594FB04B1934943A5C02806D1A2204B1C3B1A7F@ESESSMB209.ericsson.se>, <51C317C4.7020907@alum.mit.edu>
MIME-Version: 1.0
X-OriginalArrivalTime: 20 Jun 2013 16:48:09.0555 (UTC) FILETIME=[F1FB1A30:01CE6DD5]
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] BUNDLE TEXT: De-mux procedures (June 19th)
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Jun 2013 16:48:15 -0000

Paul said: 
> I just commented on that in a separate reply.
> I can't find clear text about that.
[BA] Within the Multiiplexing Guidelines document, Appendix A cover PT multiplexing (see text below): http://tools.ietf.org/html/draft-ietf-avtcore-multiplex-guidelines
However, I do not see any text there addressing the specific issues that are being discussed relating to the BUNDLE document.  IMHO, this is unfortunate. 
> But if that is the consensus interpretation, then I'm fine with that as > long as then the bundle spec clearly specifies the implications of that 
> on bundle usage.
[BA] If in fact there is a consensus, I'd argue that it should be included in the WG consensus document that is supposed to be covering this topic (e.g. the Multiplexing Guidelines document). 
====================
Appendix A.  Dismissing Payload Type Multiplexing

   This section documents a number of reasons why using the payload type
   as a multiplexing point for most things related to multiple streams
   is unsuitable.  If one attempts to use Payload type multiplexing
   beyond it's defined usage, that has well known negative effects on
   RTP.  To use Payload type as the single discriminator for multiple
   streams implies that all the different media streams are being sent
   with the same SSRC, thus using the same timestamp and sequence number
   space.  This has many effects:

   1.   Putting restraint on RTP timestamp rate for the multiplexed
        media.  For example, media streams that use different RTP
        timestamp rates cannot be combined, as the timestamp values need
        to be consistent across all multiplexed media frames.  Thus
        streams are forced to use the same rate.  When this is not
        possible, Payload Type multiplexing cannot be used.

   2.   Many RTP payload formats may fragment a media object over
        multiple packets, like parts of a video frame.  These payload
        formats need to determine the order of the fragments to
        correctly decode them.  Thus it is important to ensure that all
        fragments related to a frame or a similar media object are
        transmitted in sequence and without interruptions within the
        object.  This can relatively simple be solved on the sender side
        by ensuring that the fragments of each media stream are sent in
        sequence.

   3.   Some media formats require uninterrupted sequence number space
        between media parts.  These are media formats where any missing
        RTP sequence number will result in decoding failure or invoking
        of a repair mechanism within a single media context.  The text/
        T140 payload format [RFC4103] is an example of such a format.
        These formats will need a sequence numbering abstraction
        function between RTP and the individual media stream before
        being used with Payload Type multiplexing.

   4.   Sending multiple streams in the same sequence number space makes
        it impossible to determine which Payload Type and thus which
        stream a packet loss relates to.

   5.   If RTP Retransmission [RFC4588] is used and there is a loss, it
        is possible to ask for the missing packet(s) by SSRC and
        sequence number, not by Payload Type.  If only some of the
        Payload Type multiplexed streams are of interest, there is no
        way of telling which missing packet(s) belong to the interesting
        stream(s) and all lost packets must be requested, wasting
        bandwidth.

   6.   The current RTCP feedback mechanisms are built around providing
        feedback on media streams based on stream ID (SSRC), packet
        (sequence numbers) and time interval (RTP Timestamps).  There is
        almost never a field to indicate which Payload Type is reported,
        so sending feedback for a specific media stream is difficult
        without extending existing RTCP reporting.

   7.   The current RTCP media control messages [RFC5104] specification
        is oriented around controlling particular media flows, i.e.
        requests are done addressing a particular SSRC.  Such mechanisms
        would need to be redefined to support Payload Type multiplexing.

   8.   The number of payload types are inherently limited.
        Accordingly, using Payload Type multiplexing limits the number
        of streams that can be multiplexed and does not scale.  This
        limitation is exacerbated if one uses solutions like RTP and
        RTCP multiplexing [RFC5761] where a number of payload types are
        blocked due to the overlap between RTP and RTCP.

   9.   At times, there is a need to group multiplexed streams and this
        is currently possible for RTP Sessions and for SSRC, but there
        is no defined way to group Payload Types.

   10.  It is currently not possible to signal bandwidth requirements
        per media stream when using Payload Type Multiplexing.

   11.  Most existing SDP media level attributes cannot be applied on a
        per Payload Type level and would require re-definition in that
        context.

   12.  A legacy endpoint that doesn't understand the indication that
        different RTP payload types are different media streams may be
        slightly confused by the large amount of possibly overlapping or
        identically defined RTP Payload Types.