VoIP 排障

概览

本手册提供常见 VoIP 问题的排障指南。 涵盖了电话注册问题和通话质量差等症状,并提供了可能原因的见解,例如网络连接问题和配置错误。 此处列出的排障步骤旨在帮助用户隔离和解决这些问题。

症状

  • 电话注册问题
  • 无法拨打外线电话
  • 较差的通话质量(掉线、单向音频、抖动、通话失真)

可能原因

  • 网络连接性问题
  • 配置错误
  • 数据包丢失
  • 硬件故障
  • 电话账户未在 SIP 服务器上配置 
  • 在电话上输入了错误的用户名/密码(401 未授权)

排障问题

本节将深入探讨逐步排除此前问题症状的疑难解答指引。 

电话无法成功注册到 VoIP 服务器 

在深入探讨 VoIP 注册问题的故障排除步骤之前,以下展示了 IP 电话和 SIP 服务器在成功注册期间的流量(4 步流程)。 
  1. 电话向 SIP 服务器发送注册请求。
  2. 服务器返回 401 未授权信息,提示电话请求认证。
  3. 电话发送包含登录凭证的注册请求。
  4. 如果注册成功,服务器返回 200 OK 信息。

这就是 VoIP 注册过程中在数据包捕获中的样子。 

现在我们理解了电话注册的运作原理,让我们探讨以下排障步骤以进一步隔离注册问题。

VoIP 服务器的名称解析

验证电话上配置的 VoIP 服务器的连接性和解析情况。

  • 首先,验证 IP 电话上配置的 DNS 服务器是否正确。 
  • 接下来,记下电话上配置的 VoIP 服务器的 FQDN 或 IP 地址
  • 从与 VoIP 电话在同一局域网并配置相同 DNS 服务器的设备:
    • 使用 nslookup 检查服务器的 FQDN 是否可解析。 
    • Ping 服务器的 FQDN/IP 地址 
  • 详细步骤请参考 解决 DNS 问题部分。

DHCP 选项

  • 在某些部署中,IP 电话必须在注册之前从其 TFTP 服务器下载配置文件。 这通过 DHCP 选项来完成。 验证 VoIP 电话是否使用特定 DHCP 选项,以确保其拥有在网络上注册和操作所需的网络信息。 这可能涉及 选项 66 和 150(TFTP 服务器信息)或 选项 43(TFTP、呼叫服务器、层 2 和 DSCP 优先级)。 如有需要,请联系 VoIP 提供商以获取更多信息。
  • 若有需要,请参阅 解决 DHCP选项问题 部分有关配置 DHCP选项的说明。 

被阻止的 SIP 流量

  • 确保 SIP 端口(UDP/5060 和 UDP/5080)未被阻止。 在 CMA 中,进入主页 > 事件,将过滤器设置为目标端口为 5060,5080,操作为阻止。 理想情况下,你不应该看到任何阻止事件。
  • 验证 Cato 是否因任何原因阻止了 VoIP 流量。 在 CMA 中,进入 主页 > 事件,设置过滤器为 "类别是 Voip 视频" 和 "动作是 阻止"。
  • 在 LAN 端的 Socket 上执行数据包捕获。 下面的 PCAP 显示了从 IP 电话到 SIP 服务器的单向流。 SIP 服务器没有给 IP 电话返回任何响应,这表明要么是路由问题,要么是目标服务器上未启用 SIP 服务,或防火墙阻止了连接(WAN/互联网)。
  • 要解决此问题,请查看可能阻止 SIP 流量的 WAN/互联网防火墙规则,并进行必要调整。
  • 如果在 CMA 上未观察到任何阻止事件,请检查网络以识别可能阻止此连接的设备

在电话上输入了错误的用户名/密码(401 未授权)

  • 如果电话无法注册并反复从服务器接收到 401 未授权信息而从未收到 200 确定响应,说明电话账户可能未在 SIP 服务器上正确配置或在电话上输入的用户名和密码不正确(见上方注册流程)。
  • 下面的 PCAP 显示来自 SIP 服务器的 401 未授权访问。
  • 请参考 解决 401 未授权以了解如何防止这种情况发生。

加密的 SIP

  • 如果使用 TCP/5061,很可能通过 TLS 加密 SIP。 在这种情况下,确保绕过对 SIP 服务器的 TLS 检查。 
  • 请参考 解决加密的 SIP以了解如何解决此问题。

无法拨打外线电话

IP 分片

  • 验证电话是否已在 SIP 服务器上注册,并且 SIP 邀请日志在电话和 SIP 服务器上都存在。
  • 尝试拨打电话并进行数据包捕获(PCAP),以分析电话、服务器和网络设备上的流量。 重点查找 SIP_INVITE 消息。
  • 确认网络是否正在分片 SIP UDP 数据包,并确保电话和 SIP 服务器都接收到分片。 注意,默认情况下,Cato 允许在 PoP 级别进行分片,这是期望的行为。

出口 IP

  • 为 SIP 流量设置不同的出口 IP 可能会导致意外问题,例如无法拨打外线电话或通话中断。 SIP的网络规则应配置为出口至单个出口IP。
  • 验证网络规则中VoIP流量的路由方法,并确保1, 以及仅使用 1个出口IP。 下图显示了2个出口IP地址。 尽管它提供了冗余,如果SIP流经不同的IP地址执行NAT,将会引起问题。
  • 要确认这是否导致了问题,请进行PCAP捕获以分析电话、SIP服务器和网络设备上的流量(查找SIP_REGISTER消息)。
  • 只要服务器响应,您可以在服务器发送的数据包信息头的Via部分验证Cato出口IP。 接收到的IP是Cato的出口IP,RPort是出站数据包从PoP的NAT源端口。
  • For best practice, configure only 1 egress IP on the network rule for VoIP traffic when the SIP server is reachable via the Internet. 这可以通过使用NAT选项实现。 有关如何为您的账户分配公共IP,请参考账户分配IP地址
  • 在高级配置中必须进行额外配置以确保仅使用1个出口IP用于VoIP流量。 有关更多详细信息,请参考解决无法拨打外部电话/通话掉线/单向语音问题

差劲的通话质量

通话质量差通常由数据包丢失或丢弃、高延迟或Cato隧道上的抖动引起。 本节将讨论如何进一步隔离问题是与Cato相关还是潜在的错误配置。

数据包丢失

  • 在网络分析中检查上行和下行流量的数据包丢失情况。
  • 如果数据包丢失与最后一英里数据包丢失同时发生,这表明是ISP问题或可能的WAN电缆故障。 这将影响所有流量。
    有关数据包丢失的详细故障排除 - 如何排查数据包丢失问题 

丢弃的数据包

  • 如果我们在网络分析中看到了高百分比的丢弃数据包,这将是由于QoS相关问题和可能的网络拥堵。 转到网络>优先级分析器以验证哪个类正在丢弃数据包。 展开类别(点击+图标展开)并检查VoIP流量的最常用应用程序以验证VoIP流量是否在同一类别中。
  • 有关将VoIP分配给最高优先级类的说明,请参考解决数据包丢弃问题(QoS)部分。 

高延迟/抖动

  • 对于抖动和延迟,请检查网络分析以识别Cato隧道上的高延迟或抖动。 根据需要执行PCAP。 ITU-T G.114推荐VoIP的单向延迟应小于150ms。
  • 如果观察到高延迟,请确保Socket已连接到最佳PoP
  • 如果观察到高抖动,可以考虑/查看QoS和带宽管理,通过将VoIP流量分配给最高优先级类来解决此问题。

单向语音

  • 对于遇到的单向声音,请进行呼叫的PCAP并识别使用的IP/端口。 根据VoIP供应商的要求,可能需要启用或禁用SIP ALG。
  • SIP ALG 在 Cato 执行 NAT 之后,将电话/ PBX 私有 IP 地址转换为 Cato 公共 IP 地址(反之亦然) 在明文 SIP 消息中。 默认情况下,Cato禁用SIP ALG。 如果需要更多详细信息,请联系VoIP供应商。
  • 请参考解决无法拨打外部电话/通话掉线/单向语音问题以获取启用ALG的高级配置说明。

解决发现的问题

