Re: [rtcweb] Mode 1 and getUserMedia

Lennart Grahl <lennart.grahl@gmail.com> Thu, 13 September 2018 16:47 UTC

Return-Path: <lennart.grahl@gmail.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 93CB8130DD8 for <rtcweb@ietfa.amsl.com>; Thu, 13 Sep 2018 09:47:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 QSj9YcstyZhi for <rtcweb@ietfa.amsl.com>; Thu, 13 Sep 2018 09:47:11 -0700 (PDT)
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) (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 56D0B1294D0 for <rtcweb@ietf.org>; Thu, 13 Sep 2018 09:47:11 -0700 (PDT)
Received: by mail-wr1-x42d.google.com with SMTP id v90-v6so6899610wrc.0 for <rtcweb@ietf.org>; Thu, 13 Sep 2018 09:47:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:openpgp:autocrypt:cc:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=TLIzvyk1YtyR6wypD92UP+nqbkfu44KIMj4QDRQQVes=; b=Navmc1UCw7w9c/MeBohkh7hwnEDGAMMeN+pXH1qlX8DIJXs5jLcmZ4hZFpDX8rHuV9 k/Np5AP/R21pAs9uliITpukEE9pQzsUtjcpXG/pz0spBVe7YtjR19rhefnMIBzvAoEiz hReOoJTtnSYRujSgmrnVko1MI/XjF5r+J7bIa8x2a93Dma+8LzoBnqouy2nB2lhR+K4J 1hBVsrugZ/WmEvZ1bWw+fzDU9c5Pd04nFqztQd+KsTvWKyzp4yqlXw6+5KgJjzkhwKyf LgUhKoEmwyCn6qo6msaXd7/cUOD4cjEpZ2TDxPsnqDPjPnI+TLcoT28dQj7BQIVarxkC mrbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt:cc :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=TLIzvyk1YtyR6wypD92UP+nqbkfu44KIMj4QDRQQVes=; b=lhs5yjJjbbVU1V82Llin0ymEmkOZ4z6kc9BMEjU8BFMylFJYevtRrIrK57xFNy6FI9 eX+ffW09v941FAb9AhZslp5S959SjtTDfassQ0LS6enpDAYws2FBqTlaq2nnc483AvUd wPi+ki0QX2fL4ebo3U/ibnsGu59IoBhj3/jKbmo9TfkqCPo9Koxlf5v5aFBfhDGza08l K4QKHozEpfRI2ETb8IxX88DgdB9/LbH735VfhcRhp1mFaV0FNzJ1T5JRy6K+ot34Q+Go 2hAj4bA/Jl6xheeC8BmdCAOXWqRzVPF5O1PqLH7aZQ6Ikmyz3ZtLDOkOxik2G9+qBL07 1TQg==
X-Gm-Message-State: APzg51Cx5d503IY+FRkFzj+nCe+nKHeSIX9N+XL39mLSrx6YVIrxuA/T lWPXJc7WsW7UHuRfYukNuilgf8cO
X-Google-Smtp-Source: ANB0VdZKiaUn8/gDfGvNjJ9Odx7R4gWXbJg6ebsAU3WopmVpA3gLf2sJzs/iRY2CnVMw+dbmk1UYvA==
X-Received: by 2002:a1c:f30d:: with SMTP id q13-v6mr5786046wmq.36.1536857229505; Thu, 13 Sep 2018 09:47:09 -0700 (PDT)
Received: from [10.26.2.1] ([31.10.151.172]) by smtp.gmail.com with ESMTPSA id u40-v6sm7551802wrc.43.2018.09.13.09.47.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Sep 2018 09:47:08 -0700 (PDT)
To: rtcweb@ietf.org
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>
From: Lennart Grahl <lennart.grahl@gmail.com>
Openpgp: preference=signencrypt
Autocrypt: addr=lennart.grahl@gmail.com; prefer-encrypt=mutual; keydata= xsBNBFMHjy4BCADZR/nHk6jzDsEA2+dPG13NiXyBl34TtChDsZekZyO5jBgwslLgHVksQxlS 79n1lvVH0MxcI8SFifwLAAIjMfukNLGPAjEyJEQhQVpfXxkJXyZgncM2Wq+nlVCDZTiZLg/E 6jJP1zx9vB7sf5dWaB/Dt0YDHLM86EcDChQur9lrJk9K0Jiwt27Oo3B4FFfIOaVNUXgnRPbr Vw1/+O2jLg87Fsib9LP7Ghyv0Z2/VV7wJ4NLsLmIu60vcZVDYDOvcQRH4FZ76VBvlmlO+2TL 5L6yZLGgXS9GZyF3QXKAwhYqu5ouWEOUgXHch5deryjbENanimj4ntZQmF1nkxSZayk9ABEB AAHNJ0xlbm5hcnQgR3JhaGwgPGxlbm5hcnQuZ3JhaGxAZ21haWwuY29tPsLAfwQTAQIAKQUC UwePLgIbIwUJCWYBgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEPmPvtEEgqumkk0H /2dMGPa9VmgR0kmr2inGODWuCy4WXNUxeEMfY/Hob/8Ou50os6iK35TQI9WtvvlAq23aIvoJ +1OjnqekgKmavPoQ0Uf1h2LegiQNKpDGC6/S33SLitQoQyELyJCU5Ato9lIL0AzpLvr+8UaF plWbPB4Z0GfZGBQSyp0Dmdeb00sld378m9qXHByJfHjPGiDFY+el1talbCuxS87+SvwIvM05 5m1/ceJbZDjx3trvgzbSQOHMT82/Hva7cSyVAch7mJc/lIq2Q0hjoZlD9nqS6gVJ9PQnEW8z dAXXVvBoy9DtomH18jimq+xUxeBwiFRB64gZx3Yyo1CKgULzeWaQ/qfOwE0EUwePLgEIAKP+ Dw5Ow5QuITKcI+ooXZAOBCBOitdsAGrGAEORjv1VyYU1jvjNb07UlRWmpjtaZsQoC2DwfEJy OaBphhErkOVEHCvetfBq8aJ718on4A49XwyQZeyh521BvLQUj0VY5D1iTYzgNVr4Ic39duH/ 00b489Wf9sM7TwzONJOCR5pSKUzYfGUIfQIJRc4tbzOM+bzSknLwbYAWRraOstbRjf2+V3pf 46mzv8tteLnsMm91qshFUwiBfeMNZiKAM3eid80ghlEbQo5J07FOrqK1GxqMi8LQT/oA5lpu +BB6UzGP5nQ5fip95zAq3vu+Iasz1DWj6F1HkHDEHfdtVpTAN70AEQEAAcLAZQQYAQIADwUC UwePLgIbDAUJCWYBgAAKCRD5j77RBIKrpihiCACQq7ARCPSzDrtUcq3uTdP+fMHp8YCYD4UD fdt3vcw4a5JESaknUcWi7CbQrdcLT7iIFYa3pk5I8w4n2lH29uUTWwt9boDtdYkBY5a4Rg+m Z9ndsLh0fHdZM6BXv/6gWMMdGbV5+xcV0FDcXZIlHLZIriDgeZQR3cDEa9lFWUYrI9KKmdoq ngaND7jPZaMCyvn9VDOAGBWxg49gQV/x1d+DiIyMbF9J+ya4YqaSZtu2y/H03eVCawmI6SMH UzdOo+Yqen3Udcdur0KnWMUOP3FIdjgxaPoIEKfFTBy7n8rlzrrTzyrv5Gouusxj0JHMwvuh ixK1bmVy/XYqoG0TVwBt
Cc: James Pearce <james@jamesandjo.com>
Message-ID: <8827440f-667c-ee0a-f971-93457a802bf9@gmail.com>
Date: Thu, 13 Sep 2018 18:47:08 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <CAO5ixTEAR5xMZrxr90G_Nn5sEhvOU4+Mo50=oH6KSJbeiYVvLA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-GB
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/R25v0Px1CFvpOQCJDFIZoouB7QA>
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 16:47:14 -0000

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
>