我知道这个问题相当“离谱”,但有人在 SonicWALL 后面成功使用过 VOIP over SIP 吗?我们在单向音频入站方面遇到了问题。
本质上,呼叫者(或被呼叫者)可以听到我的声音(通过与 PBX 位于同一 LAN 上的电话),但我们听不到他们的声音。数据包捕获显示 RTP 流量返回 Sonic 并发往 PBX,但根本无法到达 PBX。我的理解是 SonicWALL 使用对称 NAT,这就是问题所在,因为 STUN 不适用于这种类型的 NAT。
有什么解决方法吗?或者这里有人成功过吗?
答案1
如果是 sip 中继,您可以告诉 PBX 它的 IP 是您的“外部”IP,并在 sonicwall 中将 tcp/5060 和 udp/[rdp 范围] 转发给它。rtp 范围将在您的 pbx 中配置。因为您只需要一个 sip 端点(pbx - 您所有的电话都通过 pbx 与外界通话),所以这不需要 stun 或任何“聪明”的东西。
如果 rtp 流量确实到达了你的 sonicwall,而不是因为被发送到 rfc 1918 地址而落入黑洞,那么听起来你已经完成了第一步。
答案2
Sonicwall 的主菜单上应该有一个“VoIP”选项卡。是否选择了“启用一致的 NAT”?这会有所帮助。您不需要 SIP 转换,但如果您可以发布屏幕截图或该屏幕,我们可以尝试一些方法。
答案3
确保它支持 sip alg,并确保您使用的是标准 sip 端口(5060)或将 sip alg 更改为“监控”您正在使用的 sip 端口。
单向音频的原因是因为防火墙/路由器不知道将传入的 udp 消息/音频发送到哪里,所以才会丢失。
如果启用了 sip alg,它将跟踪电话呼叫以及发送音频的位置。
答案4
我的 voip 系统遇到了同样的问题,您可以使用两个主题来恢复。
- 看一下 voip nat traversal 主题。
- 忘记 NATing 服务,而使用 VPN 或隧道。
我已经解决了使用 Mikrotik 的 P2P(IP-IP)隧道问题,并解决了静态路由问题。