Re: [rtcweb] Mode 1 and getUserMedia

Adam Roach <adam@nostrum.com> Thu, 13 September 2018 07:02 UTC

Return-Path: <adam@nostrum.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 102D1130F72 for <rtcweb@ietfa.amsl.com>; Thu, 13 Sep 2018 00:02:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.878
X-Spam-Level:
X-Spam-Status: No, score=-1.878 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=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 zxkYOuwdM5y7 for <rtcweb@ietfa.amsl.com>; Thu, 13 Sep 2018 00:02:15 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 A9D4F130E2D for <rtcweb@ietf.org>; Thu, 13 Sep 2018 00:02:14 -0700 (PDT)
Received: from Svantevit.roach.at (99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id w8D726k7017992 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 13 Sep 2018 02:02:09 -0500 (CDT) (envelope-from adam@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host 99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228] claimed to be Svantevit.roach.at
To: Justin Uberti <juberti=40google.com@dmarc.ietf.org>, Tim Panton <thp@westhawk.co.uk>
Cc: RTCWeb IETF <rtcweb@ietf.org>, James Pearce <james@jamesandjo.com>
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>
From: Adam Roach <adam@nostrum.com>
Message-ID: <104bf6e8-183a-fbd6-7651-772ee68a0ef4@nostrum.com>
Date: Thu, 13 Sep 2018 02:02:00 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <CAOJ7v-1pmiTJ4pbtN-XADKFO1k1eHO6d9j-PgJBc4vOyH=w_Hg@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------377CF72E3583CFC4C433BD09"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/R7M2bvcLWFLb7BD_eRU5HqOxHbk>
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 07:02:17 -0000

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>, 
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 
> <mailto:thp@westhawk.co.uk>> wrote:
>
>
>
>     > On 12 Sep 2018, at 20:57, James Pearce <james@jamesandjo.com
>     <mailto: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
>     <mailto: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
>     <mailto: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 <mailto:rtcweb@ietf.org>
>     >> https://www.ietf.org/mailman/listinfo/rtcweb
>     >
>
>     _______________________________________________
>     rtcweb mailing list
>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>     https://www.ietf.org/mailman/listinfo/rtcweb
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb