SIP 链接问题排查

设置 SIP 链接需要一系列复杂的集成。在集成过程中,您可以参阅本文来排查问题。

准备工作

若要排查 SIP 链接问题,请确保您拥有以下内容/权限:

  • SBC 上的数据包捕获数据
  • 防火墙上的数据包捕获数据
  • 用于查看数据包捕获数据的工具
  • 对 SBC 日志的访问权限

注意:如果您在问题排查方面还需要其他帮助,请与您的 SBC 供应商或运营商联系。

确认与 SIP 链接的信号连接

SIP 链接的信号传输采用传输层安全协议 (TLS)。TLS 由公共证书授权机构 (CA) 创建的证书包组成。您可以在管理控制台的 SIP 链接着陆页中检查 TLS 连接的状态。

  1. 确认您的 TLS 证书来自下列证书授权机构之一:
    • DigiCert
    • Entrust DataCard
    • GlobalSign
    • GoDaddy
    • Sectigo
  2. 启动传输控制协议 (TCP) 三次握手,然后进行 TLS 握手。
    证书交换时,Voice 会发送一个证书,然后发送 SBC 的证书。

  3. 进行此交换后,即可在 Voice 和 SBC 之间交换应用数据。

排查通话质量问题

如果您遇到通话质量问题,请确保您的网络延迟时间稳定且较短。当 Voice 流量在 Voice 与 SBC 之间的传输路径最短时,通话质量最佳。请确保往返延迟时间不超过 100 毫秒。

如需测试网络延迟时间,请执行以下操作:

  1. 从 SBC 的外部接口对 Voice 媒体前端服务器执行 ping 操作。
  2. 与 Voice 保持连接至少 4 小时。
  3. 确保延迟时间稳定且不超过 100 毫秒。不要计算平均延迟时间,并检查是否存在偶尔的延迟时间峰值。
  4. 如果延迟时间超过 100 毫秒,请使用 traceroute 实用程序显示出从 SBC 或客户端计算机到 Voice 媒体前端的网络路径。该路径应尽可能短,例如:
    • 对于桌面设备,请使用 > traceroute lens.voice.google.com> traceroute 74.125.39.139
    • 对于 Chromebook,请使用 > tracepath lens.voice.google.com
    • 对于 SBC,请使用 traceroute siplink.telephony.googtraceroute lens.voice.google.com

排查常见的信号连接问题

无法在 SBC 和 Voice 之间建立 TCP 会话

如果无法建立 TCP 会话,可能是防火墙或网络连接问题所致。SBC 可以发送 SYN 消息,但得不到响应。

若要解决此问题,请执行以下操作:

  1. 对 siplink.telephony.google 执行 ping 操作以确保网络连接可用。
  2. 为 Voice 启用目标端口 5672。
  3. 确认 DNS 能正常解析 siplink.telephony.goog。
  4. 确保防火墙允许来自 SBC 的流量,且 siplink.telephony.goog:5672 端口已打开。

无法在 SBC 和 Voice 之间建立 TLS 会话

如果无法建立 TLS 会话,可能是 PCA 认证问题所致。您可能会收到一条“严重”级别的提醒,告知您证书未知。

若要解决此问题,请执行以下操作:

  1. 确保与 PCA 关联的根证书和中间证书已上传到与 SIP 链接的 TLS 配置文件关联的密钥库中。为 SBC 认证生成 CSR 时,请遵循相应 SBC 供应商的互操作性文档中的指南。
  2. 确保您的 SBC 证书符合以下准则:
    • 密钥大小为 2,048
    • 使用 RSA 或 ECDSA 加密
    • 通用名称 (CN) 与为 SIP 链接创建的主机名一致
    • 证书中的 CN 域名与 Workspace 域名一致
    • 已启用双向身份验证
    • 已启用服务器和客户端身份验证
    • 通配符证书不受支持
  3. 确保在 pki.goog 中找到的 Google 认证 GTSR1 也上传到了 SIP 链接的相应 TLS 配置文件的密钥库中。
  4. 检查从 SBC 到 Google 的证书是否已过期。

SBC 邀请期间收到“404 Not Found”(404 找不到)或“604 Not Found”(604 找不到)响应

如果您在 SBC 发出邀请期间收到“404 Not Found”或“604 Not Found”响应,则表示您可能尚未为 Voice 分配 SBC 号码。

若要解决此问题,请执行以下操作:

  1. 确保已将 SBC 电话号码分配给 Voice 中的用户、自动客服或响铃群组。
  2. 确认“PAI”标头中的电话号码采用 E.164 格式。