解决DNS问题

  • 如果VoIP服务器的FQDN未能成功解析,请验证服务器的FQDN是否正确。
  • 如果VoIP服务器的FQDN正确,验证DNS设置是否正确。 有关在Cato中设置DNS的说明,请参考配置DNS设置
  • 使用其IP地址直接ping服务器
  • 如果ping VoIP服务器IP失败,通过检查电缆和WiFi设置验证连接。
  • 验证服务器是否允许通过防火墙进行ICMP ping
  • 确保服务器处于运行状态
  • 执行追踪路由,查看失败的位置。

解决DHCP选项问题

  • 如果需要特定的DHCP选项才能使VoIP电话连接以下载配置,可以在网络>DHCP>DHCP选项中配置DHCP选项。 有关为群组配置DHCP选项,请参考配置DHCP群组选项

解决数据包丢弃问题(QoS)

  • 始终确保VoIP在带宽管理(QoS)中具有最高优先级,因为当发生拥堵时低优先级流量将被丢弃。
  • 导航到网络>带宽管理。默认情况下,VoIP被分类为P10优先级。 如果您已定义其他更高优先级类(小于P10),请考虑将VoIP移动到最高优先级类以避免网络拥堵时的丢包。
  • 配置带宽管理配置文件提供了在Cato中设定带宽管理的详细信息。 

解决数据包丢失问题

  • 如果存在最后一英里的数据包丢失,请更换连接到socket的WAN端口的电缆。 如果这不能解决问题,请联系您的互联网提供商以进一步隔离问题。 
  • 高套接字利用率可能导致数据包丢失。 如果在网络中出现数据包丢失时观察到中央处理器使用率持续高,请联系支持
  • 如果在 VoIP 流量中观察到较高的数据包丢失,考虑启用数据包丢失缓解。 有关详细信息,请参阅优化流量.

解决加密 SIP

  • 如果使用TCP/5061,请应用TLSi绕过规则以防止TLSi检查VoIP流量。

解决401未经授权

  • IP 电话的成功注册取决于服务器和客户端的精确配置,分别为 SIP 服务器和 IP 电话。 因此,正确输入 SIP URI 和密码对于成功的服务注册至关重要。 验证这些设置是否在 VoIP 电话上正确配置。

解决无法拨出电话/呼叫丢失/单向语音

  • 如果选择了出口流量 IP,请确保在资源>高级配置下启用 SIP 流量的首选 IP 设置。 启用后,SIP 流量总是从同一 IP 地址出站,以避免临时 NATTed 到不同的出口 IP,防止潜在问题。 如果出口IP不可用(例如,在PoP维护期间),数据包将被丢弃。 完成此更改后,请确保重置 IP 电话。
  • 如果VoIP协议不是SIP,请联系支持以应用后端更改,强制流量停留在出口IP上。
  • 如果需要SIP ALG,请在资源>高级配置中启用。 

解决次优 PoP

  • 确保您连接到最近的 PoP。 导航到网络 > 站点 > 快照。 在设备概览下,您将看到链路的ISP和连接PoP。
  • 如果设备没有连接到最优 PoP,检查是否配置了“首选 PoP 位置”设置。 要执行此操作,导航到网络 > 站点 > 站点配置 > 常规 > 首选 PoP 位置。 如果设置错误,选择最优位置。

向 Cato 支持提出案例

如果上述步骤未能帮助隔离和解决问题,请与Cato支持开个案例。 开案时,考虑以下问题并提供相应的答案: 

  • 您有云端 VoIP 提供商还是您的电话系统在本地设立?
    • 如果基于云:
      • 受影响的电话位于何处(哪个Cato站点)?
      • VoIP 提供商是谁?
      • 电话注册服务器的 IP地址 或 网址 是什么?
    • 如果在本地:
      • 受影响的电话位于何处(哪个Cato站点)?
      • 电话注册服务器的 IP地址 是什么?
  • 问题是什么? 电话是否成功注册? 有音频问题吗?
  • 如果这是音频问题:
    • 双方都能听到铃声吗?
    • 双方都能听到音频吗?
    • 是否存在通话质量问题(音频断续)?
  • 通话是否提前断开?
    • 通话后是否在特定时间断开?
    • 通话是否在特定时间断开?
  •  

这篇文章有帮助吗?

3 人中有 3 人觉得有帮助

0 条评论