规划直接路由的本地媒体优化

公用电话交换网 (PSTN) 语音被视为业务关键型应用程序,对语音质量寄予厚望。 Microsoft Teams 电话的直接路由允许你控制媒体流量流,以适应世界各地的各种企业的大量网络拓扑和本地电话设置。

直接路由的本地媒体优化使你可以通过以下方式管理语音质量:

  • 控制媒体流量如何在 Teams 客户端与客户会话边界控制器之间流动, (SBC) 。

  • 使媒体在公司网络子网的边界内保持本地。

  • 允许在 Teams 客户端和 SBC 之间传输媒体流,即使 SBC 位于具有专用 IP 的企业防火墙后面且不直接对 Microsoft 可见也是如此。

本地媒体优化支持两种方案:

  • 通过连接到main会话初始协议 (SIP) 中继的集中式 SBC 集中所有本地中继。 此方案为公司的所有本地分支机构提供电话服务。

  • SBC 的虚拟网络拓扑。 在此方案中,本地分支机构中的 SBC 连接到集中的代理 SBC,该代理 SBC 可通过其外部 IP 地址对Teams 电话可见并与之通信。 在虚拟网络拓扑中,下游 SBC 通过内部 IP 进行通信,对Teams 电话不直接可见。

本文介绍功能以及客户方案和解决方案。 有关配置的详细信息,请参阅 配置本地媒体优化

注意

如果要将媒体保存在 Intranet 的边界内,建议使用本地媒体优化。 但是,如果已有媒体旁路并且仅使用 SBC 的公共 IP 地址,则无需移动到本地媒体优化。 可以继续使用媒体旁路。 有关详细信息,请参阅 计划媒体旁路

有关哪些 SBC 供应商支持本地媒体优化的信息,请参阅经 直接路由认证的会话边界控制器

支持的客户方案

对于此讨论,假设 Contoso 在全球运行多个业务,如下所示。 (请注意,欧洲和亚太地区仅用作示例。一家公司可能有多个不同的区域具有类似的要求。)

  • 在欧洲,Contoso 在大约 30 个国家/地区设有办事处。 每个办公室都有自己的专用交换机 (PBX) 。

    Contoso 被提供了一个选项,用于将所有 30 个欧洲办事处的中继集中在一个位置-阿姆斯特丹。 Contoso 在阿姆斯特丹部署了 SBC,提供了足够的带宽来通过集中位置运行呼叫,将中央 SIP 中继连接到集中位置,并开始从阿姆斯特丹为所有欧洲位置提供服务。

  • 在亚太地区,Contoso 在不同的国家/地区拥有多个办事处。

    在许多国家/地区,公司仍然在本地分支机构 (TDM) 中继进行时分复用。 TDM 中继的集中化不是 APAC 区域中的一个选项,因此无法切换到 SIP。 假设亚太地区有 50 多个 Contoso 分支机构, (SBC) 数百个网关。 在此方案中,由于缺少公共 IP 地址和/或本地 Internet 突破,无法将所有网关与直接路由接口配对。 此外,某些国家/地区实施在没有本地 PSTN 网络连接的情况下无法满足的法规要求。

Contoso 根据其业务要求,使用本地媒体优化实现两种解决方案,用于直接路由:

  • 在欧洲,所有中继都是集中式的,并且根据用户位置在中央 SBC 和用户之间流动媒体。

    • 如果用户连接到公司网络的本地子网 (即用户是内部) ,则媒体在中央 SBC 的内部 IP 与用户的 Teams 客户端之间流动。

    • 如果用户在公司网络边界之外(例如,如果用户使用公共无线 Internet 连接),则该用户被视为外部用户。 在这种情况下,媒体在中央 SBC 的外部 IP 和 Teams 客户端之间流动。

  • 在 APAC 区域中,集中式代理 SBC 与 Microsoft 直接路由配对,后者在直接路由接口和本地分支机构的下游 SBC 之间定向媒体。

    本地分支机构中的下游 SBC 对 APAC 中的直接路由不直接可见,但它们使用 Set-CSOnlinePSTNGateway cmdlet 在 Teams 电话 内创建虚拟网络拓扑进行配对。 如果可能,媒体始终保留在本地。 外部用户具有在 Teams 客户端与代理 SBC 的公共 IP 之间流动的媒体。

具有集中式中继的中央 SBC

