Re: [rtcweb] Mode 1 and getUserMedia

James Pearce <james@jamesandjo.com> Fri, 14 September 2018 10:02 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 6238E130DD2 for <rtcweb@ietfa.amsl.com>; Fri, 14 Sep 2018 03:02:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 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] autolearn=ham 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 OHBYCrdfZSvp for <rtcweb@ietfa.amsl.com>; Fri, 14 Sep 2018 03:02:39 -0700 (PDT)
Received: from mail-it0-x22d.google.com (mail-it0-x22d.google.com [IPv6:2607:f8b0:4001:c0b::22d]) (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 C6DF412F295 for <rtcweb@ietf.org>; Fri, 14 Sep 2018 03:02:39 -0700 (PDT)
Received: by mail-it0-x22d.google.com with SMTP id h1-v6so1810271itj.4 for <rtcweb@ietf.org>; Fri, 14 Sep 2018 03:02:39 -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=vy6egG7Pf9/ImMJAw8bKj4sYYami9lqY8zeSXHfLX30=; b=pKKr8KThuAKCwlAOGCQ45tJLnwgN/0TFthD3sORL95Xtb48yvK3o7TIeYaif1dffCN qUnTDb7/0E13JNWRsBGZoLxTMJjcLhpLdSQAKZ8Zn6NLw7sx6Q3IRc6uHtoAnXweJanV 0T0VDfcZRcb/JiH+aCdZ2cisR3UlVpd8xE19TlMvKmPJsbW2z4SDZfa881Y3cWRAEC6q cFlkAunvvIDLq1qiH7g3Jw7RkMUICFpHPJVyEeOE4mQgXe1hG4KargqpdGJIywz9DXrL 3Iom+wDMjKAinq9U420L1SwRLr0K8rgnALyVX0LSQnfvvFeJY1yBtdFsWSX6Bgecb3JX IR/w==
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=vy6egG7Pf9/ImMJAw8bKj4sYYami9lqY8zeSXHfLX30=; b=mrAaY8PAlP10C4d0MZ9rZe4ooKtf7K/abwwkb6Qpurh+ODNovmsMLu/TVE+vaZv+6c NgzLiSAeSCjaZuZK7zMXO55gew2BpGLOVcYLJAa/5q8h9W0+EGhXUt7I4i8R/WyIyzKS zLO9s7eRE9DRYIiRfwdsIVTIWff2H4SJCEb/Le/Y9m9V8a3Eu5+iYZNFXjkBSGdBwoq1 v1HJyz4txLvpSggoJERJDyzPTqfFdJyyN3KzrhlrHdjekkduU9zHF/k3BENbP0guNXgd P3dK2T32nZxHNUxXJ1exUPsjnOQUf/UNi54Sgg6D60PAIczVPfI99Cg8KXI65Rvi1vUp bB6w==
X-Gm-Message-State: APzg51BikgS3lwIhV6kRnZNmy0+48FJeOqVsEwx4rrwVL2bHvn/7j4BV /sobanLdhkoHYzioRikUbPkaJ8xeOXX0CsJ0j7ZVqg==
X-Google-Smtp-Source: ANB0Vdb1+a0K3MqKEgKXi6Y6BsQd37yMlt9IN+DphVkKLnRx4p4SYIAnIqZh+nCROAUMqvbp3jAhF4BYP53VkUYbAMc=
X-Received: by 2002:a24:b101:: with SMTP id o1-v6mr1550553itf.121.1536919358968; Fri, 14 Sep 2018 03:02:38 -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> <CAO5ixTEAR5xMZrxr90G_Nn5sEhvOU4+Mo50=oH6KSJbeiYVvLA@mail.gmail.com> <8827440f-667c-ee0a-f971-93457a802bf9@gmail.com>
In-Reply-To: <8827440f-667c-ee0a-f971-93457a802bf9@gmail.com>
From: James Pearce <james@jamesandjo.com>
Date: Fri, 14 Sep 2018 11:02:22 +0100
Message-ID: <CAO5ixTHu4oNi9MsRgd6uJezmSzfQX0892_16YvSHthH9D_qE3w@mail.gmail.com>
To: lennart.grahl@gmail.com
Cc: RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000070acc60575d1ec24"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/EOY37eDXytg6c1S7oZEmVTS2IbQ>
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: Fri, 14 Sep 2018 10:02:42 -0000

That's correct, but Firefox chooses the wrong default route. That's the
existing bug.
All browsers except Firefox use the route to the origin as the default
route (which is now in the spec).
So what I'm seeing is expected given that bug exists.

James

On Thu, 13 Sep 2018 at 17:47, Lennart Grahl <lennart.grahl@gmail.com> wrote:

> That sounds like a result of mode 2. I assume Firefox collects the
> address of the default route first and then talks to all the STUN/TURN
> servers provided via that interface only. If the VPN's address is not
> the default route and the TURN server is only available in the VPN, the
> TURN server cannot be reached.
>
> I'm actually not sure what's correct in that case. But if the TURN
> server is reachable via multiple interfaces, the public IP from both of
> your interfaces would leak. So, I guess Firefox is correct and Chrome
> shouldn't reach the TURN server either?
>
> By the way, 1000% agree that we need a proper way to access mode 1 for
> other use cases.
>
> Cheers
> Lennart
>
> On 13.09.2018 17:27, James Pearce wrote:
> > 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
> >>
> >>
> >>
> >
> >
> >
> > _______________________________________________
> > rtcweb mailing list
> > rtcweb@ietf.org
> > https://www.ietf.org/mailman/listinfo/rtcweb
> >
>