我有一个客户,他的 VOIP PBX 连接到 Level 3 光纤连接。他在全国各地都有办事处,使用不同的 ISP。其中两个办事处使用 AT&T,位于不同的州。一个是 T1,另一个是 DSL。在过去的一周里,每天美国东部时间中午左右,两个 AT&T 站点都出现单向语音问题,无法听到对方的声音。这种情况持续了一整天。第二天早上,一切又恢复正常,直到中午。电话日志显示他们没有收到 RTP 流。所有其他非 AT&T 站点都正常工作。我让他们尝试将他们的电话连接到其他 ISP 上的其他系统(一个在 Comcast,一个在 Level 3,一个在 Megapath),但没有成功。我让他们将电话直接插入具有公共 IP 的 T1 路由器,绕过 NAT/防火墙,但没有成功。我已将 SIP 和 RTP 端口更改为非标准端口,但没有成功。
我正在与他们协调,在远端设置数据包捕获,同时我在 PBX 上进行数据包捕获,但我希望了解其他人最近是否遇到了 AT&T 的单向语音问题,如果是,您如何解决这个问题。
回顾一下:
- AT&T 在两个不同州的 2 个不同办事处每天中午左右同时出现单向语音问题。他们所有其他非 AT&T 办事处都工作正常。
- 受影响的 2 个办事处拥有不同的交换机和路由器。
- 在不同的 ISP 上尝试不同的 PBX 无法解决问题。
- 使用公共 IP 配置电话并绕过 LAN 和 NAT 无法解决问题。
- 使用非标准 SIP 和 RTP 端口无法解决问题。
- 我尝试了上述所有我能想到的尽可能多的变体,但没有任何变化。
我已经做这件事八年了,从来没有见过这样的事情。
答案1
SIP/RTP 呼叫的单向音频是由于未建立一对 RTP 流之一造成的。这要么是路由(即 NAT)问题,要么是防火墙问题。默认情况下,SIP 通常会导致通过 UDP 建立 RTP 流,两端的目标端口介于 10000-20000 或 16384-32768 之间。两端都必须能够与另一端建立未经请求的出站连接(即,就 conntrack 而言的新连接)。当 NAT 不是问题时,旨在阻止入站连接的状态防火墙是导致这种情况的常见原因。
当然,ISP 可能会破坏数据包并阻碍连接,但如果您有任何类型的业务连接,这种情况就不太可能发生。请记住,这是防火墙两个都側面。