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

Emil Ivov <emcho@jitsi.org> Tue, 14 May 2013 19:46 UTC

Return-Path: <emil@sip-communicator.org>
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 36A1C21F8F4F for <rtcweb@ietfa.amsl.com>; Tue, 14 May 2013 12:46:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.616
X-Spam-Level:
X-Spam-Status: No, score=-1.616 tagged_above=-999 required=5 tests=[AWL=-0.983, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, SARE_FWDLOOK=1.666]
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 fwCysEGRXT+T for <rtcweb@ietfa.amsl.com>; Tue, 14 May 2013 12:46:12 -0700 (PDT)
Received: from mail-bk0-x22c.google.com (mail-bk0-x22c.google.com [IPv6:2a00:1450:4008:c01::22c]) by ietfa.amsl.com (Postfix) with ESMTP id AF83121F8F43 for <rtcweb@ietf.org>; Tue, 14 May 2013 12:46:11 -0700 (PDT)
Received: by mail-bk0-f44.google.com with SMTP id jk13so572333bkc.17 for <rtcweb@ietf.org>; Tue, 14 May 2013 12:46:10 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:message-id:date:from:organization:user-agent :mime-version:to:cc:subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=2UwJnjwLT+wzEhHBHhY4yIBvSnZ+Er8VzJVJmguYiO0=; b=H2nxQF+dXXpX7F8hocDdiovIem5a96w6pE+O4UjAPa+Rfgg2mL09PMe55IM9XbBcac wCpjYWuV9P6gM8e0oq72Q2KvdcDwHHDikEeOKFQxEdyxSe2W8FqttrWmV+V33HGuLm8Q n29+6SIYC00vz94njfeqcNLObHTlW3MyotXz3vuhp8S+svnbf5DGL94VRBCL2EAPFzOT Nm63rmZRI2W/JB+VnwpOnq5yYGNhmh+9cOQWP6/6rvUN5IagUQywbb5fxWFqedKZGom+ GeerbADXg1TPWmtQFbWG//S6YdDU+1WVLRpnPvhDapQ2GxhE+3yPkkFTdODNJk0R7W7m 1zag==
X-Received: by 10.204.65.69 with SMTP id h5mr9508244bki.59.1368560770628; Tue, 14 May 2013 12:46:10 -0700 (PDT)
Received: from [10.1.1.28] (damencho.com. [78.90.89.119]) by mx.google.com with ESMTPSA id es13sm4093752bkc.8.2013.05.14.12.46.08 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 14 May 2013 12:46:09 -0700 (PDT)
Message-ID: <5192947F.90206@jitsi.org>
Date: Tue, 14 May 2013 22:46:07 +0300
From: Emil Ivov <emcho@jitsi.org>
Organization: Jitsi
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
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>
In-Reply-To: <519223A0.1040908@ericsson.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQnNZweSeLvLiEhDebyZPUNBqgOdNgCT8nYYhUob6gpBOMb9ooVKjHoxkRz0xvAwFCLfrkNG
Cc: rtcweb@ietf.org
Subject: [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: Tue, 14 May 2013 19:46:13 -0000

Hey Stefan,

On 14.05.13, 14:44, Stefan Håkansson LK wrote:
>>> SSRCs - this would be SDP
>>
>> Again, including SSRCs in SDP O/A is tricky in conferencing scenarios.
> 
> Here seems to be something that I have missed. That there are existing 
> implementations that do not signal SSRC is fine, and in most cases there 
> would be only one audio and one video SSRC used anyway. And rtcweb (and 
> Clue?) should be able to interoperate (but perhaps your web app need to 
> be designed in a specific way).
> 
> But if we design something forward looking, that can handle many 
> streams, that can handle layered codecs and FEC data, signaling SSRCs 
> seems like a must to me.
> 
> But I have missed that this is problematic in conferencing scenarios, 
> could you tell me why (and I probably should know :) )?

The issue that I am referring to (I describe this in an earlier mail to
Harald here http://goo.gl/M8NbQ ) is that of a conference based on an
RTP translator. It's basically what we do in Jitsi Videobridge.

Let's say that I am a WebRTC app that can act as a conference focus and
that has access to an RTP translator somewhere. I'd like to organise a
conference with 10 people (you and I among them).

I ask the RTP translator to allocate 10 ports for me and then I start
calling participants.

You are the first one that I am going to join into this new call.

At this point, the only SSRC(s) that I could possibly give you are those
that I am going to use. I won't be able to tell you anything for the
eight other participants. For all I know, some or all of these
participants could turn out to be RTP translators themselves and there
could be a number of SSRCs behind each of them too.

The very logical and easy thing that your webapp could do here is not to
care and simply render each and every SSRC that you get. Most apps are
going to be perfectly happy with that.

If, on the other hand you needed me to re-offer you every time a new
participant joins in order to work properly, then things would easily
get quite messy even if everyone is using WebRTC.

Then, note that some of the participants can be simple SIP endpoints
(that's why we bothered with SDP in the first place right?) so the only
way I can get their SSRCs is with some extra signalling between me and
the RTP translator. This is not a problem per se, but it can only happen
after the SIP participants have joined the call and started streaming
data, that has reached the translator. And even then they will have no
MSIDs.

All in all, we would be enforcing some very laborious signalling when
it is absolutely unnecessary.

Does this make sense?
Emil

-- 
https://jitsi.org