问题标签 [rfc5766turnserver]
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.
webrtc - Apprtc 与 coturn STUN/TURN 服务器
简单地说,我将运行本地流行的 WEBRTC 应用程序示例:github.com/webrtc/apprtc
apprtc 已安装,甚至可以在没有转服务器的情况下在本地工作(“同源策略”不允许使用 Google TURN 服务器,该服务器仅适用于apprtc.appspot.com:access-control-allow-origin:”https://apprtc .appspot.com ”)。
但我知道在真实的互联网世界(nats 和防火墙)中,我需要转服务器。所以我决定使用自己的 STUN/TURN 服务器:
code.google.com/p/coturn/
我正在尝试将我的 apprtc 与 coturn 集成:
我有问题:
a) 我是否需要执行一些在安装指南中描述的 turnadmin 命令?或者从示例运行turnserver就足够了:my_name@my_machine:~/WEBRTC/turnserver-4.4.5.2/examples/scripts/restapi$ ./secure_relay_secret.sh
其中包含:
b)当我在浏览器中打开 localhost: 3478 时,我看到:“TURN 服务器使用 https 连接进行管理会话:rest API 的 uri 是什么?
c)在rest API中,我需要传递一些参数:用户名和密钥。够了吗?只需将额外的 -u 开关添加到 turnserver 命令就足够了吗?我需要一些额外的配置吗?
e) 如何解决“同源政策”?我不会尝试使用相同的端口和 nginx,而只是将“access-control-allow-origin”标头设置为 turnserver 响应。没有 nginx 代理怎么办?或者其他一些解决方案?
d) 还有一些其他重要的问题,运行apprtc app 和coturn server 的人应该知道吗?
编辑
对我来说,最大的问题是认为 Coturn 有自己的返回 TURN 服务器的 api 方法 - 但没有。所以需要自己做 - 在自己的 http 服务器上。以下是 python/django 中的示例:
有用的将是组:
https://groups.google.com/forum/#!forum/turn-server-project-rfc5766-turn-server
https://groups.google.com/forum/#!forum/discuss-webrtc
如果 sombody 需要 django 代码中的 webrtc,请写信给我。
oauth - 如何使用 Coturn 和 oAuth 配置 WebRTC
我想将coturn 与 oAuth 一起使用。如果我理解正确,我需要做两件事:
- 将 oAuth 令牌存储在 coturn 正在使用的数据库中
- 发送
ACCESS-TOKEN
和USERNAME
STUN 属性
第一点很清楚,但我需要如何更改我的 WebRTC 客户端才能实现第二点?
如果没有 oAuth,我会RTCPeerConnection
像这样初始化我的:
WebRTC 1.0 草案定义了一个枚举,RTCIceCredentialType
所以我认为我需要像这样更改我的配置:
使用 Wireshark 我看不到该ACESS-TOKEN
属性。有什么想法或有人知道一个可行的例子吗?
amazon-web-services - 在 AWS 上运行的 Turn-server 没有响应
我在这个问题上苦苦挣扎了将近一个月,我能够在 EC2 实例上设置一个 rfc5766-turn-server(v3.2.3.1) 而没有任何问题。
当 TURN 在 3478 上侦听时,一切正常,但在端口 80 上,它大部分时间都可以工作,但在某些时间间隔(不规律地发生)它变得无响应,即使重新启动该进程也不会改变任何东西。我在端口 3478 上并行运行的进程不会遇到这个问题。
80端口运行命令:
在端口 3478 上运行的命令:
我认为,这个问题更多地与 AWS 网络相关,较少涉及转向服务器,但话说回来,我对 AWS 或 TURN 服务器知之甚少。有没有人在端口 80 上遇到过这个问题。我相信在端口 80 上运行很重要,尤其是当对等方位于阻止大多数端口的公司防火墙后面时。
成功分配时的日志(我已通过 INTERNAL_IP 更改了 EC2 的内部 ip):
无响应时的日志(我注意到它仍然显示连接尝试,一个区别是,它显示对等连接的 IP,而不是成功场景中的 INTERNAL_IP):
java - 在具有 ubuntu 操作系统的 AWS 实例上设置 Kurento 6.0
我有一些疑问,我需要对此进行一些澄清,这是关于具有 ubuntu 14.04 的 AWS 实例上的 Kurento 6.0 服务器设置。1:我已经成功设置了Kurento。2:我也安装了turnserver。3:我按照此处的指导配置了转向服务器。4:我按照那个链接一直到这里... ...知道我的应用程序需要多少媒体管道?完成所有设置后,我运行此命令... cd kurento-tutorial-java/kurento-hello-world git checkout 6.2.1 mvn compile exec:java
在此之后,我的 kurento 成功运行,因为将 log 放入问题的末尾。我通过使用 WinScp 远程连接我的实例来完成这一切。在此之后,我尝试在浏览器(Chrome/Mozilla)中的 Windows 机器上访问它,我尝试了网址:http://:8080 和 https://:8443 但我发现结果为找不到服务器。在同一个实例上,我有 PHP Apache 服务器,我可以在 http://:80 上得到它。有谁能告诉我我在这里犯了什么错误?或者任何一次都可以告诉我这是否可以将 kurento 服务器访问到本地机器浏览器中,如果可以,比如何?提前致谢。
标题
webrtc - 缺少来自 TURN 服务器的中继候选人
刚刚安装了 coturn 服务器(https://github.com/coturn/rfc5766-turn-server/)。看起来我只得到 STUN 候选人,但没有 TURN。作为客户端,我使用节点的 webrtc-native。
我尝试使用公共 TURN 服务器并确实获得了“中继”候选人,但我的服务器无法获得任何候选人。
有什么我想念的吗?
webrtc - 无法访问 Coturn Web 界面
我在 Centos-7-x64 上有一个正在运行的 coturn 实例,如果我通过浏览器访问它,我可以看到:
TURN 服务器
使用 https 连接进行管理会话
在检查文档后,我发现了这一点:
使用 turnadmin 实用程序将管理员用户添加到数据库。如果您添加了这些用户,那么他们将能够通过 HTTPS 从您的浏览器连接到 TURN 服务器端口,并使用 Web 界面执行管理任务。
所以我使用以下命令创建了一个管理员用户:
我可以看到运行时列出的用户:
但是,当我尝试连接到https://my.ip.adrss:3478时,我看不到承诺的管理员。
我在这里想念什么?
ubuntu - ubuntu 中的 TURN 服务器不工作
对于视频通话,我使用的是 Phonertc(基于 Webrtc)
我在 Ubuntu 14.04.3 LTS 中设置了 turnserver 我按照https://github.com/coturn/rfc5766-turn-server/的说明进行操作
我从http://turnserver.open-sys.org/downloads/v3.2.5.9/下载了turnserver-3.2.5.9-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz 并根据提供的说明进行设置.
安装后我更改 /etc/turnserver.conf 并取消注释以下行:
在 etc/turnuserdb.conf 我添加了普通的用户名和密码
当我使用命令'turnserver'运行turnserver时,它将日志打印为
我在客户端设置了冰服务器
在这里,当用户从移动设备呼叫时,网络用户应该看到来自移动设备的视频。它在 wifi 网络上运行良好现在问题是当我尝试从 3g 网络或 4g 网络呼叫时,将建立呼叫但没有数据传输(视频)。屏幕变黑。
我还尝试检查不同的链接以检查我的转向服务器是否正在运行。 测试TURN服务器的简单方法 ,它说turnserver没有运行。
如果我的转向服务器真的没有运行或者在眩晕和转向之间切换不起作用,我会感到困惑。
node.js - 设置 Nodejs WebRTC 视频通话,Turn/ICE 失败,CORS 被阻塞
我实际上已经遵循了这个 WebRTC 代码实验室(https://codelabs.developers.google.com/codelabs/webrtc-web/#7),但是在需要连接到 ICE 服务器时卡住了。
这里的基本代码:
main.js
通常我会收到错误消息:“ICE failed”或“Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913。(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。”</p>
根据后者,我启用了“A2enmod headers”并将其设置为 apache.conf “Header always set Access-Control-Allow-Origin "*" “</p>
问题仍然存在。我的 STUN 服务器是“'url': 'stun:stun.l.google.com:19302'” 据我了解,STUN 应该在 80% 的时间内工作。但这永远行不通。因此,即使 TURNserver 不再工作,它有时也应该与 STUN 连接?
webrtc - TURN 服务器可以创建多少个分配?
我说的是 Nat Traversal。服务器的 UDP 端口号是有限制的。所以我认为 TURN 服务器总共可以创建 64k 分配,这意味着一次只有 64k 客户端可以通过 TURN 服务器与其他对等方通信。
有没有办法打破限制,让更多的客户端在不导入更多 TURN 服务器的情况下进行通信。
ubuntu-14.04 - 安装 rfc5766-turn-server,尝试将 fd 绑定到: 错误号=99
我使用的是 Ubuntu 14.04(实际上是 Azure VPS),所以我必须安装 rfc5766-turn-server 而不是最新的 coturn 版本。我已遵循本指南。
在最后一步,我无法启动 turnserver。我的启动命令:
我从日志中得到:
我已经尝试从命令中删除监听 IP(-L 参数),然后 turnserver 可以启动。但是,在这种情况下,turnserver 只会监听本地 IP 地址。我怎样才能让它监听公共 IP 地址?