问题标签 [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 投票
1 回答
8445 浏览

webrtc - ICE失败的原因是什么?

ICE失败的可能原因是什么?

我对失败的情况特别感兴趣——当添加所有远程候选者(带有中继候选者)时,远程提供/应答 SDP 集。

0 投票
0 回答
299 浏览

android - WebRTCDemo apk 从 STUN/TURN 服务器获取错误地址

http://www.webrtc.org/native-code/android之后,我构建的 WebRTCDemo apk 在我的 android 设备上运行良好,并且可以使用 Chrome 启动视频通话。问题是 1)apk 在不同的 LAN 中无法与对等方建立连接,2)但是两个 Chrome 可以成功启动 p2p 呼叫。

检查日志后,我发现 apk 给出了错误的候选传输地址。我的私人地址是 10.10.10.108,公共地址是 112.10.45.196,apk 会向房间服务器发送以下传输地址:

所以奇怪的是apk在哪里学习了这些两个地址:

使用 WireShark 嗅探流量后,我没有发现任何线索,TURN/STURN 服务器以正确的值响应。

所以有人知道为什么吗?

0 投票
1 回答
1895 浏览

objective-c - Twilio - STUN / TURN URL

我想在我的 iOS 应用程序中对 Twilio STUN/TURN 进行测试,目前正在使用另一个框架进行 WebRTC 视频连接。

以下是我在框架中使用的 STUN / TURN 设置。我查看了 Twilio 文档,但似乎找不到连接所需的 URL,或者在我的情况下我将使用哪些登录凭据来部署他们的服务,如下所示:

有 Twilio STUN/TURN 经验的人知道我在哪里可以找到这些信息吗?

0 投票
1 回答
246 浏览

jquery - XirSys $.ajax() 方法返回状态 400,错误:无法验证应用程序

我正在按照 Sam Dutton 教程开发自己的 webRTC 应用程序,我正在使用 xirSys 为我的点对点视频提供 TURN 服务器。但是$.ajax()方法没有像我预期的那样返回凭据、用户名、url。我也尝试使用dataType: JSONP. 从 firebug 调试时返回的响应是:

{"p":"/getIceServers","s":400,"d":null,"e":"无法验证应用程序"}

无论如何,我可以获取我的urlusernamecredential作为JSON并直接在我的应用程序中使用它们而不会出现任何错误,因为即使 url 命中的状态是 200 有时在$.ajax()调用时仍然存在语法错误?

0 投票
1 回答
677 浏览

webrtc - 关于通过 REST api 进行 TURN 服务器身份验证的说明

我正在阅读这份草案以了解使用 REST api 访问 TURN 服务。经历过之后我有点困惑。

目前,我正在使用带有Redis数据库的长期凭证机制对我的 TURN 服务器进行身份验证,但我没有使用实际的用户名和密码,而是使用身份验证令牌(在 8 小时内到期)和随机字符串作为密码。

我对草案的怀疑是:

  • 响应中ttl收到的从未使用过(至少不是其中的一部分RTCPeerConnection)。那么 TURN 究竟是如何知道用户何时到期的呢?
  • 我在参数中看不到turnserver指定时间戳格式的选项,ss 它是固定的 UNIX 时间戳吗?
  • REST api 实现是否比我的实现有任何优势(考虑到矿井不依赖于 webrtc 服务器和 TURN 服务器时间之间的同步这一事实)
0 投票
1 回答
5736 浏览

javascript - 使用 REST API 身份验证的 WebRTC TURN 服务器

我正在尝试从此处为 webRTC 设置 rfc5766-turn-server TURN 服务器。turnuserdb.conf我能够使用包含我的用户名和密码 (my_user_name:my_password)的文件通过此 TURN 服务器成功转发我的视频。在网络客户端我使用:

我正在尝试使用 TURN 服务器附带的 REST API 功能来避免通过网络发送密码或将其存储在客户端。我在 Rest API 下遵循了这个规范这个解释

但是不幸的是,我得到了401,我无法进行身份验证。

这就是我所做的:

  1. 我创建了一个秘密“my_secret”,然后像这样运行转向服务器:

    (我只是用 替换了 IP 地址xx.xxx.xx.xx yy.yyy.yyy.yy zz.zzz.zz.zzz

  2. 后来我生成了一个现在 + 1 小时的时间戳,所以我在 nodejs 上运行:

    我在这个网站上生成了临时密码,使用我的秘密,得到了结果0ca57806bdc696b3129d4cad83746945b00af77b

  3. 我将密码编码为base64

  4. 现在我尝试使用临时用户名: 1433895918506:my_user_name和密码:从 Web 客户端登录与转服务器的通信,MGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg==现在我在 Web 客户端上使用

但它不起作用,我得到:

你能帮我找出问题所在吗?

0 投票
2 回答
3767 浏览

tcp - WebRTC 通信仅使用 HTTP 端口 80?

  • 当对等点位于不同的 NAT 后面时,我们使用 STUN 来让事情顺利进行
  • 当直接点对点失败时,我们转向TURN服务器,
  • 当系统中所有 UDP 端口都被阻塞时,我们使用 TCP 传输连接到 TURN 服务器
  • 但是如果除 80 之外的所有端口都被阻止(公司代理后面的对等),那会怎样?上面的 TURN 服务器还能用吗?还是我应该获得一个 webrtc 网关并依赖 RTMP 作为后备?还有其他选择吗?

以前,我错误地假设 TCP 只需要 80 端口,但这个讨论让我怀疑事情。

0 投票
1 回答
829 浏览

webrtc - 如何连接到 XirSys 的信令服务器而不是 Priologic

我正在使用 EasyRTC 开发视频聊天应用程序。ICE 配置按照 XirSys 网站上的指南进行设置:

它工作正常,我可以运行 EasyRTC 演示,但 XirSys 控制台中没有 STUN/TURN 命中。我怀疑这是因为该应用程序仍在使用 Priologic 的公共信号服务器。

XirSys 网站上的文档提到了如何更改信令服务器的“后续教程”,但我找不到任何内容。

有人知道怎么做吗?

谢谢。

更新 迁移到新平台版本并更改上述请求后,问题似乎仍然存在:

0 投票
2 回答
27410 浏览

amazon-web-services - 如何使用 AWS EC2 创建 stun turn 服务器实例

实际上,我想使用我自己的 stun/Turn 服务器实例,并且我想使用 Amazon EC2。如果有人对此有任何想法,请与我分享创建步骤或任何要遵循的参考链接。

0 投票
1 回答
223 浏览

webrtc - ICE 协议的基础是什么?

在 ICE 协议中,什么是 Base?

我将 Base 理解为,对于服务器反身候选人,主机候选人是基础,它是否正确?

如何找到候选人的基础?