SBC 邀请期间收到“400 Bad Request”(400 请求错误)响应

如果您在 SBC 发出邀请期间收到“400 Bad Request”响应,可能是您使用的密钥不正确。

若要解决此问题,请执行以下操作:

  1. 检查邀请消息,确保其中包含正确的“X-Google-Pbx-Trunk-Secret-Key”SIP 标头值。此密钥是在您设置 SIP 链接时生成的。
  2. 确认“P-Asserted-Identity”标头中的电话号码采用 E.164 格式

收到来自 Voice 的“403 Forbidden”(403 已禁止)响应

如果您收到“403 Forbidden”响应,则表示 SBC 向 Voice 发送的邀请中的请求 URI (RURI) 可能有误。请确认 RURI 的主机是 localhost.sip.voice.google.com

排查常见的媒体连接问题

开始排查媒体连接问题之前,请确保您的网络满足以下条件:

  • 您的网络使用数据报传输层安全协议 (DTLS) 加密或者用于媒体流的会话描述协议安全描述 (SDES) 加密,但未同时使用这二者。
  • 您未使用未加密的 SDP 提议。通过此方式进行的通话会自动终止。
  • MKI 或 Crypto Lifetime 必须处于停用状态。
  • 若采用 DTLS,则须在 SBC 中使用自签名证书。证书不必是 CA 签名的证书。
  • 确保在 SBC 的 Voice 配置文件中配置了下列受支持的编解码器之一:G711 Mulaw (PCMU)、G711 Alaw (PCMA)、Opus 或 G722。
  • 双音多频 (DTMF) 以电话事件的形式存在。
  • 为 SBC 的外部接口分配专用公共 IP。
  • 为防火墙配置源 NAT 和目标 NAT。

证书协商失败 (DTLS)

如果您收到一条提醒消息(级别:严重;说明:未知 CA),则说明用于 DTLS 的证书可能未经认证。

DTLS 协商始于提议和应答 SDP 连接字段中指定的媒体端点之间的证书握手。协商成功后,媒体会通过加密连接在 SBC 和 Google Voice 之间传输。

如要解决此问题,请确保证书包含来自 SBC 的自签名证书。请勿使用公共 CA 签名的证书,因为这会使 UDP 上出现碎片,进而导致出现问题。

从 SBC 向 Voice 发出的客户端问候消息未收到响应 (DTLS)

使用 DTLS 加密时,您可能会收到从 SBC 向 Voice 发出的多条客户端问候消息,但没有响应。

若要解决此问题,请执行以下操作:

  • 检查防火墙端口,确保从 SBC 到 Voice 媒体 IP 子网 (74.125.39.0/24) 端口 19305 或 26500 的媒体流是双向的。
  • 对于 SBC 公共 IP,媒体流应为:媒体端口 <> 74.125.39.0/24:(19302-19308、26500)。如需了解详情,请参阅 SIP 链接的防火墙端口部分
  • Google Voice 媒体 IP 可通过 ping 访问。此外,若要测试是否能从 SBC 访问 Google Voice 媒体 IP,也可以使用这种方式。

从 SBC 到 Voice 的 UDP 没有响应

若要解决此问题,请执行以下操作:

  • 检查防火墙端口,确保从 SBC 到 Voice 媒体 IP 子网 (74.125.39.0/24) 端口 19305 或 26500 的媒体流是双向的。
  • 对于 SBC 公共 IP,媒体流应为:媒体端口 <> 74.125.39.0/24:(19302-19308、26500)。如需了解详情,请参阅 SIP 链接的防火墙端口部分。
  • Google Voice 媒体 IP 可通过 ping 访问。此外,若要测试是否能从 SBC 访问 Google Voice 媒体 IP,也可以使用这种方式。
  • 执行网络地址转换 (NAT) 时,防火墙不得修改 SBC 发送的端口。如果修改,Voice 会丢弃从 SBC 发送的媒体数据包,因为源会显示为 SBC 的公共 IP,但端口会与协商的 SDP 提议和应答不同。

数据包流是双向的,但通话没有声音

如要解决此问题,请检查用于媒体的加密方式。加密媒体时,应使用 AES_CM_128_HMAC_SHA1_80

Google 使用 486 响应邀请 (SDES)

如要解决此问题,请检查用于媒体的加密方式。

如果邀请包含 SIP 链接不支持的 MKI,则请停用 MKI。

相关主题


“Google”、Google Workspace 以及相关标志和徽标是 Google LLC 的商标。其他所有公司名和产品名是其各自相关公司的商标。

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
14521740021221285898
true
搜索支持中心
true
true
true
true
true
73010
false
false