直接路由 - 定义和 RFC 标准

本文介绍 Teams 电话直接路由如何实现 RFC 标准协议。 本文适用于负责配置本地会话边界控制器 (SBC) 与会话初始协议 (SIP) 代理服务之间的连接的语音管理员。

客户 SBC 与 Microsoft Teams 后端中的以下组件交互:

  • 用于信号的 SIP 代理。 此组件是直接路由的面向 Internet 的组件,用于处理 SBC 与直接路由之间的 SIP (TLS) 连接。

  • 媒体的媒体处理器 。 此组件是处理媒体流量的面向 Internet 的直接路由组件。 此组件使用 SRTP 和 SRTCP 协议。

有关直接路由的详细信息,请参阅 Teams 电话直接路由

有关直接路由如何实现 SIP 协议的详细信息,请参阅 直接路由 - SIP 协议

RFC 标准

直接路由符合 RFC 标准。 连接到直接路由的 SBC 还必须符合以下 RFC (或其后续) 。

适用于支持非媒体旁路模式的设备的标准

以下标准适用于仅支持非媒体旁路模式的设备:

  • RFC 3261 SIP:会话初始协议
  • RFC 3325。 受信任网络中断言标识的会话初始协议的专用扩展--有关处理 P-Asserted-Identity 标头的部分。 直接路由使用隐私 ID 标头发送 P-Asserted-Identity。
  • RFC 4244 会话初始协议的扩展 (SIP) ,以获取所需的历史记录信息。 另请参阅:路由 SIP 协议说明,了解详细信息。
  • RFC 3892 会话初始协议 Referred-By 机制
  • RFC 3891 会话初始协议 (SIP) “替换”标头
  • RFC 6337 会话初始协议 (SIP) 套餐/应答模型的使用情况。 请参阅“与 RFC 的偏差”部分。
  • RFC 3711RFC 4771。 使用 SRTP 保护 RTP 流量。 SBC 必须能够使用 SDES 建立密钥。
  • RFC 8035 会话描述协议 (SDP) RTP/RTCP 多路复用的套餐/应答说明

适用于支持媒体旁路模式的设备的标准

除了列出的适用于非bypass 模式的标准外,还使用以下标准用于媒体旁路模式:

适用于支持向 E911 提供商传送位置信息的标准

与 RFC 的偏差

下表列出了 RFC () Microsoft SIP 或媒体堆栈的实现偏离标准的部分:

RFC 和节 说明 偏差
RFC 6337,第 5.3 节保留和恢复媒体 RFC 允许使用“a=inactive”、“a=sendonly”、a=recvonly“将呼叫置于保留状态。 SIP 代理仅支持“a=inactive”,并且不了解 SBC 发送“a=sendonly”还是“a=recvonly”。
RFC 6337,第 5.4 节:接收 SDP 时的行为,c=0.0.0.0 RFC3264 要求代理能够接收连接地址为 0.0.0.0 的 SDP,在这种情况下,这意味着不应将 RTP 和 RTCP 发送到对等方。 SIP 代理不支持此选项。
RFC 3261,SIP 协议的第 25 节扩充的 BNF “#”字符应作为“%23”发送 SIP 代理以未转义的方式发送请求 URI 中的“#”字符。
RFC 3264,第 8.3.1 节:使用 SDP 的套餐/答案模型 3264 详细介绍了 MAY (可选的) 媒体重新定位机制,允许在建立会话后更改媒体端口、IP 地址或传输。 不支持可选的媒体重新定位。 在通话期间,不支持用于更新媒体端口、IP 地址或传输的 SIP 请求。 不会将媒体发送到更新的会话目标;来自直接路由的媒体将继续流向原始目标。

RFC 支持选项的说明;产品/服务发送后,必须准备好在旧端口和新端口上接收媒体。 在收到答案并且媒体到达新端口之前,提供方不应停止侦听旧端口上的媒体。|

TCP/TLS 传输注意事项

(新的或对话中) 发送 SIP 请求时,Microsoft SIP 代理可能会打开新的 TCP/TLS 连接,或者重用现有连接(如果存在)。

  • 每个 SIP 代理虚拟机每个远程 FQDN/IP 最多有两个 TCP/TLS 连接。 发送 SIP 请求之前,SIP 代理会检查与目标 SBC/中继 FQDN 解析的 IP 地址的活动 TCP 连接。 如果存在两个连接,则重复使用它们。 如果两个连接不存在,则会打开一个新连接。

    • 此逻辑按 SIP 代理虚拟机执行。

    • SIP 代理 IP 由每个区域多个虚拟机提供服务。

    • 从 SBC 的角度来看,可能有多个来自所有 SIP 代理区域的入站代理连接。

  • SIP 代理打开的 TCP/TLS 连接不一定只要调用就保持打开状态。 但是,在响应 SIP 请求后,连接不会立即关闭。 如果连接未超时,则可能会将其重新用于其他 SIP 请求。

  • SIP 代理不支持连接别名,如 RFC 5923:会话初始协议中的连接重用 (SIP) 中所述。

    • 出站 SIP 代理 TCP 连接仅服务出站 SIP 代理请求 (SBC) 和相关响应。

    • 来自 SBC 的入站 SIP 代理 TCP 连接 (,仅) 服务传入 SIP 请求和相关响应。

超时策略

  • SIP 代理 TCP 空闲超时为两分钟。 当通过连接发生 SIP 事务时,计时器会重置。

  • SIP 代理根据 RFC 5626 发送应用程序 CRLF 保持活动状态:在会话初始协议 (SIP) 中管理 Client-Initiated 连接

    • 保持连接不会重置 TCP 空闲计时器。

    • 供应商 SBC 发送的 CRLF 保持活动会重置 TCP 空闲计时器。

  • 由于前面提到的别名约束,供应商 SBC 不得使用对话内 SIP 请求重置 SIP 代理出站到供应商 SBC 创建的连接上的计时器。

  • 经过两分钟的闲转, (FIN,ACK) 将在大约 10 到 20 秒内通过 SIP 代理传输到供应商 SBC。

注释

  • 建议 SBC 主动重用连接,例如 SIP 代理。 此方法可节省时间,这是 TCP 和 TLS 连接所需的时间。

  • SBC 应每小时至少续订一次连接。

  • 上传新的 SBC 证书时,SBC 必须续订所有连接。

  • 更新域配置时,建议续订 SBC 的连接。 否则,在续订内部 SIP 代理缓存后,将应用新的配置 -- 最多 4 小时。

操作模式

直接路由有两种操作模式:

  • 在没有媒体旁路 的情况下,所有 RTP 流量都在 Teams 客户端、媒体处理器和 SBC 之间流动。

  • 使用媒体旁路 ,其中所有 RTP 媒体在 Teams 终结点和 SBC 之间流动。

SIP 流量始终流经 SIP 代理。

DTMF

媒体堆栈不支持带内 DTMF。