我试图阅读许多有关在NAT'd路由器后面运行VoIP系统的文件,出去到互联网,然后通过VoIP服务器的专用连接返回。 我没有得到任何的研究。
我inheritance了所有VoIP服务器设备都在自己的networking上的设置,使用专用的ADSL连接。 在互联网上的任何地方的电话工作! 我的问题是,从我的networking 。
我已经尝试了通常的故障排除步骤:重新启动路由器,禁用防火墙,更改我插入IP电话的端口,但是这些都不起作用。
我们使用Linux服务器作为我们的路由器,使用iptables作为我们的防火墙。 默认策略是丢弃不匹配的数据包,但即使我告诉他们接受,问题仍然存在。 运行tcpdump -ni eth1 host 192.168.0.89在手机正在尝试连接时输出以下内容:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes 13:45:24.487637 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46 13:45:33.285767 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46 13:45:43.333432 ARP, Request who-has 192.168.0.89 tell 0.0.0.0, length 46 13:45:49.331224 ARP, Reply 192.168.0.89 is-at 00:15:b7:48:04:cd, length 46 13:45:49.337216 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46 13:45:49.341575 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46 13:45:49.444252 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46 13:45:49.612308 ARP, Request who-has 192.168.0.3 tell 192.168.0.89, length 46 13:45:49.612319 ARP, Reply 192.168.0.3 is-at 00:22:b0:70:9a:eb, length 28 13:45:49.613504 IP 192.168.0.89.50138 > xxx.xxx.xxx.xxx.1719: UDP, length 125 13:45:49.631597 IP xxx.xxx.xxx.xxx > 192.168.0.89: ICMP host 216.57.190.87 unreachable - admin prohibited filter, length 36
xxx.xxx.xxx.xxx是VoIP服务器的公共IP地址(与我们主networking不同的ISP)。 如果我跳过我的服务器并直接将电话插入Internet连接(我们有一个/24子网),则连接速度非常快。 如果它在我们的服务器之后,它将停止在握手的那一部分。 我尝试过不同的网关,效果相同。
从我的networking内部,我可以将RDP放入pipe理系统,ping服务器等。我只是无法连接手机。 当我把我的iptables转储出来,所以一切都设置为ACCEPT ,它仍然没有连接。
我可以在哪里看到这些电话工作? 他们曾经工作,但他们不再了; 回到以前的configuration是不可能的,因为备份只有3个月左右。
这个问题在内部得到解决。 我们政府授权的ISP“无法处理SIP和RTP风格的stream量”,所以我创build了一个新的VLAN。 交换机上的端口允许TAGGEDstream量到人LAN VLAN或VoIP VLAN,以及未标记的端口进入电话系统。
在每个VoIP电话上,我可以分别标记语音stream量和计算机stream量。