Re: [rtcweb] New topic: Model for multi-unicast support

Stefan Håkansson LK <> Sat, 03 September 2011 05:30 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EE60821F8C33 for <>; Fri, 2 Sep 2011 22:30:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.317
X-Spam-Status: No, score=-6.317 tagged_above=-999 required=5 tests=[AWL=-0.018, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id r3LxS0kkgauy for <>; Fri, 2 Sep 2011 22:30:04 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id E509621F8C30 for <>; Fri, 2 Sep 2011 22:30:02 -0700 (PDT)
X-AuditID: c1b4fb3d-b7c47ae000000b17-e3-4e61bbb90ffc
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 64.C7.02839.9BBB16E4; Sat, 3 Sep 2011 07:31:38 +0200 (CEST)
Received: from ([]) by ([]) with mapi; Sat, 3 Sep 2011 07:31:37 +0200
From: Stefan Håkansson LK <>
To: Harald Alvestrand <>, "" <>
Date: Sat, 03 Sep 2011 07:31:36 +0200
Thread-Topic: [rtcweb] New topic: Model for multi-unicast support
Thread-Index: Acxonmi2aGEHqqgXTPKiB1xc8U+hMQBWhz9c
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Subject: Re: [rtcweb] New topic: Model for multi-unicast support
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 03 Sep 2011 05:30:05 -0000

Harald wrote:
>In the thread about draft-perkins-rtcweb-usage, the following exchange
>took place:
>>> >  Speaking for some implementors of the WEBRTC API, it's also clear that there's a significant cost to implementing the multiway RTP session concept - both in code >complexity and API complexity. I think this warrants more discussion, where all 3 outcomes should be on the table:
>>> >
>>> >  - We recommend doing multi-unicast with a shared RTP session only
>>> >  - We recommend supporting both shared and split RTP sessions for multi-unicast
>>> >  - We recommend doing multi-unicast with split RTP sessions only
>>> >
>>> >  We should probably do this in a new thread.
>> Indeed; I'd be interested to know what complexity you're seeing. I would have expected the shared RTP session model to decrease complexity, since the RTP layer can be >>oblivious to the detail of the underlying transport connections, and wouldn't have to worry about tracking SSRC and payload type mapping separately for each session.
>I think this is a topic that deserves its own thread.
>The context is use case 4.2.7, "Multiparty video communication", the one
>without a central server; each party sends its video and audio streams
>to all participants in the meeting directly.
>One can imagine supporting this with a single RTP session, where all
>video streams are equal and sent with the same SSRC to all participants,
>all participants send receiver reports (RRs) about all the SSRCs they
>see to all other participants, and all senders send their SR reports to
>all participants.

To me an RTP session was connected to a port/IP address, so I don't understand how this could be one session (the destination port/IP would be different for each stream). (I expect to be corrected!) Is multicast assumed?

>Now, this has implications for both API design, service design and
>protocol operation.
>API: The model presented is no longer "this object is your connection to
>A; that object is your connection to B". There has to be a
>representation of your "cloud" as a multidestination object, with
>procedures for adding to and subtracting from the list of participants.
>Error reporting must include which participant the error relates to.
>Service: The requirement for perfect equality means that you cannot
>allow any party to adapt its presence to what it can receive; for
>instance, as I understand it, nobody can drop the video and only be an
>audio participant, because that would break the model of equality,
>rendering sender reports meaningless to some participants.
>Protocol: The requirement for a single agreed RTCP bandwidth means that
>this bandwidth has to be computed for the session as a whole - with the
>simplistic answer being 5% of the lowest common denominator.
>In contrast, if one chooses the multiple-RTP-session approach:
>- the API retains its "one object, one destination" orientation.
>- the degree to which service is equal to all parties is a matter for
>the application, not the protocol
>- rate adaption, choice of RTP bandwidht and so on can be negotiated on
>each link individually
>I think this forum needs to pick one of the options in my initial note,
>and design its protocols and APIs accordingly.
This was to some extent discussed on the webrtc list earlier. My view is the same as then: we should go for the '"one object, one destination" and multiple RTP-session' approach. 



rtcweb mailing list