通过 VPN 进行 VoIP(FritzBox)– 可以注册,可以通话,但没有声音

通过 VPN 进行 VoIP(FritzBox)– 可以注册,可以通话,但没有声音

我们这里有一个小型公司网络(192.168.178.x),家庭办公室有一个私人网络(192.168.2.x)。这些网络都运行 FritzBox 路由器,并通过 FritzBox 的 VPN 连接到 FritzBox(IPSec,192.168.2.1解析192.168.178.128为远程网络)。

现在我尝试使用我的软电话(本地计算机 IP 为192.168.2.41)连接到公司电话系统,并且电话系统的地址为192.168.178.10并正在运行本地 VoIP 服务。

我可以注册我的软电话/帐户,我可以给某人打电话,我可以接到电话,但是没人听到我的声音,我也没有听到任何人的声音。

因此路线应如下所示:

192.168.2.41 (client computer with softphone) ->
192.168.2.1 FritzBox ->
192.168.178.1 FritzBox remote VPN Server ->
192.168.178.10 telephone system / VoIP Server

我尝试在 FritzBox 中捕获一些包并用 Wireshark 检查它们。但我无法真正理解它们。通话时,192.168.2.41 和 192.168.178.62 之间的连接处于活动状态。但我甚至不知道 192.168.178.62 应该是哪个设备。

知道为什么没有传输任何语音数据吗?

答案1

标准 SIP VoIP 呼叫涉及 4 个 IP 元组:两个控制通道和两个语音通道,每个客户端一个到另一客户端。呼叫的两端都是服务器(入站连接)和客户端(出站连接)。通常,语音通道使用动态高编号端口。客户端控制通道用于将客户端打开的语音连接 IP 和端口传递到控制通道有效负载内的对方呼叫客户端。然后,每个客户端启动一个语音通道(上面提到的 RTP),从而产生一个双向语音通道。在您的案例中,家庭办公室客户端将传递本地 IP(192.168.2.41),而不是 VPN 远端的虚拟 IP(192.168.178.128)。这导致主办公室客户端尝试连接到不可路由的 IP,而不是虚拟 IP。

您的远程 VPN 软客户端必须能够将可路由的 IP 传递给办公室客户端以进行语音通道连接,或者您需要一个能够进行 SIP 会话检查和管理的防火墙(又名 SIP 网关)。

一些软客户端可以进行反向锥连接(远程客户端启动所有呼叫路径)以缓解 VPN 上的虚拟 IP 和 NAT。您可以在软客户端文档中查找该功能。否则,两个 VoIP 客户端的本地 IP 必须由两个客户端透明且直接地路由。

如果您正在运行 STUN 服务器,则在客户端上启用 STUN 将使客户端能够在 VPN 的办公室端查找其虚拟 IP,并使用该 IP 进行注册和 SIP 会话。必须同时启用服务器和家庭客户端才能工作。请注意,STUN 服务必须在 PBX 可直接路由的服务器上运行(无 NAT)。通常,这与 SIP 注册器和目录服务是同一台服务器。

问:同一子网上的客户端之间是否会发生相同的行为?我猜不会。

答案2

我通过在远程网络上注册到 PBX 的 FritzBox 中直接添加 VoIP 内部号码解决了该问题。因此远程网络可以直接与我的网络 (VPN 客户端) 的 FritzBox 通信。

所以我只需要使用新的内部号码在我的 FritzBox 上配置一部电话即可。效果很好。

相关内容