好的,我找了好久,似乎找不到任何人写过关于这个问题的文章。我有一个简单的办公室设置,其中 Sonicwall TZ180 后面有两个 SIP 电话分机 (Polycom 331)。我使用 Plivo 作为 PBX。分机直接向 Plivo 注册。
Plivo --> [Internet] --> TimeWarner Modem --> Sonicwall TZ180 --> POE Switch --> Polycom 331s x2
我已经在 TZ180 上设置了防火墙和 NAT 规则,这样一切就都正常工作了……但只持续了一段时间。在 SonicWall 和电话重新启动后,电话可以接听和拨打电话,没有任何问题。一段时间后(不确定过了多久,但超过几个小时,甚至可能是几天),电话停止接听来电,但拨出电话正常。
所以,对我来说,这似乎是 NAT 问题,除了在一段时间内一切都正常之外!而且我确实是说它工作正常。拨打电话 1,通话一会,然后拨打电话 2,通话一会,再次拨打电话 1,通话一会,拨打电话 2,通话一会,重复。但是,在一段未知的没有通话的时间之后,上述操作对两部手机都不再起作用。
Sonicwall 防火墙设置为通过UDP 5060-5061
和UDP/TCP 10000-20000
。Sonicwall 为电话提供静态私有 IP。Sonicwall 的一致 NAT 已启用,SIP 转换已禁用(这似乎是我在其他地方找到的共识)。
有什么想法吗?我们似乎能检测到手机已停止接听来电的唯一方法是等到语音邮件送达,但有人坐在电话旁边。另外,我不想每次都为了多花一两天时间而重启整个网络。
答案1
好的,在与 wireshark 斗争之后,我基本上发现 Sonicwall TZ180 已经很旧了,它不喜欢保持多个 NAT 路径打开。我已经使用运行 asterisk 并充当 SIP 代理的 Raspberry Pi 解决了这个问题。