有 2 个 SIP 网关 (ZultysMX250)。它们之间有 Sip 中继,它们位于不同的位置,不同的子网 192.168.XX 和 192.168.YY 通过 IPSec VPN 连接。
有些电话工作得很好。但我的……(我是管理员……哎呀)有点旧了,其他办公室的人都可以打电话给我,但如果我打电话给他们,他们听不到我的声音,但我能听到他们的声音。
VPN 上的防火墙规则是完全相同的对于其他电话 - 所有的 Aastra 53is 都可以工作,但我的 Zultys 4x4 不可以... 一些 2x2 出现奇怪的间歇性故障... polycom soundstation IP6000 也存在同样的问题。
我觉得没人能给我答案 - 但接下来我应该去哪里找呢?这可能是编解码器问题吗?
编辑:现在已经缩小到仅一个特定的手机品牌(原来的 Zultys 自有品牌)。
答案1
我们以前也遇到过类似的问题,通常是由于防火墙或 IPSec 设备上的应用层网关造成的。这些 ALG 可帮助使用动态端口的流量(如 SIP 或 FTP)通过 NAT 设备进行连接,还可以验证流量是否符合协议规范。
根据我的经验,如果您没有通过 VPN 进行 NAT(并且看起来您没有这样做),请尝试在防火墙/IPSec 设备上禁用 ALG。
答案2
如果是编解码器问题,您将无法听到音频,因为手机无法相互发送音频。
单向音频几乎总是由 RTP 未通过导致的。根据 DLux 的说法,关闭 SIP ALG 或 SIP Fixup 或 SIP Transformation(不同的路由器对同一事物使用不同的术语)是很好的第一步。
除此之外,您可能还需要使用 tcpdump 或 Wireshark 捕获网络流量,以查看 RTP 卡在哪里。
通过查看 UDP 端口 5060 流量,您可以了解音频使用的端口。RTP 流量通常在 UDP 端口范围 10000-20000 内。
答案3
我要检查两件事:
呼叫设置由 PBX 处理,呼叫建立后,语音流量直接在手机之间路由...检查手机上的网络设置:网络掩码、默认网关和任何附加路由。
MTU 大小/数据包碎片。可能是 VPN 或手机不喜欢碎片数据包。以太网 MTU 为 1500 字节,IPSec VPN 将再增加 16 字节左右,DSL 线路通常约为 1440 字节。从工作站 ping 远端网络的系统,并设置“不碎片化”,然后将大小从 1500 减小,直到找到合适的大小。请参阅黑洞路由器的诊断与处理了解更多信息。
答案4
我不熟悉 ZultysMX250。我们使用 Asterisk。但我们遇到了类似的单向音频问题,通过确保 Asterisk 服务器在其 NAT 文件中列出外部 IP 地址,问题得以解决。据我了解,SIP 协议携带返回流量应传回的 IP 地址。如果 NAT 防火墙不够智能,无法在实际流量中更改该地址,则另一端会尝试将流量发送到错误的私有地址。在 Asterisk 服务器中,您可以输入要使用的 IP 地址,而不是这些数据包中的本地私有地址。有时,您还必须进入电话配置,在那里也输入外部 IP 地址,或者输入 stun 服务器 ip 地址,以便电话可以找出自己的外部地址。