我们办公室里有几台 Polycom 301,还有 501、601 和 SoundStation 4001。最近,一些 301 和 4001 已经停止向 Trixbox/Asterisk 服务器注册,并且其他手机开始出现这种行为。他们能够联系服务器以获取 IP 地址,联系 TFTP 服务器进行配置,甚至上传调试日志,但注册似乎超时。日志例外如下。有任何想法吗?
Asterisk 1.4.22 Trixbox 2.8.0 Polycom 3.0.1
0724113935|sip |3|03|Retry send 281
0724113939|sip |3|03|SendMessageFail
0724113939|sip |3|03|CUser::NewWorkingServer 1 to 279772128
0724113939|sip |3|03|SipOnEvNewWorkingServer User 0, old 0, new 0, expire 0
0724113939|sip |3|03|SipOnEvRegistrarUpdate User 0, index 0, state 0, expire 0, working 1
0724113939|sip |1|03|Client State finished REGISTER
0724113939|sip |3|03|SipStartFailOver 0
0724114008|sip |1|03|CreateFailOverProxyList : Reg to Domain '192.168.1.110' nPort 5060
0724114008|sip |1|03|CreateFailOverProxyList : For REGISTER Request nPort 5060
0724114008|sip |1|03|doDnsListLookup(udp): doDnsSrvLookupForARecordList for '192.168.1.110' port 5060 returned 1 results
0724114008|sip |1|03|doDnsListLookup(udp): result 0 '192.168.1.110' port 5060
0724114008|sip |1|03|CreateFailOverProxyList : Not NAPTR for '192.168.1.110' port 5060 IP 0 is '192.168.1.110' on udp port 5060
0724114008|sip |2|03|CreateFailOverProxyList : Exit with 1 IP Addresses
0724114008|sip |2|03|CreateFailOverProxyList : IP 1 is '192.168.1.110' on udp port 5060
0724114008|sip |0|03|>>> Data Send to 192.168.1.110:5060
0724114008|sip |0|03| REGISTER sip:192.168.1.110:5060 SIP/2.0
0724114008|sip |0|03| Via: SIP/2.0/UDP 192.168.1.248;branch=z9hG4bKdc51d87E89D17EA
0724114008|sip |0|03| From: "Joe Blow" ;tag=2FC4C6AD-D293EB4E
0724114008|sip |0|03| To:
0724114008|sip |0|03| CSeq: 1 REGISTER
0724114008|sip |0|03| Call-ID: [email protected]
0724114008|sip |0|03| Contact: ;methods="INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PRACK, UPDATE
0724114008|sip |0|03| , REFER"
0724114008|sip |0|03| User-Agent: PolycomSoundPointIP-SPIP_301-UA/3.0.1.0032
0724114008|sip |0|03| Max-Forwards: 70
0724114008|sip |0|03| Expires: 3600
0724114008|sip |0|03| Content-Length: 0
0724114008|sip |0|03|
0724114009|sip |0|03|>>> Data Send to 192.168.1.110:5060
0724114009|sip |0|03| REGISTER sip:192.168.1.110:5060 SIP/2.0
0724114009|sip |0|03| Via: SIP/2.0/UDP 192.168.1.248;branch=z9hG4bKdc51d87E89D17EA
0724114009|sip |0|03| From: "Joe Blow" ;tag=2FC4C6AD-D293EB4E
0724114009|sip |0|03| To:
0724114009|sip |0|03| CSeq: 1 REGISTER
0724114009|sip |0|03| Call-ID: [email protected]
0724114009|sip |0|03| Contact: ;methods="INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PRACK, UPDATE
0724114009|sip |0|03| , REFER"
0724114009|sip |0|03| User-Agent: PolycomSoundPointIP-SPIP_301-UA/3.0.1.0032
0724114009|sip |0|03| Max-Forwards: 70
0724114009|sip |0|03| Expires: 3600
0724114009|sip |0|03| Content-Length: 0
打开 Asterisk 控制台 (
asterisk -r
),启用 SIP 调试 (sip set debug ip yourphonesip
) 并注册电话。检查您是否看到 REGISTER 数据包以及是否有任何回复和/或错误消息。这只是一个交换网络还是在 Asterisk 和手机之间还有其他设备?
在您发表评论后进行编辑:此时,我想确保手机的流量实际到达 Asterisk 服务器 - 在服务器上运行 tcpdump,也可能在手机附近的某个地方运行。如果 REGISTER 数据包到达服务器但没有显示在 Asterisk 的日志中(加上电话正在与另一个 Asterisk 一起工作,正如您测试的那样),那么 Asterisk 方面有问题。
另一方面,如果即使使用 tcpdump 也看不到手机的 REGISTER 请求,那么您必须找到它们丢失的位置——在网络中的不同点进行更多的嗅探。
此外,这是关于 Polycom 未注册的讨论,最后一篇文章有“本地配置重置”的说明 - 也许这就是您需要的魔法。
经过几周的电话慢慢死机后,我们聘请了一家咨询公司,该公司确定防火墙配置不允许 LAN 上的端口 5060 UDP。端口 5060 是 VoIP 的 SIP 协议使用的默认端口,因此它会阻止某些电话连接到服务器。由于某些原因,正在工作的电话已经通过了防火墙,因此能够连接到 Trixbox 应用程序。
他们添加了一条规则以允许端口 5060 UDP,但仅在 eth0(这是 LAN 接口)上。我们保存了 iptables 规则,即使服务器重新启动,它也会保留。这是添加的该规则的命令:
对于那些感兴趣的人,我们聘请了Teliphone Orion的服务来解决这个问题。他们在很短的时间内发现并解决了这个问题。
我们在某个时候遇到了同样的问题,但结果是我们的 Cisco ASA 防火墙认为 trixbox 服务器是攻击者。将本地 LAN 添加到白名单可以很快解决。
你在 Asterisk 的控制台上看到了什么?尝试启用详细(设置详细 3)并为 Asterisk 侧的那些同行搜索 sip 错误。
Asterisk 盒子是否甚至从这些电话接收 SIP 消息?如果电话能够获得 DHCP 和 TFTP 通信,我想我们可以排除网络问题。