Re: [rtcweb] Mode 1 and getUserMedia

James Pearce <james@jamesandjo.com> Thu, 13 September 2018 15:28 UTC

Return-Path: <james@jamesandjo.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 0C18A130E06 for <rtcweb@ietfa.amsl.com>; Thu, 13 Sep 2018 08:28:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=jamesandjo-com.20150623.gappssmtp.com
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 FGOBL46_KOKr for <rtcweb@ietfa.amsl.com>; Thu, 13 Sep 2018 08:28:00 -0700 (PDT)
Received: from mail-io1-xd2e.google.com (mail-io1-xd2e.google.com [IPv6:2607:f8b0:4864:20::d2e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9AB5A1200D7 for <rtcweb@ietf.org>; Thu, 13 Sep 2018 08:28:00 -0700 (PDT)
Received: by mail-io1-xd2e.google.com with SMTP id r196-v6so3500659iod.0 for <rtcweb@ietf.org>; Thu, 13 Sep 2018 08:28:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jamesandjo-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=LBBSZgw+jdlDai+MBoBd/yeOQpSgT2ny8gSgDN+iAbw=; b=qcWImZPhwa9UTiNpONw9Yv+ede2dz2tMyej58jz+QR51wltUwNcT8nxMeNR4hQlhhn BKwHS3Ccxw76lv/5z4pKQHVHepmk6qIgdELDBexAsuGUoZR7Q5I/1q9BdDIL3tTkH3IC qt8nHAISRnY66RCOZvZZIDfcEx2XCiJnIfyj57UWMKmWt1YHDtCUlrXf6I/O4YF9UfmY SQvheHpXX8bFX2MDLbAzabZJ7yOICDvtqZq8WH36QF0Ub24daKDWTeg3tUAwINoxHS5L BVHlYF6967+kk+wEr+qSWRB3Ds/iXUmwoUpJTWdK3eOF32OXM7yyxEPlSFKpTkd+NGRN BfBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=LBBSZgw+jdlDai+MBoBd/yeOQpSgT2ny8gSgDN+iAbw=; b=G53AJGmo3PDvVQvJTLYgyqG3ThhCbHW8BjcqCY2hpt6ktAISQvBux1lBucvNdtyNsA 4i9tGOcI6IGqmuw+y37XP8jgR7yQ9wFlPaXgNLYU9VtJIaPq4ISOtl1eUf8yQb969MuM 0cjALQXvhjv1AGMyNHzz/aWsmIqD3F+2zEmPtxkrsltH9XRz/V1HActWP0vc43jaiBTY /ldlmK6LSR06Z0SuelvTlhSE5ybzjJ8T1xjBbO5Eg192K7/YGiUTOh1UzM5tl5WKQ1c4 UnSLn80ikh+J2kZWuK9E+Q/Mzed+Kgb74qDkJN5aHbRJiGm+v+RuSyag7e2QpfWfLwgW 6eWg==
X-Gm-Message-State: APzg51ALJ22lUmkunGIoJ5muc4EEoiUSJN/yJoqmM4WKJJfRXSsUH6i2 4dOYYP6PbwZ+ZCrx6NqBvUGYOKSgb20t0LjHOtWtbA==
X-Google-Smtp-Source: ANB0VdZqrxxY6K0ltrR5pReRcL9ReQl/WitbZB2llQxnv5llTdqYY6u32JZsXpRENjXhhuqpROOWdhY8bueyuzni2v4=
X-Received: by 2002:a6b:9303:: with SMTP id v3-v6mr6443027iod.264.1536852479769; Thu, 13 Sep 2018 08:27:59 -0700 (PDT)
MIME-Version: 1.0
References: <CAO5ixTHz9fhoau4Q7WJgpOp_aaDujH6pYT32MB2gX7D9-+E0fg@mail.gmail.com> <85AC649C-F7B3-40E4-B9FC-FAC8C4332A5E@westhawk.co.uk> <CAO5ixTEus6ioeXtfM2vFtjY19mHJq10-R9vC6AHN_EagXm68+g@mail.gmail.com> <BDA3B3E1-3A9F-47DF-B26B-DFA19CC7E57B@westhawk.co.uk> <CAOJ7v-1pmiTJ4pbtN-XADKFO1k1eHO6d9j-PgJBc4vOyH=w_Hg@mail.gmail.com> <104bf6e8-183a-fbd6-7651-772ee68a0ef4@nostrum.com>
In-Reply-To: <104bf6e8-183a-fbd6-7651-772ee68a0ef4@nostrum.com>
From: James Pearce <james@jamesandjo.com>
Date: Thu, 13 Sep 2018 16:27:43 +0100
Message-ID: <CAO5ixTEAR5xMZrxr90G_Nn5sEhvOU4+Mo50=oH6KSJbeiYVvLA@mail.gmail.com>
To: Adam Roach <adam@nostrum.com>
Cc: juberti=40google.com@dmarc.ietf.org, Tim Panton <thp@westhawk.co.uk>, RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002129f10575c25a47"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/wO3bBy6rACC5rEtYB8hy8UJwHuA>
Subject: Re: [rtcweb] Mode 1 and getUserMedia
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Thu, 13 Sep 2018 15:28:03 -0000

With Firefox, I may be running into a different variant of the bug I
entered before:
*Bug 1384265 <https://bugzilla.mozilla.org/show_bug.cgi?id=1384265>*

If I add a TURN iceServer, and set iceTransportPolicy to relay, but never
call GUM, Chrome will connect, but Firefox won't.
However, the TURN server is on a VPN network. That bug above is about
Firefox not choosing the route to the origin when in mode 1. I guess that
would also mean it wouldn't use that supplied TURN server either.

James

On Thu, 13 Sep 2018 at 08:02, Adam Roach <adam@nostrum.com> wrote:

> To be clear, if you're seeing Firefox behave in a way that doesn't comply
> with the ip-handling specification, please either file a bug at
> <https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=WebRTC>
> <https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=WebRTC>,
> or send me an email that describes exact steps to reproduce the issue
> you're seeing and an explanation of what is happening versus what should be
> happening, and I'll forward it to the relevant parties.
>
> /a
>
> On 9/13/18 1:00 AM, Justin Uberti wrote:
>
> Mode 1 is not needed for TURN.
>
> On Wed, Sep 12, 2018 at 1:19 PM westhawk <thp@westhawk.co.uk> wrote:
>
>>
>>
>> > On 12 Sep 2018, at 20:57, James Pearce <james@jamesandjo.com> wrote:
>> >
>> > That's interesting - in the GitHub comments, you say that without Mode
>> 1, you have to use TURN.
>> > It's my understanding that Mode 1 is also required for TURN - that's
>> certainly what the spec seems to say. I know Firefox will not enumerate
>> relay ice candidates until I've called getUserMedia().
>>
>> No, Mode 3 explicitly supports TURN:
>>
>> "
>> Default route only: This is the the same as Mode 2, except that the
>> associated private address MUST NOT be provided. This may cause traffic to
>> hairpin through a NAT, fall back to the application TURN server, or fail
>> altogether, with resulting quality implications.
>> “
>>
>> I suppose I should write some test code to verify what is actually
>> happening...
>>
>> I see Safari 12 looks like supporting MDNS names in ICE candidates.
>>
>> It is definitely a mess.
>>
>> T.
>>
>>
>>
>>
>> >
>> > James
>> >
>> > On Wed, 12 Sep 2018 at 15:47, westhawk <thp@westhawk.co.uk> wrote:
>> > Yeah, I call this the “You have to take a selfie before you fly the
>> drone” problem.
>> > I’ve just filed a GitHub issue on it for the use case spec for webRTC
>> NV.
>> >
>> > https://github.com/w3c/webrtc-nv-use-cases/issues/1
>> >
>> > Feel free to add commentary there as well as here.
>> >
>> > T.
>> >
>> >
>> >> On 12 Sep 2018, at 14:35, James Pearce <james@jamesandjo.com> wrote:
>> >>
>> >>
>> >> Hi,
>> >>
>> >> I have a quesion about the use of getUserMedia to obtain user consent
>> for Mode 1 operation.
>> >>
>> >> I have an application that uses WebRTC to deliver real-time media
>> streams in one direction only. Client applications are consumers only, in
>> some cases the client devices do not have any media capture capability.
>> >> I'm trying to develop a strategy for deploying the application on the
>> public web so, naturally, my plan is to use TURN to relay through NAT.
>> >>
>> >> I've run into trouble with
>> >>   a) The requirement that Mode 1 is needed to use TURN
>> >>   b) User consent for Mode 1 is tied to getUserMedia()
>> >>
>> >> Firstly, it's not clear to me why there is a restriction on using TURN
>> in mode 2. Does TURN reveal address information that would otherwise be
>> hidden to the peer? I've noticed that Chrome seems to use TURN even without
>> consent being given. Firefox does not.
>> >>
>> >> Secondly, with no capture devices, getUserMedia can never succeed,
>> thus, a user can never give consent for Mode 1. This is unfortunate, as
>> WebRTC is ideal for some applications that require one-way streaming to
>> limited-spec devices. Granted, not many devices today have no capture
>> capability, but even when they do, requesting permission to access a
>> microphone when it'll never be needed is confusing to end users. Is there a
>> better mechanism we can use to obtain consent when getUserMedia is not
>> necessary?
>> >>
>> >>
>> >> I know I've raised this issue tangentially before, but having to
>> explain issues to end users is beginning to wear thin. It's becoming a
>> headache.
>> >>
>> >> Thanks,
>> >>
>> >> James
>> >> _______________________________________________
>> >> rtcweb mailing list
>> >> rtcweb@ietf.org
>> >> https://www.ietf.org/mailman/listinfo/rtcweb
>> >
>>
>> _______________________________________________
>> rtcweb mailing list
>> rtcweb@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtcweb
>>
>
> _______________________________________________
> rtcweb mailing listrtcweb@ietf.orghttps://www.ietf.org/mailman/listinfo/rtcweb
>
>
>