你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
会话边界控制器 (SBC) 连接问题
设置直接路由时,可能会遇到以下会话边界控制器 (SBC) 连接问题:
- 未收到会话初始协议 (SIP) OPTIONS。
- 传输层安全性 (TLS) 连接出现问题。
- SBC 没有响应。
- SBC 在 Azure 门户中标记为非活动状态。
以下情况最有可能导致此类问题:
- TLS 证书遇到问题。
- SBC 未正确配置为直接路由。
本文列出了与 SIP OPTIONS 和 TLS 证书相关的一些常见问题,并提供了可以尝试的解决方案。
SIP OPTIONS 进程概述
SBC 会将 TLS 连接请求(包括 TLS 证书)发送到 SIP 代理服务器完全限定的域名 (FQDN)(例如,sip.pstnhub.microsoft.com)。
SIP 代理会检查连接请求。
- 如果请求无效,则 TLS 连接会关闭,SIP 代理不会从 SBC 接收 SIP OPTIONS。
- 如果请求有效,则会建立 TLS 连接,SBC 会将 SIP OPTIONS 发送到 SIP 代理。
收到 SIP OPTIONS 后,SIP 代理会检查记录路由,以确定 SBC FQDN 是否属于已知的通信资源。 如果未在那里检测到 FQDN 信息,SIP 代理会检查联系人标头。
如果检测到并识别 SBC FQDN,SIP 代理会使用相同的 TLS 连接发送 200 OK 消息。
SIP 代理会将 SIP OPTIONS 发送到 SBC FQDN,该 FQDN 列在从 SBC 收到的 SIP 选项的“联系人”标头中。
从 SIP 代理接收 SIP OPTIONS 后,SBC 会通过发送 200 OK 消息来响应。 此步骤确认 SBC 正常。
最后一步,是 SBC 在 Azure 门户中标记为“联机”。
SIP OPTIONS 问题
成功建立 TLS 连接后,SBC 能够向 SIP 代理发送和接收消息,但仍可能存在影响 SIP OPTIONS 的格式或内容的问题。
SBC 未收到来自 SIP 代理的“200 OK”响应
如果使用的是旧版 TLS,则可能会出现这种情况。 若要强制实施更严格的安全性,请启用 TLS 1.2。
请确保 SBC 证书未自签名,并且是从受信任的证书颁发机构 (CA) 获取该证书的。
如果使用的是 TLS 版本 1.2,并且 SBC 证书有效,则可能会发生此问题,因为 FQDN 在 SIP 配置文件中配置错误,并且无法识别为属于任何通信资源。 检查是否存在以下条件,并修复找到的任何错误:
- 记录路由或联系人标头中的 SBC 提供的 FQDN 不同于 Azure 通信资源中配置的 FQDN。
- 联系人标头包含 IP 地址,而不是 FQDN。
- 域未完全验证。 如果添加以前未进行验证的 FQDN,则必须对其进行验证。
SBC 收到“200 OK”响应,但未收到 SIP OPTIONS
SBC 从 SIP 代理收到了 200 OK 响应,但未收到由 SIP 代理发送的的 SIP OPTIONS。 如果发生此错误,请确保记录路由或联系人标头中列出的 FQDN 正确,并解析为正确的 IP 地址。
此问题的另一个可能原因可能是防火墙规则阻止了传入流量。 请确保防火墙规则配置为允许来自所有 SIP 代理信令 IP 地址的传入连接。
SBC 状态间歇性处于非活动状态
如果出现以下情况,则可能会出现此问题:
SBC 配置为不将 SIP OPTIONS 发送到 FQDN,而是发送到解析为的特定 IP 地址。 在维护或中断期间,这些 IP 地址可能会更改为其他数据中心。 因此,SBC 会将 SIP OPTIONS 发送到非活动或无响应的数据中心。 若要解决问题,请执行以下操作:
请确保 SBC 可发现并配置为仅将 SIP OPTIONS 发送到 FQDN。
确保路由中的所有设备(如 SBC 和防火墙)都配置为允许与所有 Microsoft SIP 信令 FQDN 的通信。
若要在从 SBC 连接到遇到问题的数据中心时提供故障转移选项,则必须将 SBC 配置为使用所有三个 SIP 代理 FQDN:
- sip.pstnhub.microsoft.com
- sip2.pstnhub.microsoft.com
- sip3.pstnhub.microsoft.com
注意
支持 DNS 名称的设备可以使用 sip-all.pstnhub.microsoft.com 解析为所有可能的 IP 地址。
有关详细信息,请参阅 SIP 信令:FQDN。
安装的根证书或中间证书不是 SBC 证书链颁发者的一部分。 当 SBC 在身份验证过程中启动三向握手时,Azure 服务无法验证 SBC 上的证书链并重置连接。 SBC 在服务缓存上再次加载公共根证书或证书链固定在 SBC 上后,就可以再次进行身份验证。 请确保 SBC 上安装的中间证书和根证书正确无误。
有关证书的详细信息,请参阅 SBC 证书和域名。
FQDN 与提供的证书中 CN 或 SAN 的内容不匹配
如果通配符与较低级别的子域不匹配,则会出现此问题。 例如,通配符 \*\.contoso.com
与 sbc1.contoso.com
匹配,但与 sbc.acs.contoso.com
不匹配。 通配符下不能有多个级别的子域。 如果 FQDN 与提供的证书中的公用名 (CN) 或使用者备用名称 (SAN) 不匹配,请请求与域名匹配的新证书。
有关证书的详细信息,请参阅 SBC 证书和域名。
TLS 连接问题
如果 TLS 连接立即关闭,并且未从 SBC 接收 SIP OPTIONS,或者未从 SBC 接收 200 OK,则问题可能与 TLS 版本有关。 SBC 上配置的 TLS 版本应为 1.2。
SBC 证书是否是从受信任的 CA 进行自签名的
如果 SBC 证书是自签名的,则它无效。 请确保从受信任的证书颁发机构 (CA) 获取 SBC 证书。
有关受支持的 CA 列表,请参阅 SBC 证书和域名。
SBC 不信任 SIP 代理证书
如果 SBC 不信任 SIP 代理证书,请在 SBC 上下载并安装 Baltimore CyberTrust 根证书和 DigiCert 全局根 G2 证书。 若要下载这些证书,请参阅 Microsoft 365 加密链。
有关受支持的 CA 列表,请参阅 SBC 证书和域名。
SBC 证书无效
如果 Azure 门户中的 SBC 连接状态指示 SBC 证书已过期,请从受信任的证书颁发机构 (CA) 请求或续订证书。 然后,将其安装在 SBC 上。 有关受支持的 CA 列表,请参阅 SBC 证书和域名。
更新 SBC 证书时,必须删除使用旧证书从 SBC 到 Microsoft 建立的 TLS 连接,并使用新证书重新建立这些连接。 这样做可确保不会在 Azure 门户中触发证书过期警告。 若要删除旧的 TLS 连接,请在低流量(例如维护时段)的时间段内重启 SBC。 如果无法重启 SBC,请联系供应商,获取强制关闭所有旧 TLS 连接的说明。
SBC TLS“Hello”消息中缺少 SBC 证书或中间证书
检查是否已正确安装有效的 SBC 证书和所有必需的中间证书,以及 SBC 上的 TLS 连接设置是否正确。
有时,即使一切看起来正确,对数据包捕获的仔细检查可能会显示未将 TLS 证书提供给 Microsoft 基础结构。
SBC 连接中断
即使证书和 SBC 设置遇到任何问题,TLS 连接也会中断或未得到设置。
SBC 与 Microsoft 网络之间的路径上的中间设备(例如防火墙或路由器)之一可能会关闭 TLS 连接。 检查托管网络中是否存在任何连接问题,并修复这些问题。