关于VOIP系统中的NAT/FireWall穿越问题

来源:互联网 发布:网络远程控制开关 编辑:程序博客网 时间:2024/04/30 14:39

     VOIP系统中,媒体NAT穿越 有很大不确定因素,一般都是采用STUN、PROXY等模式,而且穿越的步骤是有问题的。主要有一下原因:

1、STUN等穿越技术单单靠判断NAT/FireWall类型来进行穿越太主观,没有考虑到防火墙规则(如果无防火墙的机器先发包到有防火墙的机器,这条链路可能建立不起来)。

2、采用PROXY模式似乎看起来穿越是最好的,但没有考虑到网络的区域性和成本问题。例如:有些地址访问不了222.IP段的服务器。很容易造成穿越无效。

3、现有的VOIP系统都是在通话开始的时候进行媒体数据穿越,选择这个时机进行穿越有可能通话计费已经开始,但媒体确通不起来。

我个人认为,VOIP系统应该采用ICE模式的穿越比较好,先通过VOIP寻址找到被叫地址,先进行多点(可以选择多个PROXY和点对点试探,这样可以可以探测基本的网络情况)试探性的网络连通(发送穿越报文),当连通以后发起呼叫信令,建立呼叫链路进行通话。在我工作中做采用这样的方式进行穿越,穿越的概率大大提升,也使得计费和通话保持一致性。如果这种模式结合P2P网络结构,不仅在成本上大幅降低,也在服务质量上大幅提升。SKYPE就是个例子。