目前,我有一个系统,它使用 FreeSWITCH 通过带有 flowroute 的 SIP External 进行外拨电话,并且运行良好,但一些用户抱怨通话质量。系统使用 lua 脚本运行通话,在该脚本中,您可以创建两个会话(每个用户一个),它们位于同一个脚本桥中,一旦两者建立连接,就会记录通话。使用 G711 编解码器。
投诉的用户表示,有时音频非常低或断断续续。奇怪的是,当你听这些通话的录音时,两个人都听得很清楚。
我一直在测试用户,通常他们无法很好地收听通话的第 2 部分。由于这一点以及我提到的系统特性,我怀疑在桥接通信时音频会失败或质量低下。但我没有发现任何确凿的证据。
我写信是想询问是否有人知道为什么在通话过程中会出现这种行为,以及为什么在他的录音中可以察觉到这种行为。
答案1
如果录音效果良好,您就知道两个设备的包都已到达 freeswitch。我不确定录音是如何执行的,但这很有可能提示您两个包也都及时到达了服务器。(这些事情可以通过所有更新包的 tcpdump 和 wireshark 来证明,捕获服务器上的流量进行检查是个好建议!)根据我丰富的 VoIP 经验,这听起来像是遇到音频质量差的人的站点入口带宽存在问题,有时由于未正确设置(或在途中丢弃)QOS 标志,也会出现此类问题。确保所有设备和 freeswitch 都使用 EF 作为 RTP 的 QOS 设置。使用 wireshark,您还可以检查您的 ISP 是否丢弃了标志。如果确实如此,通常您无能为力,除非您拥有声称支持 QOS 的企业帐户,在这种情况下您应该向他们投诉。
答案2
这可能是通往用户的路上的网络问题。此外,语音质量取决于运行 FreeSWITCH 的主机类型。它是物理机还是虚拟机?如果是虚拟化的,那么采用哪种虚拟化技术?
另外,在用户端收集数据包捕获并在 Wireshark 中进行分析也是有意义的。