[rtcweb] BUNDLE with implicit rtcp-mux
Justin Uberti <juberti@google.com> Mon, 10 March 2014 06:17 UTC
Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 268311A03D3 for <rtcweb@ietfa.amsl.com>; Sun, 9 Mar 2014 23:17:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.725
X-Spam-Level:
X-Spam-Status: No, score=-0.725 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, J_CHICKENPOX_55=0.6, RP_MATCHES_RCVD=-0.547, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3oiaZhlOfQH8 for <rtcweb@ietfa.amsl.com>; Sun, 9 Mar 2014 23:17:57 -0700 (PDT)
Received: from mail-ve0-x230.google.com (mail-ve0-x230.google.com [IPv6:2607:f8b0:400c:c01::230]) by ietfa.amsl.com (Postfix) with ESMTP id 487EB1A03D1 for <rtcweb@ietf.org>; Sun, 9 Mar 2014 23:17:57 -0700 (PDT)
Received: by mail-ve0-f176.google.com with SMTP id cz12so6483753veb.21 for <rtcweb@ietf.org>; Sun, 09 Mar 2014 23:17:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=M7m/6j9iFjxN0RgqDyGA2soEVITtwwxftrqutwPCHhU=; b=AyWQMxLBz8nFLt1mKmKS1QyxlV2JrVfkevMNRxAtnao0wM2OZhX0vwe3NwUJ6U5r+F iZb5/Vris7NhJladpUjRyPsOKg8VPv29VzsMs9MaArhuDIe1Dsh9wmvouJdAjdsTQyBp E66V+AD/uAUl6fysiJFqwmEVAg+1OLVndJJesq8MfC5l8pwhMF410+YyqPx8TpRNI6/v wk6cI3zXGME3eR/Rje+Q2Xw+jruTwaBh2nLqf8uCywPyVevgLiR+bE5aPB1wEDj7mhzr BS4hgYbDEmVRpziyd5cuOaOamEwM57iLAnYQVo0qAob7BbWkc5qZ33PvHhpv+NjYhORW srzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=M7m/6j9iFjxN0RgqDyGA2soEVITtwwxftrqutwPCHhU=; b=R6hGSRicHAiI/BTwJ6dU9IXDyyn+5KC2+FyiNKCKa9dRez4ZRzqKUlGM237xSdmjXV Ap0rap0Je4EmeOE5mRZJZYK1A49hb48qMt4ltzXuCbVhlnDwuLKPhc9fsKJTMs127hE0 xN5EGG3tgs4gqYtdQmwAmpFf9t6OOCAvPY/DgKDU07IReh0/SKvK7imchvMyxU086sgX pp4MXuYWNO4lpQ+m7XPkrT3x/qc+FHzNx3o6vBDorROTAxnbDHj0tFUrAOo5nbdhGz/S ruir62LDq3uXjW1/dXmUnycd/yq+ozYxbk2n/+BB5C0d8SaaFRq0mxXmo+VtlMstNvB+ YtAA==
X-Gm-Message-State: ALoCoQlAsw+X1ksx6qlZjsa+KKJt42Q40Dr2KhWj3KLAGZUgboUZcIRToL/epmSWxISUb3acDIFLi4wMEM61R2f+66KTooqrUQkNZ62rze60ew4cBtkuHVNnLSqg0zFq5Jx4TIdLtUu/xP7xNWoLQbAXNqrpV+vFDZ7Y++l11odvK2WFE2OBkAjwAfzie1QKG2Q6W+RR1GOw
X-Received: by 10.52.34.137 with SMTP id z9mr707295vdi.12.1394432271494; Sun, 09 Mar 2014 23:17:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.26.43 with HTTP; Sun, 9 Mar 2014 23:17:31 -0700 (PDT)
From: Justin Uberti <juberti@google.com>
Date: Mon, 10 Mar 2014 06:17:31 +0000
Message-ID: <CAOJ7v-063mGE_zndtAqAMN2fJw7kWvUHX2SgyDMryfw_-aS-9w@mail.gmail.com>
To: "rtcweb@ietf.org" <rtcweb@ietf.org>, Eric Rescorla <ekr@rtfm.com>, Christer Holmberg <christer.holmberg@ericsson.com>
Content-Type: multipart/alternative; boundary="20cf30780f6234c99304f43a9015"
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/Zs2kDn5vuQY5u6FUQXgSy2FLsiE
Subject: [rtcweb] BUNDLE with implicit rtcp-mux
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 10 Mar 2014 06:17:59 -0000
In my JSEP preso during the RTCWEB session last Wednesday, I discussed adding a new BUNDLE policy to JSEP. This policy, which would be called something like “force-bundle”, would force the use of the same ports for BUNDLEd m-sections, as well as RTCP mux. When one knows a priori that the other side supports BUNDLE, this would reduce candidate gathering even over the currently defined “max-bundle” policy, since there would be no need to gather RTCP ports at all, and also avoid the need for the BUNDLE fixup offer (where the ports are updated to be the same for all BUNDLEd m-sections). To explain the differences here, here are some example offers for an audio+video call: Default bundle policy - separate ports for audio, video, RTP and RTCP: m=audio 10000 a=rtcp:10001 a=rtcp-mux m=video 11000 a=rtcp:11001 a=rtcp-mux Existing "max-bundle" policy - video port is 0 because bundle-only, but both RTP and RTCP ports allocated for audio: m=audio 10000 a=rtcp:10001 a=rtcp-mux m=video 0 a=bundle-only a=rtcp-mux The new “force-bundle” policy - only a single set of ports allocated - audio, video, RTP, RTCP share the same port. m=audio 10000 a=rtcp:10000 a=rtcp-mux m=video 10000 a=rtcp:10000 a=rtcp-mux During the discussion, the ability to avoid RTCP port gathering was seen as valuable, but not the ability to avoid the fixup offer. However, after thinking about it a bit, I don’t think that there is a viable solution that avoids RTCP port gathering that *doesn’t* use a single set of ports. The only other option would be to do something like this: m=audio 10000 a=rtcp:10000 # same as m=audio port a=rtcp-mux m=video 0 a=bundle-only a=rtcp-mux but this will almost surely will result in a malfunction when talking to a non-rtcp-mux client, due to the same port being used for RTP and RTCP, and still requires the fixup offer, and as such is net worse than the force-bundle approach indicated above. So I think we the force-bundle approach is the one we want to minimize port gathering. The only question is whether we should keep max-bundle as well. To be specific, we need to decide between: a) Keep max-bundle as it is (separate RTP and RTCP ports allocated), and add a new force-bundle policy that creates an offer with a single port shared between all m-sections (RTP and RTCP). max-bundle remains nominally backwards compatible with non-BUNDLE/non-rtcp-mux endpoints, in that it will still send a single audio stream. force-bundle is not backwards compatible with non-BUNDLE endpoints. b) Add force-bundle, but get rid of max-bundle.
- [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Bernard Aboba
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Stach, Thomas
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Paul Kyzivat
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Christer Holmberg
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Justin Uberti
- Re: [rtcweb] BUNDLE with implicit rtcp-mux Magnus Westerlund