我创建了一个类似于STUN的+ rendez-vous服务器。
我已经通过WIFI(在国内NAT后面)尝试了全部操作,并且一切正常。
我有两个移动ISP,一个允许所有内容(VOIP + P2P + MODEM)(ISP 1)
另一个允许除P2P(ISP 2)之外的所有内容。
在尝试ISP 1时,它也可以正常工作。
但是,当我尝试使用ISP 2时,udp数据包不会通过。
我已将计算机与ISP 2上的电话相连,并运行了TUM NAT Analyzer。
告诉我
UPnP Test (?): No UPnP device found
STUN Test (?): Symmetric NAT
UDP Binding Test (?): Endpoint depenent binding, port prediction may be hard
TCP Binding Test: Endpoint depenent binding, port prediction may be hard
UDP Mapping Test (?): local and external IP addresses were different
(NAT). Your source ports were not preserved. It may be hard to predict your external source port.
TCP Mapping Test: local and external IP addresses were different (NAT).
Your source ports were not preserved. It may be hard to predict your external source port.
SIP ALG (?): The initial SIP INVITE packet has not been modified on its way to our servers.
There is no SIP ALG involved
FTP ALG: The initial FTP PORT command has been modified.
Most probably, your NAT implements a FTP-ALG
因此,显然它正在使用具有随机端口影响的对称NAT(显然无法使用端口预测)。
所以我想知道,一个允许VOIP但不允许P2P(并且没有SIP ALG)的ISP,它期望VOIP使用中继服务器来工作吗?
还是我错过了什么...?
据我了解,AT&T(可能还有其他公司)使用与我的ISP 2相同类型的NAT ...(对称NAT),所以我认为这是一个巨大的问题。
但是,任何人,想法,反应都会很棒。
最佳答案
许多VoIP提供商都包括基于SBC或其他RTP代理的基础架构,这些基础架构在任何情况下都可以中继媒体流量,而无需考虑您拥有的NAT类型。
如果另一个端点不在对称NAT(例如,非常常见的PSTN网关)后面,则可以连接到它们而无需任何其他中继。
否则,您需要一个TURN继电器