Closed Bug 1730366 Opened 4 years ago Closed 4 years ago

WebRTC/TURN doesn't work if HTTP proxy is used

Categories

(Core :: WebRTC: Networking, defect)

Firefox 91
defect

Tracking

()

RESOLVED DUPLICATE of bug 1702417

People

(Reporter: a.huegen, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0

Steps to reproduce:

  1. Configure manual proxy in Firefox settings (e.g. 127.0.0.1:8080)
  2. Use Trickle ICE demo (https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/) with a TURN server and TCP transport (e.g. turn:myturn:3478?transport=tcp)

Actual results:

Firefox neither tries to connect to the TURN server via the configured proxy nor by directly connecting to the TURN server.
Thus it is not possible to gather ICE candidates for a TURN relay connection and WebRTC media connections fail, if you are behind a proxy.

I was able to reproduce this on Windows 10 and Ubuntu Linux.
You can observe this behaviour by sniffing the TCP traffic with wireshark and compare this to Chrome where a proxy works fine.

The "about:webrtc" protocol show some "NS_ERROR_CONTENT_BLOCKED" errors which might be related to the bug.

+++++++ BEGIN (process id 13424) ++++++++
(generic/EMERG) Exit UDP socket connected
(ice/INFO) /builds/worker/checkouts/gecko/dom/media/webrtc/transport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:184 function nr_socket_multi_tcp_create_stun_server_socket skipping STUN with different IP version (6) than local socket (4),
(ice/WARNING) /builds/worker/checkouts/gecko/dom/media/webrtc/transport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:623 function nr_socket_multi_tcp_listen failed with error 3
(ice/WARNING) ICE(PC:{168a5db9-46af-4bf1-ad3b-c575378acc60} 1631393552903000 (id=4294967626 url=https://webrtc.github.io/samples/src/content/peercon): failed to create passive TCP host candidate: 3
(ice/INFO) ICE(PC:{168a5db9-46af-4bf1-ad3b-c575378acc60} 1631393552903000 (id=4294967626 url=https://webrtc.github.io/samples/src/content/peercon): Skipping TURN server because of address type mis-match
(ice/INFO) /builds/worker/checkouts/gecko/dom/media/webrtc/transport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:184 function nr_socket_multi_tcp_create_stun_server_socket skipping STUN with different IP version (6) than local socket (4),
(ice/WARNING) /builds/worker/checkouts/gecko/dom/media/webrtc/transport/third_party/nICEr/src/net/nr_socket_multi_tcp.c:623 function nr_socket_multi_tcp_listen failed with error 3
(ice/WARNING) ICE(PC:{168a5db9-46af-4bf1-ad3b-c575378acc60} 1631393552903000 (id=4294967626 url=https://webrtc.github.io/samples/src/content/peercon): failed to create passive TCP host candidate: 3
(ice/INFO) ICE(PC:{168a5db9-46af-4bf1-ad3b-c575378acc60} 1631393552903000 (id=4294967626 url=https://webrtc.github.io/samples/src/content/peercon): Skipping TURN server because of address type mis-match
(generic/INFO) Write buffer not empty for IP4:0.0.0.0:443/TCP 44 - already armed (@225d2b69de4), not connected
(generic/ERR) NrTcpSocket::OnClose 225d2b67a00 reason=2153644038 name=NS_ERROR_CONTENT_BLOCKED
(generic/ERR) NrTcpSocket::OnClose 225d2c82e00 reason=2153644038 name=NS_ERROR_CONTENT_BLOCKED
(generic/INFO) Write buffer not empty for IP4:0.0.0.0:443/TCP 44 - already armed (@225d2c885e4), not connected
+++++++ END (process id 13424) ++++++++

Expected results:

Firefox should use the configured proxy to connect to the TURN server and gather an ICE candidate of type "relay".

The Bugbug bot thinks this bug should belong to the 'Core::WebRTC: Networking' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → WebRTC: Networking
Product: Firefox → Core
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.