Re: [rtcweb] To multiplex or not!

Cullen Jennings <fluffy@cisco.com> Wed, 20 July 2011 00:05 UTC

Return-Path: <fluffy@cisco.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 D61BC21F862F for <rtcweb@ietfa.amsl.com>; Tue, 19 Jul 2011 17:05:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.087
X-Spam-Level:
X-Spam-Status: No, score=-104.087 tagged_above=-999 required=5 tests=[AWL=-1.488, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tI9jYRDD8OfC for <rtcweb@ietfa.amsl.com>; Tue, 19 Jul 2011 17:05:54 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) by ietfa.amsl.com (Postfix) with ESMTP id E287321F8551 for <rtcweb@ietf.org>; Tue, 19 Jul 2011 17:05:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=fluffy@cisco.com; l=4741; q=dns/txt; s=iport; t=1311120354; x=1312329954; h=subject:mime-version:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=B8fLj+5eHGSqTKEKpr5xKm0OL2imZBXRDqzIKha5NC4=; b=MM91482KDum/M8Kb5xdPgJReQcfp+1osWkwuxLSHoWhnhp7l5/4rwA3U hf7OIqAA550Gubhw4o1EicB+bCtNIf5Sx2/MtujNB4CZEDpH+qpwwkoIz fHb92ndFNCaUetsWR+CBwQsT+sZsb755PEbpyW1rGJ3KovolBPdn6Gmgq 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Av0EAKgaJk6rRDoI/2dsb2JhbABUp1t3iHylTp5MAoVbXwSHVIsUkHo
X-IronPort-AV: E=Sophos;i="4.67,231,1309737600"; d="scan'208";a="4538428"
Received: from mtv-core-3.cisco.com ([171.68.58.8]) by rcdn-iport-4.cisco.com with ESMTP; 20 Jul 2011 00:05:53 +0000
Received: from sjc-vpn5-1870.cisco.com (sjc-vpn5-1870.cisco.com [10.21.95.78]) by mtv-core-3.cisco.com (8.14.3/8.14.3) with ESMTP id p6K05qqe031203; Wed, 20 Jul 2011 00:05:52 GMT
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="iso-8859-1"
From: Cullen Jennings <fluffy@cisco.com>
In-Reply-To: <4E259484.20509@ericsson.com>
Date: Tue, 19 Jul 2011 17:05:52 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <37897D97-85A9-4B21-85C3-A7E9BE1EF3E7@cisco.com>
References: <4E259484.20509@ericsson.com>
To: Magnus Westerlund <magnus.westerlund@ericsson.com>
X-Mailer: Apple Mail (2.1084)
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] To multiplex or not!
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, 20 Jul 2011 00:05:57 -0000

I'd like to see it that devices MUST support multiplexing and I'd probably be in favor of also MUST support non multiplexed flows. The multiplexing is a big advantage for any device that needs to deal with NATs so I suspect many "legacy" devices would be moving to this even if there was no need to deal with the browser like devices. I also think that allowing this type of multiplexing will make firewall traversal easier where a device can configure a firewall to open just one specified port and use it for RTP. 

The number places where RSVP is usable does not really overlap with places one uses ICE so it does not bother me in the slightest that RSVP won't work with this. It's pretty easy to imagine an extension to RSVP to support reservations based on SSRC inside the flow. Diff Serv based qos will work which is what more commonly used in situations where we are using NATs. 

The primary reason I want multiplexing is the time to set up all the ICE connections. The fact of the matter is that NATs limit how quickly you can create new flows. If all you need is something simple with just 2 flows, one for audio and one for video, this is workable. But as soon as you move to trying to have a transition strategy from V4 to V6 and multiple person video or even just multi screen video, the user experience goes downhill rapidly. 

Much of the IETF thinking around ICE was done on the assumption that ICE could be done before ringing started or during ringing but the deployments I am seeing are moving more towards not doing ICE until after a call is answered. There are many reasons for this but one of them is that if Alice calls Bob, and Bob is on a mobile internet device, you don't want to reveal Bob's location to Alice before Bob even decides to answer the call. Given an IP address more or less reveals location these days that a bit of issues to do ICE before answering. This puts more pressure on being able to do ICE quickly for a good user experience. 

Cullen <with my individual contributor hat on>

On Jul 19, 2011, at 7:28 , Magnus Westerlund wrote:

> Hi,
> 
> This email is as an individual contributor.
> 
> I want to get started on the discussion of the Multiplexing of the
> various protocols over single lower layer transport flow, such as a UDP
> flow. I will attempt to split up the questions into different emails.
> 
> The first question I think is reasonably easy to get answered, but I
> think it is time we determine if my belief in the answer is correct or not.
> 
> The traffic between two RTCWEB peers from the various components, such
> as RTP sessions, datagram service:
> 
> a) MUST be sent as Individual flows for each component.
> 
> b) MUST be multiplexed into a single transport flow.
> 
> c) SHOULD be multiplexed into a single transport flow, but the RTCWEB
> peer MUST be able to send them as individual flows.
> 
> I would love if people can indicate their choice or preferences.
> 
> I personally prefer A as it it is simplest in all aspect except the NAT
> traversal.
> - It allows for flow based QoS.
> - It is the what the implementation that exist mostly do
> - Signaling protocols that exist support it, no extra functionality
> - People are used to the concept
> - It minimizes the difference to legacy.
> 
> Thus it is the quickest road to define something with the least formal
> push back and concern over maturity of any solution.
> 
> The downside with B and C is that we do have to solve the multiplexing
> and get an agreement that gets through all the hurdles.
> 
> Of these two opens I do prefer C.  Although it results in the extra
> complexities of having both alternatives, it will give us both a
> fallback, flow based QoS and better legacy support.
> 
> Now it is your time to make your opinion heard!
> 
> Cheers
> 
> Magnus Westerlund
> 
> ----------------------------------------------------------------------
> Multimedia Technologies, Ericsson Research EAB/TVM
> ----------------------------------------------------------------------
> Ericsson AB                | Phone  +46 10 7148287
> Färögatan 6                | Mobile +46 73 0949079
> SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com
> ----------------------------------------------------------------------
> 
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb


Cullen Jennings
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html