问题标签 [coturn]

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 回答
3304 浏览

stun - 手动将 TURN 用户 (Coturn) 插入数据库

我正在尝试为使用 Coturn 的项目设置 TURN 服务器,但我发现文档充其量是粗略的......

我意识到有一个turnadmin工具可以为你做这件事,但我更喜欢直接在我的数据库上运行查询。这是一个可能有许多用户的应用程序,他们的共享密钥 ( hmackeyin turnusers_lt) 可能会更改(为了不与应用程序共享密码,该应用程序使用“假”密码,该密码是某些易失性用户参数的哈希值,这些参数不是如此秘密)。

我可以从很少的文档中收集到hmackey是使用领域、用户名和密码计算的:

鉴于我的代码将知道这三个参数,我如何构建 hmac 哈希?例如在 PHP 中我有

$algo这里应该是SHA1,但是什么值会进入$data(例如用户/通行证的连接)和$key(例如领域)?

还有一个turn_secret表列出了领域的“值”,我猜这应该用作$key上面示例中的值,但是当我调用 turnadmin 时,添加和修改键仍然给出相同的结果。

本质上,我想做的是(伪代码):

...然后在客户端,我现在应该能够使用$name$coturn_pw作为my.realm.com.

还是我想太多了,我应该为我的应用程序使用通用用户,硬编码密码并让 Coturn 弄清楚谁在和谁说话?

0 投票
1 回答
1251 浏览

webrtc - WebRTC 不能在 VPN 后面工作

视频聊天适用于大多数用户,但我无法与我网站的一位用户进行视频聊天。她看不见我,我也看不见她。

我没有任何详细信息,例如在 SDP 协商中失败的原因,或者她与我们的 TURN 服务器 (coturn) 的连接失败,但希望有人使它适用于 VPN 用户并对此问题有答案.

0 投票
1 回答
8498 浏览

networking - CoTURN:STUN 有效,但 TURN 无效

我现在尝试配置 CoTURN,但我遇到了一些问题。

使用 STUN 我没有麻烦,当我测试 TURN 时,我在浏览器中收到错误:“ICE 失败,请参阅 about:webrtc 了解更多详细信息”。

现在我想测试匿名 TURN。我的配置是:

我在 js 中的对等配置:

日志返回我这个:

请帮帮我。我犯了什么错误?

0 投票
1 回答
1877 浏览

ssl - TURN 服务器使用 https 连接进行管理会话

我已经安装了 TURN 服务器。并且APACHE也安装在那里。还安装了 SSL 证书。该网站运行良好,我输入https://www.domain.comhttps://domain.com

但是,如果我只键入 www.domain.com 或 domain.com,它会说“TURN 服务器使用 https 连接进行管理会话”。

我想要的只是,如果有人键入没有 HTTPS 的 URL,它会将其重定向到 HTTPS URL。

它是一个还安装了 TURN Server 的服务器(再次重复)

0 投票
1 回答
1891 浏览

webrtc - 当 coturn 在像 nginx 这样的 udp 负载平衡器后面时,身份验证失败

这可能是一个非常简单的问题,因为我是关于转向服务器的新手。我想在 nginx 等负载均衡器后面运行 coturn 服务器。

我的情况是:

  1. 我在 192.168.1.10 的服务器上有一个 nginx 负载均衡器。并监听端口 3478 的请求。此服务器还具有公共 IP 地址,例如 82.222。.
  2. 我有一个转向服务器(coturn),它是 192.168.1.11。并在端口 3478 上运行(此服务器与负载均衡器位于同一网络中)
  3. 我正在测试我与此站点的转向服务器连接:https ://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

我的问题是:如果我在不使用负载平衡器的情况下从我的公共 IP 地址到 coturn 服务器进行 nat 端口转发,则连接测试执行成功。但是,如果我使用 nginx udp 负载平衡方法将请求重定向到我的轮服务器,连接测试将返回“身份验证失败”错误。

对这个问题有什么想法吗?对此问题的任何帮助表示赞赏。

0 投票
1 回答
2298 浏览

webrtc - 在 TURN 配置中无法访问 NAT 后面的 Coturn