若要构建解决方案,其中 PSTN 服务通过具有连接的集中式 SIP 中继的单个中央 SBC 提供给所有本地分支机构,Contoso 租户管理员会将一个 SBC (centralsbc.contoso.com) 与该服务配对。 SBC 有一个连接到它的集中式 SIP 中继。

  • 当用户位于公司的内部网络中时,SBC 为媒体提供 SBC 的内部 IP。

  • 当用户在公司网络外部时,SBC 提供 SBC 的外部 (公共) IP。

注意

示例、表或关系图中的所有值仅用于说明目的。

表 1. SBC 的示例网络参数

位置 SBC FQDN 内部子网 外部 NAT (受信任的 IP) SBC 外部 IP 地址 SBC 内部 IP 地址
阿姆斯特丹 centralsbc.contoso.com 192.168.5.0/24 172.16.76.73 172.16.76.71 192.168.5.5
德国 未部署 192.168.6.0/24 172.16.76.74 未部署 未部署
法国 未部署 192.168.7.0/24 172.16.76.75 未部署 未部署

内部用户

下图显示了用户连接到用户家庭分支机构或站点中的公司网络时的流量流。

在本地时,用户被分配到德国的本地分支机构。 用户通过 Teams 拨打直接路由电话。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信,但在调用期间生成的媒体会流向中央 SBC 的内部 IP 地址。

  • SBC 将流重定向到Teams 电话和连接的 PSTN 网络。

  • 中心 SBC 仅对通过外部 IP 地址Teams 电话可见。

图 1. 当用户在具有集中式 SBC 和连接的集中式 SIP 中继的“主”站点中时,流量流

显示流量流本地媒体优化的关系图。

外部用户

下图显示了用户不在本地且未连接到公司网络 (即用户设备通过移动设备或公共 Wi-Fi) 连接到 Internet 时的流量流。 用户通过 Teams 拨打直接路由电话:

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信,但在这种情况下,调用期间生成的媒体会流向中央 SBC 的外部 IP 地址。

  • SBC 将流重定向到Teams 电话和连接的 PSTN 网络。

  • 中心 SBC 仅对通过外部 IP 地址Teams 电话可见。

在这种情况下,无论用户是德国的分支机构本地还是任何其他分支机构,其行为都类似。 用户被视为外部用户,因为用户不在公司网络的边界之外。

图 2. 当用户使用集中式 SBC 和连接的集中式 SIP 中继在外部时,流量流

显示流量流本地媒体优化的关系图。

具有连接的下游 SBC 的代理 SBC

若要构建一个解决方案,即在 TDM 中继集中化不是选项的 APAC 区域的所有本地分支机构中提供 PSTN 服务,Contoso 管理员会将一个 SBC (proxysbc.contoso.com) (也称为代理 SBC)与直接路由服务配对。

之后,Contoso 管理员会添加一些下游 SBC,指示可以通过代理 SBC proxysbc.contoso.com 访问它们。 下游 SBC 没有公共 IP;但是,可以将其分配给语音路由。 下表显示了示例网络参数和配置。

