移动控制点(MCP)是集成到 Azure 通信网关中的 IMS 应用程序服务器。 它简化了与 Microsoft 电话系统(MPS)的交互,方法是最大程度地减少移动网络中所需的网络适应,将呼叫路由到 Microsoft Teams。
MCP 查询 MPS 以确定呼叫者或被呼叫者是否有资格使用 Teams 电话移动服务。
- 如果呼叫方或被呼叫者符合条件,MCP 会将 MPS 添加到呼叫路径,以便 MPS 可以提供团队电话移动服务。
- 如果用户不符合条件或呼叫未到达 MPS,MCP 可确保本机移动呼叫继续达到其目标,尽管没有Microsoft Teams 服务或在 Microsoft Teams 客户端发出警报。
有关 MCP 在 Teams 电话移动部署(包括呼叫流)中提供的角色的详细信息,请参阅Microsoft代表提供的 Teams 电话移动文档。
SIP 信号
MCP 使用 ISC 接口与 IMS S-CSCF 集成。 此接口在 3GPP TS 23.218 和 TS 23.228 中定义,3GPP TS 24.229 中提供了更多详细信息。 可以选择在 IMS 网络的边缘部署 ISC 网关功能,以提供边界控制,类似于 IBCF 提供的边界控制。
MCP 充当 SIP 代理。 它查询 MPS 以确定呼叫是否涉及 Teams 电话移动版订阅者,并更新呼叫上的信号,以便根据需要将呼叫路由到 MPS。 它无法处理媒体数据。
MCP 始终查询 MPS,除非调用满足以下条件之一:
- 移动发起调用具有具有任何值的 X-MS-FMC 标头。
- 来自 Teams 客户端的调用带有 X-MS-FMC 标头,值为
APP。 - 移动终止调用具有具有值的
MTX-MS-FMC 标头。
这些 X-MS-FMC 标头由 MPS 添加,并允许 MCP 避免在循环中持续查询 MPS。
MCP 按优先顺序使用 Psescase-Served-User 标头上的参数、顶部 Route 标头的term或orig参数,或 Route 标头的 URI 中的term或orig参数,以确定呼叫是移动发起还是移动终止。 如果不存在这些参数,MCP 会将调用视为移动终止。
MCP 根据 P-Served-User 标头或 P-Asserted-Identity 标头中的 URI 确定移动发起呼叫的已服务订阅者。 它从 P-Served-User 标头或 Request-URI 中的 URI 的移动终止调用确定服务订阅者。
如果 MPS 响应错误或无法提供用于路由呼叫的号码,MCP 无法更新信号,因此呼叫不会接收 Teams 电话移动服务。 MCP 会将任何 SIP 错误传回移动网络。
MCP 支持 E.164 号码和 sip: 和 tel: URI。
到 MCP 的所有流量都必须使用基于 TLS 的 SIP。
启动适用于 Teams Phone Mobile 的 MCP 订阅者
Teams Phone 移动版订阅者需要在 HSS 中配置初始筛选条件(iFC),以确保 MCP 在呼叫的适当时机参与:我们建议在发起 iFC 链中最后一次调用它,并在终止 iFC 链中首先调用它。 对涉及 Teams 电话移动订阅者的所有呼叫(CDIV 呼叫除外)调用 MCP。
iFC 应使用 MCP 的主机名。 MCP 提供两个主机名,每个主机名优先于一个区域,并允许回退到另一个区域。 要查找主机名:
- 转到 Azure 通信网关资源的 “概述 ”页。
- 在每个 “服务位置” 部分中,找到 MCP 主机名 字段。
例如,可以使用以下 iFC(用其中一个主机名替换 <mcp-hostname>)。
<InitialFilterCriteria>
<Priority>0</Priority>
<TriggerPoint>
<ConditionTypeCNF>0</ConditionTypeCNF>
<SPT>
<ConditionNegated>0</ConditionNegated>
<Group>0</Group>
<Method>INVITE</Method>
</SPT>
<SPT>
<ConditionNegated>1</ConditionNegated>
<Group>0</Group>
<SessionCase>4</SessionCase>
</SPT>
</TriggerPoint>
<ApplicationServer>
<ServerName>sip:<mcp-hostname>;transport=tcp;service=mcp</ServerName>
<DefaultHandling>0</DefaultHandling>
</ApplicationServer>
</InitialFilterCriteria>