[MMUSIC] Some comments on draft-ivov-mmusic-multiple-sources

Bernard Aboba <bernard_aboba@hotmail.com> Fri, 19 July 2013 02:28 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 99D7411E8256 for <mmusic@ietfa.amsl.com>; Thu, 18 Jul 2013 19:28:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.543
X-Spam-Level:
X-Spam-Status: No, score=-102.543 tagged_above=-999 required=5 tests=[AWL=0.055, 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 lOZlv8HrLyNa for <mmusic@ietfa.amsl.com>; Thu, 18 Jul 2013 19:28:39 -0700 (PDT)
Received: from blu0-omc2-s10.blu0.hotmail.com (blu0-omc2-s10.blu0.hotmail.com [65.55.111.85]) by ietfa.amsl.com (Postfix) with ESMTP id BB07C21F9E6B for <mmusic@ietf.org>; Thu, 18 Jul 2013 19:28:39 -0700 (PDT)
Received: from BLU169-W63 ([65.55.111.72]) by blu0-omc2-s10.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Thu, 18 Jul 2013 19:28:38 -0700
X-TMN: [MTAjnZJ0Y/1d9LjMFyQi+CeuUzfbq58WstcP1W1X4mI=]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU169-W631D707F65BA6F5ECDF9AA93630@phx.gbl>
Content-Type: multipart/alternative; boundary="_610810f9-ce09-4112-82e8-92af5887fdd3_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: "mmusic@ietf.org" <mmusic@ietf.org>
Date: Thu, 18 Jul 2013 19:28:38 -0700
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 19 Jul 2013 02:28:38.0935 (UTC) FILETIME=[AD79BA70:01CE8427]
Subject: [MMUSIC] Some comments on draft-ivov-mmusic-multiple-sources
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: Fri, 19 Jul 2013 02:28:44 -0000

Overall, I like this draft quite a bit.  Some thoughts: 

Section 1
   Yet, Offer/Answer implementations in SIP
   applications have most often used them as an envelope for a maximum
   of two RTP streams (SSRCs) at a time: one in each direction.  The
   most common reason for this has been the fact these applications
   could not meaningfully render multiple SSRCs simultaneously.

[BA] While the above is probably true of legacy O/A implementations, video 
implementations today frequently can and do render multiple SSRCs simultaneously.  
In particular, implementations supporting more than "point-to-point" calls, often
go beyond "video switching" to rendering of multiple streams, all declared on
the same m-line. 

In particular, where there are multiple layers as well as multiple sources going
into a mixer, you may see multiple SSRCs coming out of the mixer.  This
could happen because a single SSRC is used for all the layers from a given source
(but distinct SSRCs are used for different sources), or because you have each
layer from a given source using a distinct SSRC. 

Section 2

   In cases where endpoints need to be able to detect this from the SDP
   Offer/Answer they could use the "max-send-ssrc" and "max-recv-ssrc"
   attributes defined in [MAX-SSRC].  It has to be noted however that
   this mechanism is still a work in progress and as such it would still
   need to be extended to provide ways of distinguishing between
   independent flows and complementary ones such as layered FEC and RTX.

[BA] Keep in mind that if you don't use a single SSRC per source, then the semantics
of max-send-ssrc and max-recv-ssrc become ambiguous.  So you need to be able to 
express the maximum send and receive sources as well as the maximum sent and
received layers. 

Section 5

   Another approach could be a combination of RTCP and RTP header
   extensions [RFC5285] in a way similar to the one employed by the
   Rapid Synchronisation of RTP Flows [RFC6051].  While such a mechanism
   is not currently defined by the IETF, specifying it could be
   relatively straightforward:

[BA] Not sure about the "straightforward" part but there are advantages to using
RTP and RTCP extensions.  RTP extensions allow RTP parsing to be bypassed which
is convenient if SRTP is used (since otherwise unless SSRCs are pre-declared
you might have to decrypt and parse the RTP packet to figure out what layer
it corresponds to).  Today there are commonly used RTP configurations that can't
easily be expressed in SDP (e.g. sending individual codec layers with distinct
SSRCs, but within the same RTP session) but that an RTP extension could help
with.  The argument on the other side is that SDP O/A is reliable, whereas
an RTP extension or RTCP SDES would not be.  However, if the endgame is WebRTC
without SDP, then I think we need to look for RTP/RTCP solutions for these issues,
rather than requiring an SDP dependency.