首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >STUN服务器地址不兼容|错误code=701:

STUN服务器地址不兼容|错误code=701:
EN

Stack Overflow用户
提问于 2020-06-20 17:57:37
回答 1查看 7.8K关注 1票数 3

我已经安装了TURN服务器,服务器代码中的一切都运行得很好。日志文件中没有错误。只有一条警告声明

代码语言:javascript
运行
复制
 0: WARNING: I cannot support STUN CHANGE_REQUEST functionality because only one IP address is provided

而是运行在服务器上的TURN服务器。

下面是我检查lsof -i :3478时显示的内容

代码语言:javascript
运行
复制
turnserve 999 root   15u  IPv4 446811411      0t0  TCP domain.com:stun (LISTEN)
turnserve 999 root   23u  IPv4 446811417      0t0  TCP domain:stun (LISTEN)
turnserve 999 root   24u  IPv4 446810998      0t0  UDP domain.com:stun
turnserve 999 root   25u  IPv4 446810999      0t0  UDP domain.com:stun

当我在Trickle ICE中检查STUN时,它抛出一个错误

代码语言:javascript
运行
复制
The server stun:xxx.xxx.xxx.xxx:3478 returned an error with code=701:
STUN server address is incompatible.
The server stun:xxx.xxx.xxx.xxx:3478 returned an error with code=701:
STUN allocate request timed out.

这里面出了什么问题。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-21 17:07:07

我认为701错误是一个更通用的连接错误,Trickle用它来表明它没有得到绑定响应。在www.stunprotocol.org上使用命令行工具运行stunclient your.stun.ip.address,查看是否可以从外部访问您的STUN服务。

从技术上讲,STUN需要托管在具有两个IP地址和两个端口的设备上。它通常是一个命令行参数,用于指定服务器应该侦听哪些IP地址。但大多数服务器实现都可以在具有单个IP地址的主机上运行。

服务器上的第二个IP地址和端口用于STUN客户端过滤测试,以检测有效的NAT类型。客户机在服务器的主ip和端口上发送绑定请求,但带有更改请求属性,以使服务器从备用IP地址或端口进行响应。由于NAT不会转发来自另一个IP/端口的流量,因此此具有change-request属性的绑定请求通常会失败。

过滤测试对于记录客户端所处的NAT类型非常有用。以便可以调试失败连接,且可以将成功/失败度量与NAT类型相关联。

由于大多数ICE实现将交换所有可用的候选地址(本地、映射和中继),因此过滤测试对建立连接并不是非常有用。

我很惊讶ICE会给你一个错误。我不认为WebRTC使用过changer-request属性。我刚刚在Wireshark上跟踪了一个到stun.stunprotocol.org的ICE会话。我没有看到webrtc客户端在它发出的两个绑定请求中的任何一个中设置change-request属性。

有关更多细节,请参阅RFC 5780 Section 3.2

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62484280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档