当用户位于下游 SBC 所在的本地分支机构时,媒体流量直接在用户和本地下游 SBC 之间流动。 如果用户在公共 Internet) 上的办公室 (外部,媒体会从用户流向代理 SBC 的公共 IP,该 IP 将代理到相关的下游 SBC () 。

表 2. 示例 SBC 网络信息

位置 SBC FQDN 内部子网 外部 NAT (受信任的 IP) SBC 外部 IP 地址 SBC 内部 IP 地址
越南 VNsbc.contoso.com 192.168.1.0/24 172.16.240.110 192.168.1.5
印度尼西亚 IDsbc.contoso.com 192.168.2.0/24 172.16.240.120 192.168.2.5
新加坡 proxysbc.contoso.com 192.168.3.0/24 172.16.240.130 172.16.240.133 192.168.3.5

内部用户

下图显示了用户在 APAC 区域的办公室内时的方案的高级流量流。 用户分配到越南的本地分支机构,并且位于本地,通过 Teams 进行直接路由电话呼叫。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信,但在调用期间生成的媒体会流向本地 SBC 的内部 IP 地址。

  • 本地 SBC 将流重定向到新加坡的代理 SBC 和连接的本地 PSTN 网络。

  • 代理 SBC 仅对通过外部 IP 地址Teams 电话可见,并将流从下游 SBC (在此例中将越南) 中的本地 SBC 路由到Teams 电话。

  • 本地分支机构中的下游 SBC 不对直接Teams 电话可见,而是在设置本地媒体优化时由 Contoso 管理员定义的虚拟网络拓扑中映射。

注意

根据配置的本地媒体优化模式,本地用户和非本地用户的行为可能有所不同。

有关可能模式和相关行为的详细信息,请参阅 配置本地媒体优化

图 3. 当用户使用代理 SBC 和连接的下游 SBC 在“家庭”网络中时,流量流

再次显示流量流本地媒体优化的关系图。

外部用户

下图显示了用户在公司网络边界之外时的流量流。 用户不在本地, (不在公司网络) 的边界内。 用户通过 Teams 向 越南 中的电话号码发出直接路由电话呼叫。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信,但在调用期间生成的媒体会首先流向新加坡代理 SBC 的外部 IP 地址。

  • 根据配置和语音策略 (请参阅 配置本地媒体优化) ,代理 SBC 将流重定向到越南中的下游 SBC。

  • 越南中的下游 SBC 将流重定向到连接的本地 PSTN 网络。

  • 代理 SBC 仅对通过外部 IP 地址Teams 电话可见。

  • 本地分支机构中的下游 SBC 不对直接Teams 电话可见,但在设置本地媒体优化时由 Contoso 管理员定义的虚拟网络拓扑中映射。 在此示例中,用户被视为外部用户,因为用户不在公司网络的边界之外。

图 4. 当用户使用代理 SBC 和连接的下游 SBC 在外部时流量流

关系图再次显示流量流本地媒体优化。

本地媒体优化模式

本地媒体优化支持两种模式:

  • 模式 1:始终绕过。 在这种情况下,如果用户是内部用户,则无论内部用户的实际位置如何,媒体都会流经本地下游 SBC 的内部 IP 地址;例如,在下游 SBC 所在的同一分支机构内或位于其他某个分支机构中。

  • 模式 2:仅适用于本地用户。 在此模式下,仅当内部用户与下游 SBC 位于同一分支机构时,媒体才会直接流向本地下游 SBC 的内部 IP 地址。

若要区分本地媒体优化模式,租户管理员需要使用 Set-CSonlinePSTNGateway cmdlet 将每个 SBC 的 -BypassMode 参数设置为“Always”或“OnlyForLocalUsers”。 有关详细信息,请参阅 配置本地媒体优化

注意

如果用户是内部用户, 则需要通过内部 IP 地址在用户与 SBC 之间建立媒体连接。 在这种情况下,没有媒体的公共交通中继回退,因为 SBC 将为媒体连接提供内部 IP。

模式 1:始终绕过

如果分支机构之间有良好的连接,则建议的模式是“始终绕过”。

例如,假设一家公司在阿姆斯特丹有一个集中式 SIP 中继,该中继为 30 个国家/地区提供服务,并且所有 30 个站点和本地用户之间都有良好的连接。 德国还有一个分支机构,在那里部署了本地 SBC。

德国的 SBC 可以配置为“始终绕过”模式。 无论用户位于何处,都将通过 SBC 的内部 IP 地址直接连接到 SBC;例如,从法国到德国。 有关参考,请参阅下图。

下面描述了两种方案:

  • 方案 1. 用户与联机语音路由策略中定义的 SBC 位于同一位置。

  • 方案 2. 用户和网关位于不同的站点中。

方案 1. 用户与联机语音路由策略中定义的 SBC 位于同一位置

阿姆斯特丹的 SBC 配置为德国本地下游 SBC 的代理 SBC。 用户位于德国,与本地 SBC 的公司网络位于同一子网中。 (代理的 SBC 和下游) 都配置为“始终绕过”模式。 联机语音路由策略指定应将德国境内 (区号为 +49) 的呼叫路由到德国的本地 SBC。 所有其他调用都应路由到阿姆斯特丹的代理 SBC。 但是,如果德国的 SBC 失败,德国的呼叫也应路由到阿姆斯特丹的代理 SBC。 下表总结了示例配置。

表 3. 方案 1 的示例配置

用户物理位置 用户拨打号码 联机语音路由策略 为 SBC 配置的模式 媒体流
德国 +49 1 437 2800 优先级 1:^+49 (\d{8}) $ -DEsbc.contoso.com
优先级 2:.* - proxysbc.contoso.com
DEsbc.contoso.com - 始终绕过
proxysbc.contoso.com - 始终绕过
Teams 用户 <-> DEsbc.contoso.com

下图显示了德国内部用户通过 Teams 直接路由电话呼叫到德国号码的高级流量流。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信。

  • 调用期间生成的媒体将流向本地 SBC 的内部 IP 地址。

  • 本地 SBC 将流重定向到阿姆斯特丹的代理 SBC 和连接的本地 PSTN 网络。

  • 代理 SBC 仅可通过外部 IP 地址Teams 电话可见,并且从下游 SBC (路由流,在这种情况下,德国的本地 SBC) Teams 电话。

  • 本地分支机构中的下游 SBC 不对直接Teams 电话可见,而是在设置本地媒体优化时由 Contoso 管理员定义的虚拟网络拓扑中映射。

图 5. 使用“始终绕过”模式的流量流,并且用户位于“主页”站点中

显示流量流本地媒体优化的关系图。

方案 2:用户和网关位于不同的站点中

阿姆斯特丹的 SBC 配置为德国本地下游 SBC 的代理 SBC。 (代理的 SBC 和下游) 都配置为“始终绕过”模式。 位于当地分支机构的法国内部用户正在向德国发出直接路由呼叫。 在线语音路由策略指定应将区号为 +49) 的德国呼叫路由到德国本地 SBC (。 所有其他调用都应路由到阿姆斯特丹的代理 SBC。 但是,如果德国的 SBC 失败,则德国的所有呼叫都应路由到阿姆斯特丹的代理 SBC。 下表总结了示例配置。

表 4. 方案 2 的示例配置

用户物理位置 用户拨打号码 联机语音路由策略 为 SBC 配置的模式 媒体流
法国 +49 1 437 2800 优先级 1:^+49 (\d{8}) $ -DEsbc.contoso.com
优先级 2:.* - proxysbc.contoso.com
DEsbc.contoso.com – 始终绕过 proxysbc.contoso.com – 始终绕过 Teams 用户 <- > DEsbc.contoso.com

下图显示了位于法国的德国内部用户通过 Teams 向德国号码发出直接路由电话呼叫时的高级流量流。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信。

  • 调用期间生成的媒体将直接流向德国内部 IP 地址中的 SBC。

  • 德国的 SBC 将流重定向到阿姆斯特丹的代理 SBC 和连接的本地 PSTN 网络。

图 6. 具有“始终绕过”模式的流量流,并且用户不在“主页”站点中,而是位于内部网络中

图中显示了流量流本地媒体优化。

模式 2:仅适用于本地用户

如果本地分支机构之间的连接不正确,但每个本地分支机构和区域办事处之间的连接良好,则建议的模式为“仅适用于本地用户”。

例如,在 APAC 区域中,假设 Contoso 在不同的国家/地区拥有多个办事处。 对于许多国家/地区,无法切换到 SIP,因为该公司在许多本地分支机构中仍有 TDM 中继。 在 APAC 区域中,TDM 中继的集中化不是一个选项。 此外,亚太地区有 50 多个 Contoso 分支机构, (SBC) 数百个网关。

若要构建一个解决方案,即在无法选择集中 TDM 中继的 APAC 区域的所有本地分支机构中提供 PSTN 服务,Contoso 管理员将新加坡的一个区域 SBC 作为代理 SBC 与直接路由服务配对。 当地分支机构之间的直接连接并不好,但每个本地分支机构与新加坡区域 SBC 之间有着良好的联系。 对于区域 SBC,管理员选择“始终绕过”模式。 对于本地下游 SBC,管理员选择“仅适用于本地用户”模式。

下面描述了两种方案:

  • 方案 1. 用户与联机语音路由策略中定义的 SBC 位于同一位置

  • 方案 2. 用户和网关位于不同的站点中

方案 1. 用户与联机语音路由策略中定义的 SBC 位于同一位置

假设新加坡的 SBC 配置为 越南 和印度尼西亚的本地下游 SBC 的代理 SBC。 用户与本地 SBC 位于同一位置的 越南。 联机语音路由策略指定应将区号为 +84) 的越南 (呼叫路由到 越南 中的本地 SBC。 所有其他呼叫应路由到新加坡的代理 SBC。 但是,如果越南中的 SBC 失败,越南中的调用应路由到新加坡的代理 SBC。 下表总结了示例配置。

表 5. “仅适用于本地用户”模式方案 1 的示例配置

用户物理位置 用户拨打号码 联机语音路由策略 为 SBC 配置的模式 媒体流
越南 +84 4 3926 3000 优先级 1:^+84 (\d{9}) $ -VNsbc.contoso.com
优先级 2:.* - proxysbc.contoso.com
VNsbc.contoso.com - 仅适用于本地用户
proxysbc.contoso.com - 始终绕过
Teams 用户 <-> VNsbc.contoso.com

在下图中,分配到越南本地分支机构的用户在本地通过 Teams 进行直接路由电话呼叫。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信。

  • 调用期间生成的媒体会流向本地 SBC 的内部 IP 地址。

  • 本地 SBC 将流重定向到新加坡的代理 SBC 和连接的本地 PSTN 网络。

  • 代理 SBC 仅可通过外部 IP 地址Teams 电话可见,并将流从下游 SBC 路由 (在本例中,越南) 中的本地 SBC 路由到Teams 电话。

  • 本地分支机构中的下游 SBC 不对直接Teams 电话可见,而是在虚拟网络拓扑中映射。

图 7. 流量流采用“仅适用于本地用户”模式,并且用户位于“主页”站点中

显示流量流本地媒体优化的另一个关系图。

方案 2. 用户和网关位于不同的站点中

假设新加坡的 SBC 配置为 越南 和印度尼西亚的本地下游 SBC 的代理 SBC。 位于当地分支机构的印度尼西亚内部用户正在向越南发出直接路由呼叫。 联机语音路由策略指定应将区号为 +84) 的越南 (呼叫路由到 越南 中的本地 SBC。 所有其他呼叫应路由到新加坡的代理 SBC。 但是,如果越南中的 SBC 失败,则应将调用 越南 路由到新加坡的代理 SBC。 新加坡的代理 SBC 设置为“始终绕过”模式,越南中的本地 SBC 设置为“仅适用于本地用户”模式。 下表总结了示例配置。

表 6. 用户配置

用户物理位置 用户拨打号码 联机语音路由策略 为 SBC 配置的模式 媒体流
印度尼西亚 +84 4 3926 3000 优先级 1:^+84 (\d{9}) $ -VNsbc.contoso.com
优先级 2:.* - proxysbc.contoso.com
VNsbc.contoso.com - 仅适用于本地用户
proxysbc.contoso.com - 始终绕过
Teams 用户 <–> proxysbc.contoso.com <–> VNsbc.contoso.com

在下图中,内部用户在印度尼西亚分支机构的本地时,通过 Teams 向 越南 中的号码发出直接路由电话呼叫。

  • 用户的 Teams 客户端直接通过 REST API 与Teams 电话通信。

  • 调用期间生成的媒体首先流向代理 SBC 的内部 IP 地址。

  • 新加坡的代理 SBC 将流重定向到 越南 中下游 SBC 的内部 IP 地址,并Teams 电话。

  • 越南中的下游 SBC 将流路由到连接的本地 PSTN 网络。

  • 代理 SBC 仅对通过外部 IP 地址Teams 电话可见。

  • 本地分支机构中的下游 SBC 不对直接Teams 电话可见,而是在虚拟网络拓扑中映射。

图 8. 流量流采用“仅适用于本地用户”模式,并且用户不在“主页”站点中,而是位于内部网络中

另一个图显示了流量流本地媒体优化。

已知行为

下面是使用本地媒体优化时可能观察到的行为列表。

产品行为 注释
当 Teams 客户端公共 IP 与客户受信任的 IP 列表匹配,但与网络站点不匹配时,不会将 Teams 客户端标识为 内部 本地媒体优化要求通过列出的受信任 IP 建立的每个连接都有匹配 的网络站点
Teams 用户将呼叫置于保留状态。 音乐在 PSTN 端播放,本地媒体优化正常工作。 Teams 用户继续呼叫。 对 PSTN 的呼叫将恢复,但本地媒体优化不起作用,并且呼叫将继续通过中央 (代理) SBC。 当用户将呼叫停在 MoH) (启动保持音乐时,呼叫控制器会将呼叫控制器从 1:1 升级到多方呼叫,以调用媒体控制器和媒体处理器 (充当 AVMCU 混音器) MoH 到达已暂停的用户。 根据设计,在呼叫恢复后,从不按设计降级到 1:1 呼叫。
建立呼叫时,用户可能会听到几秒钟的静音。 在某些情况下,由于本地媒体优化体系结构的复杂性,可能会出现这种情况,
语音应用 (例如自动助理和呼叫队列) 。 语音应用可以部署在配置了 LMO 的环境中。 但是,涉及语音应用的呼叫不会针对本地媒体优化进行优化。 它们将改为流经代理 SBC,但从自动助理传输到本地媒体优化用户除外。 在这种情况下,调用将遵循本地媒体优化优化路径,因为它是直接的 1:1 调用。 有关 Location-Based 路由方案,请参阅 语音应用 (自动助理或呼叫队列)