问题标签 [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.
networking - XirSys 我什么时候申请新的 Ice 服务器?
所以我完全了解如何通过您的演示使用 getIceServers,但是在服务器端/编译客户端实现的最佳实践是什么?
“这个令牌应该只在安全环境中实现,例如服务器端应用程序或编译的客户端应用程序。”
IceServer 列表是否会在某个时候过期?我应该在每个页面请求上请求新的 IceServers 还是将列表缓存 X 时间?
video-streaming - 通过 libnice 和 gstreamer 流式传输视频
我想将视频从 IP 摄像机流式传输到 NAT 后面的远程 PC。为此,我正在使用 libnice 和 gstreamer。
一方面,我实现了以下管道。
rtspsrc <-> nicesink
远程客户端管道
nicesrc <-> rtph264depay <-> h264parse <-> ffdec_h264 <-> autovideosink
但是,我无法在远程客户端上获取视频流。我正在远程客户端上的 nicesrc 元素上获取视频数据包,但是通过上述管道,我无法看到视频。
我如何知道数据包正在远程客户端上的 nicesrc 元素上:
我在 libnice 的接收回调中打印缓冲区长度。从那里,我还能够以 h264 格式录制视频并播放。但是远程客户端上的上述管道并未发生实时流式传输。
我还尝试将 capfilters 包含在 gstreamer 管道中,但没有成功。任何帮助都会得到帮助。谢谢
ssl - 带有 TLS 的 RFC5766-turn-server
我正在尝试在启用 TLS 的情况下启动我的 TURN 服务器。我使用以下行来启动服务器:
其中的环境变量在配置文件中设置。服务器在没有 TLS 的情况下使用相同的启动行运行良好,但如果我添加三个与 SSL 相关的参数,服务器仍然无法通过 TLS 访问。我尝试为 SLL 设置不同的端口而不是标准端口,但它仍然不起作用。无论我做什么,我都可以在没有 SLL 的情况下访问服务器,但通过 TLS 我无法访问它。如果可以的话,我使用的证书链,我也将它用于我们的网站。
sip - OpenSIPs + MediaProxy:无法在 3G 上接听电话
我有一个运行 OpenSIPs 1.11.3 的 SIP 服务器
- 配置了内置 STUN 模块(具有 2 个 IP 的完整模式)
- 配置了 MediaProxy 2.6.1 以中继 RTP(在路由脚本中使用engage_media_proxy)
使用 doubango 的 IMSDroid 作为 SIP 客户端。
wifi-wifi之间的通话很好,我不需要在客户端打开任何STUN、ICE、TURN选项。
但是,3g-wifi 或 3g-3g 之间的通话不是很好。3G可以拨出电话,但不能接听电话。这意味着 3g-3g 通话永远不会发生。我在 OpenSIPs 日志中看到的只是 INVITE 的重复重传,因为它无法到达 3G 端。
我读到TURN服务器可以解决这种问题,所以我在IMSDroid sip客户端启用了TURN,但3G端仍然无法接收任何呼叫。
我正在使用的 TURN 服务器:
网址:'转:numb.viagenie.ca' 凭证:'muazkh' 用户名:'webrtc@live.com'
有什么解决方案/模块可以用来解决这个问题吗?
编辑:
如果我使用 TCP 协议,我可以接听电话!虽然通话在 30 秒后因传输错误而终止,但至少通话成功了。知道这里发生了什么吗?移动运营商阻止来电?但绝对不是端口阻塞,因为我可以注册我使用端口 80 还是 5060。
编辑 2:
我尝试使用免费的 SIP 帐户拨打电话(sip2sip.info 和 sip.antisip.com),我也遇到了同样的问题!据我所知,sip2sip.info 也在使用 OpenSIPS,但 AntiSip.com 使用的是 AmSIP 之类的东西。所以问题出在我的移动运营商上?
谢谢!
webrtc - 如何保护 WebRTC 的 TURN 服务器?
我刚刚在 Amazon 服务器上安装了 rfc5766-turn-server ( https://code.google.com/p/rfc5766-turn-server/ ),以便中继我的 WebRTC 调用。
由于身份验证用户名和密码将分发给 WebRTC 中的每个客户端iceServers
,我如何确保只有我的客户端使用我的 TURN 来中继他们的呼叫?
webrtc - Google Chrome 中未生成接力候选人
为了测试我是否获得了接力候选人,我正在使用这个页面:http: //googlechrome.github.io/webrtc/samples/web/content/peerconnection/trickle-ice/。为了从 chrome 40 进行测试,我在那里提供了我的轮到 url 和凭据。单击收集候选人后,我看不到接力候选人。在 firefox 36 上做同样的测试,我找到了中继候选人。可能是什么问题?为了进一步调查这个问题,我查看了 wireshark 日志。我发现,来自 firefox 的 stun 请求格式包括 -
但从 chrome 来看,这略有不同——
似乎请求代码不一样。此外,来自 chrome 的请求不包括生命周期、用户和领域属性。
node.js - 带有easyrtc的TURN-Server不起作用
我将 easyrtc 与 node.js 一起使用。*****:8080/demos/demo_audio_video_simple.html 在同一网络上正常工作。但是,如果我从 2 个不同的网络尝试它,我只会得到一个黑屏。
经过一番研究,我发现,我需要一个 TURN 服务器,但它不起作用。
我做错了什么?
webrtc - Is there a way to access a websever behind NAT?
I am trying to access a web server behind NAT. The challenge is: because there could be several web servers coexist, router registration based on port is not a feasible solution here.
I apologize this looks more like general question, because I really don't know where to start after reading online sources related to NAT traversal, which technique to choose: proxy, tunnelling, WebRTC, ICE?
I experiment a little bit with libnice. It will output a string which looks like candidate list that can be sent to the remote peer to let it connect in. But it doesn't look obvious how to embed the string in Http URL.
Your help is highly appreciated. Thanks.
webrtc - STUN/TURN 服务器连接测试
我试图弄清楚如何测试 STUN/TURN 服务器是否处于活动状态并正确响应连接。理想情况下,该测试将从外部机器执行,以防 STUN/TURN 机器因这种情况而关闭,连接测试也应报告。
过去有人调查过这个案子吗?会推荐哪些解决方案?
cordova - 在服务器上记录 webRTC 会话
我最近发现了一个名为 phoneRTC 的 cordova 插件,它允许实现 webrtc。我构建并运行了提供的演示,我对结果非常满意。现在我想知道如何在 Web 服务器上记录 webrtc 会话。目前的基础设施是这样的:
因此信令服务器用于发现参与者并建立连接。如果无法在参与者之间直接建立连接,则使用 TURN 服务器。
对于转向服务器,使用 rfc5766-turn-server,对于信令服务器,使用 socket.io
我想要做的是记录通过 TURN 服务器的会话。这可能吗?如果是这样,我怎么能做到这一点?
编辑:我也读过关于 Kurento 的文章,但我无法理解是否可以用它来实现这一点。