Re: [rtcweb] Why requiring pre-announcement of SSRCs is a problem for conferencing ( Was: New Version Notification for draft-uberti-rtcweb-plan-00.txt )

Bernard Aboba <bernard_aboba@hotmail.com> Wed, 15 May 2013 19:55 UTC

Return-Path: <bernard_aboba@hotmail.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 AD51D21F845D for <rtcweb@ietfa.amsl.com>; Wed, 15 May 2013 12:55:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.444
X-Spam-Level:
X-Spam-Status: No, score=-102.444 tagged_above=-999 required=5 tests=[AWL=0.154, 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 lvQuHU76dvKH for <rtcweb@ietfa.amsl.com>; Wed, 15 May 2013 12:55:19 -0700 (PDT)
Received: from blu0-omc3-s37.blu0.hotmail.com (blu0-omc3-s37.blu0.hotmail.com [65.55.116.112]) by ietfa.amsl.com (Postfix) with ESMTP id 2732821F848A for <rtcweb@ietf.org>; Wed, 15 May 2013 12:55:17 -0700 (PDT)
Received: from BLU169-W123 ([65.55.116.72]) by blu0-omc3-s37.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Wed, 15 May 2013 12:55:10 -0700
X-TMN: [o8pnPAdOKM94BbydvXWb3rmA94HkGCH9E1eU7Cd5cbo=]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU169-W123BD628EA6BF951658F08093A20@phx.gbl>
Content-Type: multipart/alternative; boundary="_c8c4ccd1-c257-4981-a13e-af4c11d67cb2_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: Emil Ivov <emcho@jitsi.org>
Date: Wed, 15 May 2013 12:55:09 -0700
Importance: Normal
In-Reply-To: <5193DB82.2030702@jitsi.org>
References: <20130503054601.4639.64651.idtracker@ietfa.amsl.com>, <CALe60zAi_Lx3QFCbBQ5aPNkgorJAff0E79jkpbQX1Qt3wf2bzg@mail.gmail.com>, <CAOJ7v-1Wk6u7XiYrNVmoqr5Jisu2WRvZpte7hQTOiP8YHUc6hg@mail.gmail.com>, <008701ce4b21$a0997aa0$e1cc6fe0$@gmail.com>, <BLU169-W108D56DF61B85814543873C93BA0@phx.gbl>, <518AAAF2.5000207@alum.mit.edu>, <CA+9kkMBw4+kXAv6qLCcmGLwMxAqR6P-Tk8dm-ardv_jihHx0Hw@mail.gmail.com>, <9E563BDA-C336-4FB8-B11A-A2DC40C672C1@iii.ca>, <CA+9kkMC-NnF+VugBOZNhY4-Cz1tqJA44WSF9dg45g4GCWxkh-g@mail.gmail.com>, <518D6C76.5060606@alum.mit.edu>, <CAHBDyN6xYor-XWnLEkufoQPYrDc+KurrM0m3HBTqLXqNkPtDkQ@mail.gmail.com>, <BLU169-W82D3FCC3246D6D878FA44E93A00@phx.gbl>, <5191F948.3040402@ericsson.com> <51920280.3080308@jitsi.org>, <519223A0.1040908@ericsson.com> <5192947F.90206@jitsi.org>, <CAOJ7v-0+m+gFqahAJ-eL8T=hirq9Hz8hHuoJB1fjpGG5Cu+9zw@mail.gmail.com>, <5193DB82.2030702@jitsi.org>
MIME-Version: 1.0
X-OriginalArrivalTime: 15 May 2013 19:55:10.0095 (UTC) FILETIME=[1B12A1F0:01CE51A6]
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, Roni Even <even.roni@huawei.com>
Subject: Re: [rtcweb] Why requiring pre-announcement of SSRCs is a problem for conferencing ( Was: New Version Notification for draft-uberti-rtcweb-plan-00.txt )
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: Wed, 15 May 2013 19:55:30 -0000

Emil said: 

>> How do you plan to demultiplex the media sources without knowing whose> > SSRC belongs to whom?>> Demultiplexing itself shouldn't be an issue.... > > First, many applications may not require such information at all, as
> they may simply be rendering whatever stream they get.
> 
> Others may need this only for presentation purposes (e.g. showing a name
> underneath a video). In this case they would be potentially happy with
> getting it later, asynchronously and merged with other display
> information that the focus may be sending their way.
[BA] Scenarios where the media can be directly rendered, or the required information can arrive later are idealfor potential handling outside SDP (e.g. within RTP/RTCP).   So "known whose SSRC belongs to whom" can be handled adequately without SDP in simple cases (e.g. single media stream per participant). 
> > Consider especially the case of repair flows, for
> > which one must know which primary flow the repair flow corresponds with.
> 
> Applications using such repair flows would need to know about
> stream/SSRC relations relatively early in the process. Roni already
> indicated RTCP is widely used for this purpose and I believe this can
> also be a viable option here.>
[BA] I believe that RTP and RTCP can be used successfully to provide repair and FEC relationships, as well as simulcast and layered coding information.  However, this is trickier than the "simple rendering" or "name" case, because until the relationships are known to the endpoints it may be difficult for them to properly utilize those streams.  Having a reliable signaling mechanism only solves the problem once the Answer has arrived, but it may be desirable to be able to handle media before then.  Similarly, RTP/RTCP info only helps once it has arrived, and of course packets can be lost.  Overall, I believe it is possible to make things work without SDP over the wire, assuming our expectations are set appropriately.  Having RTP/RTCP alternatives available is useful within a framework such as WebRTC where there is no mandatory signaling mechanism, but also in scenarios where rapid response to changing conditions is needed (such as in congestion control).  
> Obviously, for this to work, the WebRTC APIs would need to provide means
> of obtaining and setting this information from/to the browser.
> Applications need to be able to start and stop specific streams, relate
> them as layers or FEC repair flows.
[BA] I hope that you're not talking about application-specific RTCP packets; I would prefer to avoid that if possible.  
> > Given the complexities here, I don't think it's entirely fair to call
> > the signaling "absolutely unnecessary".
> 
> My point is that it could be "absolutely unnecessary" and even
> prohibitive for some applications, nice to have in others, and required
> by others yet.
[BA] There are a number of current scenarios in which frequent signaling is not desirable and in which RTP/RTCP is widely used instead.   As an example, it is one thing to use SDP to communicate the envelope of what a receiver can handle (resolutions, frame rates, etc.).  It is another to use SDP to attempt to signal changes that can happen as frequently as multiple times a second.  If we don't make it possible for that to be "absolutely unnecessary" (or worse, not make it clear that this undesirable) we will have been negligent. 
> Having SDP O/A as the (sole) mechanism that is available to all these
> categories sounds like a problem.
[BA] Since SDP O/A isn't a universal hammer, depending on it exclusively is a fundamental design mistake.