为直接路由配置本地媒体优化
本地媒体优化的配置基于其他云语音功能(如Location-Based路由和动态紧急呼叫)所共有的网络设置。 若要详细了解网络区域、网络站点、网络子网和受信任的 IP 地址,请参阅 云语音功能的网络设置。
在配置本地媒体优化之前,请参阅 直接路由的本地媒体优化。
若要配置本地媒体优化,需要执行以下步骤。 可以使用 Teams 管理员中心或 PowerShell。 有关详细信息,请参阅 管理网络拓扑。
- 按照本文) 中所述配置用户和 SBC 站点 (。
- 根据 SBC 供应商规范) 为本地媒体优化 (配置 SBC。
下图显示了本文中示例中使用的网络设置。
配置用户和 SBC 站点
若要配置用户和 SBC 站点,需要:
注意
本地媒体优化依赖于将客户端位置检测为相对于公司网络的外部或内部位置,这些位置可以访问直接路由 (DR) 会话边界控制器 (SBC) 内部接口。 在拆分隧道 VPN 方案中,当客户端终结点被检测为客户网络外部时,即使客户端可以访问客户直接路由 SBC 的内部接口,Microsoft 也会向 SBC 发出外部位置的信号。 使用本地媒体优化的直接路由客户在接听来自 PSTN 的呼叫时,可能会遇到较长的呼叫设置时间,在某些情况下没有音频。 若要避免这种情况,VPN 管理员必须阻止远程 VPN 用户与直接路由 SBC 内部接口之间的访问。
根据 SBC 供应商规范为本地媒体优化配置 SBC ()
本文介绍 Microsoft 组件的配置。 有关 SBC 配置的信息,请参阅 SBC 供应商文档。 有关哪些 SBC 供应商支持本地媒体优化的信息,请参阅经 直接路由认证的会话边界控制器。
管理外部受信任的 IP 地址
外部受信任的 IP 是企业网络的 Internet 外部 IP。 这些 IP 是 Microsoft Teams 客户端连接到 Microsoft 365 时使用的 IP 地址。 需要为用户使用本地媒体优化的每个站点添加这些外部 IP。
若要为每个站点添加公共 IP 地址,请使用 New-CsTenantTrustedIPAddress cmdlet。 可以为租户定义无限数量的受信任 IP 地址。 如果 Microsoft 365 看到的外部 IP 同时是 IPv4 和 IPv6 地址,则需要添加这两种类型的 IP 地址。 对于 IPv4,请使用掩码 32。 对于 IPv6,请使用掩码 128。 可以通过在 cmdlet 上指定不同的 MaskBits 来添加单独的外部 IP 地址和外部 IP 子网。
New-CsTenantTrustedIPAddress -IPAddress <External IP address> -MaskBits <Subnet bitmask> -Description <description>
添加受信任 IP 地址的示例。
New-CsTenantTrustedIPAddress -IPAddress 172.16.240.110 -MaskBits 32 -Description "Vietnam site trusted IP"
New-CsTenantTrustedIPAddress -IPAddress 172.16.240.120 -MaskBits 32 -Description "Indonesia site trusted IP"
New-CsTenantTrustedIPAddress -IPAddress 172.16.240.130 -MaskBits 32 -Description "Singapore site trusted IP"
定义网络拓扑
本部分介绍如何为网络拓扑定义网络区域、网络站点和网络子网。
所有参数都区分大小写,因此需要确保使用在设置期间使用的相同大小写。 (例如,GatewaySiteID 值“越南”和“越南”将被视为不同的站点。)
定义网络区域
若要定义网络区域,请使用 New-CsTenantNetworkRegion cmdlet。 RegionID 参数是一个逻辑名称,表示区域的地理位置,没有依赖项或限制。 CentralSite <site ID>
参数是可选的。
New-CsTenantNetworkRegion -NetworkRegionID <region ID>
以下示例创建名为 APAC 的网络区域:
New-CsTenantNetworkRegion -NetworkRegionID "APAC"
定义网络站点
若要定义网络站点,请使用 New-CsTenantNetworkSite cmdlet。 每个网络站点必须与网络区域相关联。
New-CsTenantNetworkSite -NetworkSiteID <site ID> -NetworkRegionID <region ID>
以下示例在亚太地区创建三个新网络站点,越南、印度尼西亚和新加坡:
New-CsTenantNetworkSite -NetworkSiteID "Vietnam" -NetworkRegionID "APAC"
New-CsTenantNetworkSite -NetworkSiteID "Indonesia" -NetworkRegionID "APAC"
New-CsTenantNetworkSite -NetworkSiteID "Singapore" -NetworkRegionID "APAC"
定义网络子网
若要定义网络子网并将其关联到网络站点,请使用 New-CsTenantNetworkSubnet cmdlet。 每个网络子网只能与一个站点关联。
New-CsTenantNetworkSubnet -SubnetID <Subnet IP address> -MaskBits <Subnet bitmask> -NetworkSiteID <site ID>
以下示例定义三个网络子网,并将其与三个网络站点相关联:越南、印度尼西亚和新加坡:
New-CsTenantNetworkSubnet -SubnetID 192.168.1.0 -MaskBits 24 -NetworkSiteID "Vietnam"
New-CsTenantNetworkSubnet -SubnetID 192.168.2.0 -MaskBits 24 -NetworkSiteID "Indonesia"
New-CsTenantNetworkSubnet -SubnetID 192.168.3.0 -MaskBits 24 -NetworkSiteID "Singapore"
定义虚拟网络拓扑
首先,租户管理员使用 New-CsOnlinePSTNGateway cmdlet 为每个相关的 SBC 创建新的 SBC 配置。 租户管理员通过使用 Set-CsOnlinePSTNGateway cmdlet 为 PSTN 网关对象指定网络站点来定义虚拟网络拓扑:
PS C:\> Set-CsOnlinePSTNGateway -Identity <Identity> -GatewaySiteID <site ID> -MediaBypass <true/false> -BypassMode <Always/OnlyForLocalUsers> -ProxySBC <proxy SBC FQDN or $null>
请注意以下事项:
- 如果客户具有单个 SBC,则 -ProxySBC 参数必须是强制$null或 SBC FQDN 值, (中心 SBC 具有集中式中继方案) 。
- -MediaBypass 参数必须设置为 $true,才能支持本地媒体优化。
- 如果 SBC 未设置 -BypassMode 参数,则不会发送 X-MS 标头。
- 所有参数都区分大小写,因此需要确保使用在设置期间使用的相同大小写。 (例如,GatewaySiteID 值“越南”和“越南”将被视为不同的站点。)
以下示例将三个 SBC 添加到 APAC 区域中具有始终绕过模式的网络站点越南、印度尼西亚和新加坡:
Set-CSOnlinePSTNGateway -Identity "proxysbc.contoso.com" -GatewaySiteID "Singapore" -MediaBypass $true -BypassMode "Always" -ProxySBC $null
Set-CSOnlinePSTNGateway -Identity "VNsbc.contoso.com" -GatewaySiteID "Vietnam" -MediaBypass $true -BypassMode "Always" -ProxySBC "proxysbc.contoso.com"
Set-CSOnlinePSTNGateway -Identity "IDsbc.contoso.com" -GatewaySiteID "Indonesia" -MediaBypass $true -BypassMode "Always" -ProxySBC "proxysbc.contoso.com"
注意
若要确保在同时配置本地媒体优化和Location-Based路由 (LBR) 时不间断操作,必须将 GatewaySiteLbrEnabled 参数设置为每个下游 SBC $true,为 LBR 启用下游 SBC。 (代理 SBC.)
根据上述信息,直接路由将包括三个专有的 SIP 标头到 SIP 邀请和重新邀请,如下表所示。
在邀请的直接路由中引入的 X-MS 标头,如果定义了 BypassMode,则Re-Invites:
标头名称 | 值 | 备注 |
---|---|---|
X-MS-UserLocation | internal/external | 指示用户是内部用户还是外部用户 |
请求 URI 邀请 sip: +84439263000@VNsbc.contoso.com SIP /2.0 | SBC FQDN | 面向呼叫的 FQDN,即使 SBC 未直接连接到直接路由 |
X-MS-MediaPath | 示例:proxysbc.contoso.com、VNsbc.contoso.com | 用户和目标 SBC 之间的媒体路径应使用的 SBC 顺序。 最终的 SBC 始终是最后一个 |
X-MS-UserSite | usersiteID | 租户管理员定义的字符串 |
呼叫流
下面显示了两种模式的调用流:
始终绕过模式
始终绕过模式是配置的最简单选项。 如果可从任何站点访问所有 SBC,则租户管理员可以为所有用户和 SBC 配置单个站点。
这些示例演示了以下方案的“始终绕过”模式:
下表显示了示例中使用的 FQDN 和 IP 地址:
FQDN | SBC 外部 IP 地址 | SBC 内部 IP 地址 | 内部子网 | 位置 | 外部 NAT (受信任的 IP) |
---|---|---|---|---|---|
VNsbc.contoso.com | 无 | 192.168.1.5 | 192.168.1.0/24 | 越南 | 172.16.240.110 |
IDsbc.contoso.com | 无 | 192.168.2.5 | 192.168.2.0/24 | 印度尼西亚 | 172.16.240.120 |
proxysbc.contoso.com | 172.16.240.133 | 192.168.3.5 | 192.168.3.0/24 | 新加坡 | 172.16.240.130 |
出站呼叫和用户与始终绕过的 SBC 位于同一位置
模式 | 用户 | 位置 | 呼叫方向 |
---|---|---|---|
AlwaysBypass | 内部 | 与 SBC 相同的站点 | 出站 |
下表显示了最终用户配置和操作:
用户物理位置 | 用户拨打或接听号码的呼叫 | 用户电话号码 | 联机语音路由策略 | 为 SBC 配置的模式 |
---|---|---|---|---|
越南 | +84 4 3926 3000 | +84 4 5555 5555 | 优先级 1:^+84 (\d{9}) $ -VNsbc.contoso.com 优先级 2:.* - proxysbc.contoso.com |
VNsbc.contoso.com - 始终绕过 proxysbc.contoso.com - 始终绕过 |
下图显示了使用“始终绕过”模式的出站呼叫的 SIP 阶梯,以及与 SBC 位于同一位置的用户。
下表显示了直接路由发送的 X-MS 标头:
参数 | 解释 |
---|---|
邀请 +8443926300@VNsbc.contoso.com | 联机语音路由策略中定义的 SBC 的目标 FQDN 在请求 URI 中发送 |
X-MS-UserLocation:内部 | 字段指示用户位于公司网络内 |
X-MS-MediaPath:VNsbc.contoso.com | 指定客户端必须遍历到目标 SBC 的 SBC。 在本例中,由于我们有 Always Bypass,并且客户端是作为标头中唯一名称发送的目标名称的内部。 |
X-MS-UserSite:越南 | 用户所在的网站中指示的字段。 |
入站呼叫和用户与始终绕过的 SBC 位于同一位置
模式 | 用户 | 位置 | 呼叫方向 |
---|---|---|---|
AlwaysBypass | 内部 | 与 SBC 相同的站点 | 入境 |
在入站呼叫中,用户的位置未知,SBC 必须猜测用户所在的位置。 如果猜测不正确,则需要重新邀请。 这种情况假定用户是内部的,媒体可以直接流动,并且无需进一步操作 (重新邀请) 。 连接到直接路由服务的 SBC 通过提供“Record-Route”和“联系人”字段来报告发起的 SBC 位置。 根据这些字段,媒体路径由直接路由计算。
注意:鉴于一个用户可以有多个终结点,不支持 183。 在这种情况下,直接路由将始终使用 180 振铃。
下图显示了使用 AlwaysBypass 模式的入站呼叫中的 SIP 阶梯,并且用户与 SBC 位于同一位置。
出站呼叫和用户是外部的 Always Bypass
模式 | 用户 | 站点 | 呼叫方向 |
---|---|---|---|
AlwaysBypass | 外部 | 不适用 | 出站 |
下图显示了使用 AlwaysBypass 模式进行出站呼叫的 SIP 阶梯,并且用户位于外部:
下表显示了直接路由服务发送的 X-MS 标头:
参数 | 解释 |
---|---|
邀请 +8443926300@VNsbc.contoso.com | 联机语音路由策略中定义的 SBC 的目标 FQDN 在请求 URI 中发送。 |
X-MS-UserLocation:外部 | 字段指示用户位于公司网络外部。 |
X-MS-MediaPath:proxysbc.contoso.com、VNsbc.contoso.com | 指定客户端必须遍历到目标 SBC 的 SBC。 在这种情况下,因为我们有 Always Bypass,并且客户端是外部的。 |
入站呼叫,并且用户是始终绕过的外部
模式 | 用户 | 站点 | 呼叫方向 |
---|---|---|---|
AlwaysBypass | 外部 | 不适用 | 入境 |
对于入站呼叫,连接到直接路由的 SBC 需要发送重新邀请 (默认情况下,如果用户的位置在外部,则始终向本地媒体候选者提供) 。 X-MediaPath 根据指定的Record-Route和 SBC 用户进行计算。
下图显示了使用 AlwaysBypass 模式的入站呼叫的 SIP 阶梯,并且用户位于外部。
仅适用于本地用户模式
仅当用户与 SBC 位于同一位置时,才会提供目标 SBC 的本地媒体候选项。 在所有其他情况下,媒体将流经代理 SBC 的内部或外部 IP。
描述了以下方案:
下表显示了最终用户配置和操作:
用户物理位置 | 用户拨打或接听号码的呼叫 | 用户电话号码 | 联机语音路由策略 | 为 SBC 配置的模式 |
---|---|---|---|---|
越南 | +84 4 3926 3000 | +84 4 5555 5555 | 优先级 1:^+84 (\d{9}) $ -VNsbc.contoso.com 优先级 2:.* - proxysbc.contoso.com |
VNsbc.contoso.com – OnlyForLocalUsers Proxysbc.contoso.com – Always Bypass |
出站呼叫和用户与 SBC 位于同一位置,仅适用于本地用户
模式 | 用户 | 站点 | 呼叫方向 |
---|---|---|---|
OnlyForLocalUsers | 内部 | 与 SBC 相同 | 出站 |
下图显示了具有 OnlyForLocalUsers 模式的出站呼叫,并且用户与 SBC 位于同一位置。 当用户与 SBC 位于同一位置时,出站调用中显示的流相同。
入站呼叫和用户与 SBC 位于同一位置,仅适用于本地用户
模式 | 用户 | 站点 | 呼叫方向 |
---|---|---|---|
OnlyForLocalUsers | 内部 | 与 SBC 相同 | 入境 |
下图显示了具有 OnlyForLocalUsers 模式的入站呼叫,并且用户与 SBC 位于同一位置。 当用户与 SBC 位于同一位置时,此流与入站调用中所示的流相同。
用户与 SBC 不在同一位置,但位于企业网络中,仅适用于本地用户
模式 | 用户 | 站点 | 呼叫方向 |
---|---|---|---|
OnlyForLocalUsers | 内部 | 不同于 SBC | 出站 |
直接路由根据用户的报告位置和 SBC 上配置的模式计算 X-MediaPath。
下图显示了具有 OnlyForLocalUsers 模式的出站呼叫,以及与 SBC 不在同一位置的内部用户。
入站呼叫和用户是内部的,但与 SBC 不在同一位置,仅适用于本地用户
模式 | 用户 | 站点 | 呼叫方向 |
---|---|---|---|
OnlyForLocalUsers | 内部 | 不同于 SBC | 入境 |
下图显示了具有 OnlyForLocalUsers 模式的入站呼叫,以及与 SBC 不在同一位置的内部用户。