问题标签 [turn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6735 浏览

javascript - WebRTC:确定在 PeerConnection 中使用哪个 TURN 服务器

场景:您想知道 TURN 服务器是否正在用于特定调用,以及您在创建 PeerConnection 期间提供的 TURN 服务器阵列中的哪一个正在使用。目前有两种选择:

  • Wireshark:但是当你在公司代理后面并且 TURN 服务器在外面时,wireshark 会显示代理 IP 作为目的地。(更不用说在后台运行它的不便)
  • 浏览统计页面并找出,chrome --> chrome://webrtc-internals 和 Firefox --> about:webrtc

我想使用上述两种方法的替代方法,以编程方式确定这一点,这样我就不必离开我的应用程序页面。

0 投票
2 回答
767 浏览

c# - 使用 TURN 服务器进行 peer-2-peer 通信

我对 TURN 很陌生,我想创建一个需要 TURN 服务器进行 udp 通信的实验性应用程序。

我已经使用过 UDP 打孔,并且我对这个主题很熟悉。我也知道 NAT 类型和 UPnP 用于端口映射。

要使用没有 UPnP 功能的路由器解决对称和端口受限 NAT 中的端口映射,我必须与 TURN 服务器通信并通过它发送 UDP 数据包。但我不知道如何与 TURN 服务器通信以及如何使用它C# programming.

如果您能指出正确的方向并给我一些指示,我将不胜感激。

谢谢。

0 投票
0 回答
239 浏览

amazon-ec2 - EasyRTC Amazon EC2 TURN SRV

我最近在亚马逊云服务器上安装了 easyRTC。当我在呼叫和被叫屏幕上从相同的互联网提供商连接时,视频效果很好,但是当我从不同的互联网提供商连接时,我没有视频,只是黑屏。

有人有什么解决办法吗?

0 投票
0 回答
652 浏览

javascript - Nginx:代理转向请求

我正在托管自己的 TURN-Server,并且已将 NGINX 配置为我的 Web 服务器。

这是我的问题:

我有一个 JavaScript WebRTC 客户端,它需要为 ICE Candidates 调用一个转向服务器,所以我的 TURN-Server 在 40501 端口上运行。

不幸的是,在 JavaScript 中,我收到了 Cross Origin Request Blocked 错误!

这里是 NGINX 寻求帮助的地方。我将 NGINX 配置为侦听端口 40500 并将请求代理到运行 TURN-Server 的端口 40501,如下所示:

但这对我没有好处。我无法通过 NGINX 连接到我的 TURN-Sever。我究竟做错了什么?提前致谢!

0 投票
0 回答
51 浏览

android - 回合制多人游戏 - 谷歌游戏挂起?

我编写了一个基于回合制的多人游戏,围绕 tbmp 骨架应用程序构建。一切正常……通常。但是,有时会挂起:

我所看到的(当这种情况发生时,通常不会)是纺车。我可以回到调用它的屏幕,然后单击另一个按钮开始一个新游戏(例如),这很有效。所以我的连接似乎不是问题。但是如果我重试这个,我会得到微调器。最后,“修复”它的唯一方法是重启手机。(也就是说……登录和退出 Google Play 无济于事。退出应用程序无济于事。)

有任何想法吗?谢谢。

0 投票
1 回答
258 浏览

webrtc - WebRTC 调用中的 ICE 连接

在 Webrtc 调用中,我使用 sip 信令和 sdp 进行媒体参数协商。

在通话开始之前,我进行了一个 stun-bind 事务并获得了自反候选人。除了基础和主机候选人之外,我还把这些反身候选人放在了 sdp 中。

一旦我们为 Invite 获得 200 OK,我们就需要启动媒体。对于媒体开始,我需要知道我需要使用哪个候选对。

我希望确定我需要使用哪个候选对,我们需要进行连通性检查。我不确定如何进行连接检查(例如要发送的消息……等)。

有人可以帮助我理解这一点。

还有一个开源(c,基于 linux),它提供了 ice/stun/turn 支持。

0 投票
1 回答
4468 浏览

webrtc - STUN/TURN 服务器的 Kurento 问题

所以我遇到的问题是 WebSocket 连接正在我的 KurentoMediaServer 上工作,但没有数据被传输(空的远程 URL)。我知道这是因为我的 KurentoMediaServer 在 NAT(谷歌计算服务器)后面运行,但我使用的 STUN/TURN 服务器似乎没有工作。

这就是我的 WebRtcEndpoint.conf.ini 的样子:

我已经测试了这个暂时打开所有端口的方法,看看这是否是问题所在,但事实并非如此。test%40gmail.com 也是我的 numb TURN 注册用户名,testpassword 是我的密码。

我还应该提到,我的 KurentoMediaServer 和应用程序(java 服务器)在同一个 NAT 后面运行,但我的网页在单独的网络上运行。为了让我的网页从我的应用程序和 kurento 媒体服务器运行单独的 NAT,我需要对 Kurento-Utils.js 做些什么吗?

0 投票
1 回答
312 浏览

testing - 测试 STUN/TURN/ICE 协议的框架?

我需要测试 STUN/TURN/ICE 协议,是否有任何现有的测试框架。就像 SIPp 可以测试 SIP 场景一样,建议任何与 STUN/TURN/ICE 协议类似的东西。

0 投票
2 回答
17186 浏览

amazon-web-services - 测试 TURN 服务器的简单方法

我正在查看这个站点,它应该是测试 TURN 服务器的表(根据这个这个答案)。

plugin.temasys.com.sg/demo/samples/web/content/peerconnection/trickle-ice/index.html

我输入了我的服务器信息,但找不到任何东西来确定服务器是否正常工作。即使没有选择服务器,ice 候选部分看起来也一样。

我的 TURN 服务器安装在 Amazon EC2 上。我在这里按照 coturn 存储库中的安装说明进行操作:

github.com/coturn/coturn/blob/master/INSTALL

以下是我在执行命令启动 TURN 服务器时在服务器中得到的内容,从这里开始

它似乎正在工作,但我怎么知道?我为我的无知道歉,我已经阅读了很多关于这方面的文档,我无法跟踪所有内容。

编辑:嗯,事情正在发生:)

每当使用上述网站时,我现在都会在我的回合服务器上收到这些:

编辑 2:我删除了 ubuntu 部分,现在收到似乎是成功的响应。仍然不知道这意味着什么,但这是一个开始:)

0 投票
2 回答
1002 浏览

google-chrome - WebRTC 连接 - 同时 STUN 和 TURN?

2 台不同的计算机,2 台 Chrome,2 个不同的网络。

我正在上述 2 个对等方之间进行 WebRTC 调用,并使用getStats()检查连接。问题是,在一个 Chrome 中,它在“connection”属性中显示“ turn ”,而在另一个 Chrome 中,它显示“ stun ”。

那可能吗?我以为你要么通过一个或另一个连接?