Issue metadata
Sign in to add a comment
|
Connect to TURN servers through HTTP proxy
Reported by
balwant....@gmail.com,
Jul 21 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 Example URL: https://apollo-lt.bbcollab.com/collab/ui/session/guest/15f36c3c984a4c9d9e8e1e6540891445 Steps to reproduce the problem: 1. Enter name 2. Join the session What is the expected behavior? WebRTC connection should establish with media server What went wrong? Corporate networks offer connectivity only via web proxy and the DNS servers only return results for servers on the internal network. WebRTC connection is not establishing via TURN server on port 443 Did this work before? N/A Chrome version: 59.0.3071.115 Channel: stable OS Version: 10 Flash Version: Shockwave Flash 26.0 r0
,
Jul 21 2017
,
Jul 26 2017
,
Jul 26 2017
We are able to connect WebRTC connection via proxy using TLS. But the problem now is, Chrome not trying to connect to PROXY server until TURN hostname is resolved, we have to add TURN IP entry in HOST file to make it work but that is not a feasible solution. This DNS lookup issue is only happening in case of TLS, in normal case Chrome is able to connect to PROXY server, but proxy is dropping the packets from TURN server.
,
Jul 27 2017
Unable to triage this issue from TE-End, adding "TE-NeedsTriageFromMTV" label for further triage.
,
Aug 9 2017
Any update on this?
,
Oct 12 2017
Ping for triaging.
,
Oct 12 2017
WebRTC ultimately should be using "GetBrowserContext()->GetResourceContext()->GetHostResolver()". Will this end up going through the HTTP proxy? What's the easiest way to test/verify this? CCing some people who may know. Also, question for the reporter: when you say "the issue is only happening in case of TLS", do you mean a TLS connection to the TURN server, or to the HTTP proxy?
,
Oct 12 2017
TLS connection to the TURN server using TURNS URLS
,
Oct 12 2017
Thank you for providing more feedback. Adding requester "deadbeef@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 12 2017
> WebRTC ultimately should be using "GetBrowserContext()->GetResourceContext()->GetHostResolver()". > Will this end up going through the HTTP proxy? What's the easiest way to test/verify this? CCing some people who may know. I don't believe the net::HostResolver will go through an HTTP proxy. HTTP proxy resolution should be done prior to resolving host names.
,
Oct 12 2017
I'm a bit confused now. If net::HostResolver doesn't go through an HTTP proxy, what host resolver does? And does webrtc need to do something to trigger HTTP proxy resolution? Does this normally happen automatically when we try to send packets?
,
Oct 13 2017
> I'm a bit confused now. If net::HostResolver doesn't go through an HTTP proxy, > what host resolver does? net::HostResolver resolves hosts. For normal net::UrlRequests, if proxy resolution determines a proxy should be used, then the net::HostResolver will be used to resolve the host of the proxy (not of the intended destination), and the proxy will handle communication with the intended destination (including, if necessary, host resolution). > And does webrtc need to do something to trigger HTTP proxy resolution? > Does this normally happen automatically when we try to send packets? WebRTC uses ProxyResolvingClientSocket to tunnel through proxies. +asanka@ who fixed the case where the proxy needs auth in Issue 439560 in January.
,
Oct 13 2017
Ok, I now see that if the net::HostResolver fails, webrtc will fall back to creating a socket that connects via hostname, which is expected to do what you describe: https://cs.chromium.org/chromium/src/third_party/webrtc/p2p/base/turnport.cc?q=turnport.cc&dr&l=715 And it looks like ProxyResolvingClientSocket is used for TURN TLS sockets. I tested this by hacking chromium/webrtc to always fail the initial address resolution, and only use TLS TURN servers, and it seems to be working with the link you provide (resolving the address through the proxy server). Is there any information I could be missing? Have you tried testing with a Canary build? Could be it an issue with the proxy server itself?
,
Oct 24 2017
I believe this was due to a webrtc bug that was fixed. Especially given the fact that you said it only occurs for TURN over TLS, which is a property of the webrtc bug. See https://bugs.chromium.org/p/webrtc/issues/detail?id=8102
,
Oct 24 2017
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by balwant....@gmail.com
, Jul 21 20175.8 MB
5.8 MB View Download