sip 在一台主机上注册成功,但在同一本地网络中的另一台主机上注册失败

sip 在一台主机上注册成功,但在同一本地网络中的另一台主机上注册失败

我获得了 antisip 帐户并设置了 asterisk(假设为 PBX-A)进行注册。一切正常。但是,我尝试使用另一个 asterisk(PBX-B)进行注册。这次没有成功。PBX-A 和 PBX-B 位于 NAT 后面的同一本地网络上。

以下是在 PBX-B 上运行几个命令的结果

localhost*CLI> sip show registry
Host                  dnsmgr Username       Refresh State         Reg.Time
sip.antisip.com:5060  N      username          120 Request Sent
1 SIP registrations.

localhost*CLI> sip show peers
Name/username      Host          Dyn Forcerport Comedia    ACL Port     Status      Description
username/username  91.121.78.130     Yes        Yes            5060     UNREACHABLE

我使用 tcpdump 检查了注册信号。PBX-B 确实向 sip 服务器发送了信号,但没有返回。

[root@localhost sysconfig]# tcpdump  port 5060
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:15:00.074161 IP 192.168.1.207.sip > sip.antisip.com.sip: SIP, length: 390
16:15:04.074820 IP 192.168.1.207.sip > sip.antisip.com.sip: SIP, length: 390
16:15:06.438076 IP 192.168.1.207.sip > sip.antisip.com.sip: SIP, length: 549

我可以 ping 通 sip 服务器。

[root@localhost sysconfig]# ping sip.antisip.com
PING sip.antisip.com (91.121.78.130) 56(84) bytes of data.
64 bytes from sip.antisip.com (91.121.78.130): icmp_seq=1 ttl=47 time=169 ms
64 bytes from sip.antisip.com (91.121.78.130): icmp_seq=2 ttl=47 time=169 ms

我通过端口转发 UDP 端口 5060、10000-2000 检查它是否有效,但仍然没有成功。顺便说一句,PBX-A 在没有端口转发的情况下工作正常。然后我注意到 PBX-B 包含 iptables,所以我检查了防火墙的配置并启用了几个端口,如下所示:

[root@localhost sysconfig]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpts:10000:20000
2    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:5060

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

可能它没有做任何工作,因为最初所有输入都被接受了......当然,它什么也没有改变。

我对本地 PBX 使用 /etc/asterisk 下的相同配置文件。它们位于同一网络中。所以我只能想到 PBX-B 的防火墙设置。但肯定还有另一个问题。如果您能给我一些提示,我将不胜感激。

这是 sip.conf 设置。

[general]
register => username:[email protected]/username

[vivinavi]
nat=yes
insecure=port,invite
canreinvite=no
username=username
host=sip.antisip.com
fromdomain=sip.antisip.com
fromuser=username
type=friend
context=antisip
secret=pass
qualify=yes

以下是两个盒子的软件版本。PBX-A:Asterisk 11.10.2,SHMZ 版本 6.5(FreePBX 2.11.0.38)PBX-B:Asterisk 11.7.0,Ubuntu 14.04.1 LTS

相关内容