我正在尝试在 NAT 后面的服务器中安装一个coturn,所以我按照Kurento 文档给出的说明使其在 NAT 后面可以访问。

问题是当我用Trickle ICE测试它时,我有一个“无法访问?” 结果(见下图)

非常感谢任何帮助。

图片 : 用 ICE echanges 说明的 coturn 错误

谢谢你

0 投票
0 回答
81 浏览

webrtc - TURN 服务器可以创建多少个分配?

我说的是 Nat Traversal。服务器的 UDP 端口号是有限制的。所以我认为 TURN 服务器总共可以创建 64k 分配,这意味着一次只有 64k 客户端可以通过 TURN 服务器与其他对等方通信。
有没有办法打破限制,让更多的客户端在不导入更多 TURN 服务器的情况下进行通信。

0 投票
2 回答
3397 浏览

ubuntu-14.04 - 安装 rfc5766-turn-server,尝试将 fd 绑定到: 错误号=99

我使用的是 Ubuntu 14.04(实际上是 Azure VPS),所以我必须安装 rfc5766-turn-server 而不是最新的 coturn 版本。我已遵循本指南

在最后一步,我无法启动 turnserver。我的启动命令:

我从日志中得到:

我已经尝试从命令中删除监听 IP(-L 参数),然后 turnserver 可以启动。但是,在这种情况下,turnserver 只会监听本地 IP 地址。我怎样才能让它监听公共 IP 地址?

0 投票
1 回答
1716 浏览

cordova - 如何修复不可靠的 WebRTC 调用?

WebRTC 调用在我们的应用程序中并不可靠。有时我们会看到黑屏,有时我们根本看不到通话开始,有时会看到巨大的延迟或音频/视频不同步。

设置:

几乎100% 重现的问题是从 LTE 上的一个客户端呼叫 Wi-Fi 上的另一个客户端。在这种情况下,我们在两个设备上都看到黑屏,但是,默认的 bg-color 是白色的,所以至少 WebRTC 端发生了一些事情。

为解决问题所做的工作:

  • 检查 Coturn 日志......有时我们会在那里看到“未经授权”的错误,但很难说它们是否会影响任何东西;
  • 检查 Coturn 的流量:在 Wi-Fi 到 Wi-Fi 的情况下,它的流量很低,因此确实建立了点对点连接。如果有 LTE,我们会看到大约 40–120KiB/sec 的负载(对于音频/视频来说这不是太低了吗?),所以 TURN 似乎可以工作;
  • 检查客户端应用程序日志,没什么特别的;

请提出任何可能的研究或修复方法,以使 WebRTC 尽可能可靠。

0 投票
3 回答
8200 浏览

amazon-web-services - Coturn 服务器 - 中继不工作

我正在尝试为基于 WebRTC 的应用程序设置 COTURN 服务器。但是,我遇到了一些我无法理解的错误消息,并且在互联网上找不到任何帮助。

以下是有关该应用程序的一些详细信息:

  • 两个用户登录到应用程序,其中一个用户可以与另一个用户共享他们的屏幕 - 所以流只在一个方向上

  • 我能够让应用程序在 Intranet 和一些外部网络上运行。所以我相信只要 STUN 模式足够,应用程序就可以正常工作。

  • 对于某些网络,STUN 候选者不断失败,所以我需要一个 TURN 服务器来中继流。

我已经从服务器收集了一些服务器日志,以防有人可以根据它们识别问题:

这是我的turnserver.conf文件的外观:

我特别关心以下几点:

  • 我是否应该假设由于我的代码与 STUN 服务器一起使用,它也可以与正常工作的TURN 服务器一起使用?因此,错误意味着问题出在 TURN 服务器上?

  • 我可以看到一些错误说明“分配超时”。这是否意味着任何可能不足的 RAM/CPU/网络分配?

  • 一些请求的用户名部分为空'<>'而不是'',然后是'401 Unauthorized',而我已经三次检查了RTCPeerConnection配置-它们确实包含用户名和密码。

  • 除了上面的日志,我还经常看到“438 Wrong nonce”出现。我对此进行了一些搜索,但这似乎不是我可以通过 JS 控制的东西。它与任何服务器配置有关吗?

谢谢!感谢你的帮助。