在此文章中
NPS 身份验证代理概述
dropdown icon
NPS 身份验证代理先决条件
    最低版本和共同居留限制
    共享 NPS
    APNs HTTP/2
    安卓 fcmv1
NPS 代理迁移摘要
将 BroadWorks 协作 iOS 应用程序迁移到 HTTP/2
将 BroadWorks UC-One Connect/SaaS 安卓应用程序迁移到 fcmv
将 BroadWorks UC-One Connect/SaaS 安卓应用程序迁移到 fcmv1(在 ADP 上)
重新启用 FCM 传统模式
dropdown icon
安装 NPS 身份验证代理补丁
    R22 补丁
    R23 补丁
将 NPS 配置为使用身份验证代理
重启 NPS 并测试推送通知
更新 Cisco BroadWorks NPS 以使用 NPS 代理:配置指南
list-menu在此文章中
list-menu反馈?

通过本配置指南了解如何更新思科 BroadWorks NPS 以使用 NPS 代理。了解有关无缝集成和增强网络性能的分步说明、注意事项和最佳实践。

NPS 身份验证代理概述

本文介绍如何将共享 NPS 配置为使用 NPS 身份验证代理, 以便它也可用于向 Webex 应用程序推送呼叫通知。 如果您的 NPS 不支持其他应用程序,则可以按照 Webex for B roadWorks 解决方案指南中的简化步骤进行操作。

NPS 代理概述

为了与 Webex for BroadWorks 兼容,必须修补您的 NPS 以支持 NPS 代理功能,即 UCaaS 中的 VoIP 推送服务器。

该功能在通知推送服务器中实现了新设计,以解决与移动客户端服务提供商共享推送通知证书私钥的安全漏洞。 NPS没有与服务提供商共享推送通知 证书和密钥,而是使用新的API从UCaaS后端获取 短期推送通知令牌,并使用该令牌对Apple APN和Google FCM服务进行 身份验证。

该功能还增强了通知推送服务器通过新的谷歌Firebase云消息(FCM)HTTPv1 API向安卓设备推送通知的能力。

NPS 身份验证代理先决条件

托管 NPS 的 XSP(或应用程序交付平台 ADP)必须满足以下要求:

最低版本和共同居留限制

  • 必须在专用 XSP/ADP 上激活 NPS,并且 NPS 必须是服务器上唯一的托管应用程序。 这是为了消除对推送通知交付的干扰。

  • 部署中只能有一个 NPS 应用程序。 如果你使用移动版 UC-One Collaborate/Connect 和/或 UC-One SaaS,并且正在为 BroadWorks 实施 Webex,则必须为所有应用程序共享这个 NPS。

  • NPS 必须使用版本 R22 或更高版本 XSP 或 ADP。

    如果 XSP 仅运行 NPS 且 AS 是 R21.SP1,则 R22/R23 XSP 与 R21 堆栈兼容。 有关更多信息,请参阅 BroadWorks 兼容性矩阵。

  • 有关 ADP 服务器的更多信息,请访问思科 BroadWorks 应用程序交付 平台。

共享 NPS

在将共享 NPS 配置为使用 NPS 代理之前,请阅读以下注意事项:

  • 如果您的 NPS 与其他应用程序(不仅仅是 Webex 应用程序)一起使用:首先配置 NPS 代理,然后将 NPS 从使用 FCM 旧版 API 更改为使用 FCM HTTP v1 API。

  • 在您验证了 使用 NPS 代理的旧应用程序的通知正常运行后,请移除安卓应用程序的 FCM API 密钥和 iOS 应用程序的 APNs 身份验证密钥。

APNs HTTP/2

  • 如果你已经部署了任何非来自思科/BroadSoft的iOS应用程序,请在将NPS配置为使用NPS代理之前,将 这些应用程序配置为使用HTTP/2 APNS协议。

  • 已经支持 Collaborate 或 SaaS BroadWorks 应用程序的 XSP/ADP 需要迁移到 HTTP/2。 有关配置 HTTP/2 的详细信息,请参阅 APNS 通知推送服务器的 HTTP/2 支持(本文总结了 为支持这些 iOS 应用程序而迁移的 NPS)。

安卓 fcmv1

  • 如果你部署了任何不是来自思科/博软的安卓应用程序,请在将NPS 配置为使用NPS代理之前,将这些应用程序配置为使用FCMv1密钥。

  • 如果 XSP/ADP 当前支持 Connect 或 UC-One SaaS 应用程序,请在配置 NPS 代理后启用 fcmv1 密钥。 我们建议您将所有其他应用程序 迁移到 fcmv1 密钥、启用和测试,然后将其禁用, 直到准备好完成设置说明为止(本 文介绍了迁移流程)。

NPS 代理迁移摘要

迁移到 NPS 身份验证代理的可视摘要
表 1。迁移到 NPS 代理的任务摘要

顺序

任务标题

何时/为什么需要任务?

1

将 UC-One SaaS(或 Connect)iOS 应用程序的 NPS 迁移到 HTTP/2。

如果 NPS 支持这些应用程序,并且它们尚未针对 HTTP/2 进行配置。

2

将 UC-One SaaS(或 Connect)安卓应用程序的 NPS 迁移到 fcmv1。

如果 NPS 支持这些应用程序,并且它们尚未针对 fcmv1 进行配置。

3

启用 fcmv1 模式并测试推送通知。

如果 NPS 支持 UC-One Connect 和/或其他(非思科)安卓应用程序。

4

重新启用 FCM 传统模式。

如果 NPS 支持 UC-One SaaS。 如果你在配置 NPS 代理之前启用 fcmv1,则向 UC-One SaaS 推送通知就会开始失败。

5

安装 NPS 身份验证代理补丁。

如果 NPS 在 XSP R22 或 XSP R23 上。

6

将 NPS 配置为使用 NPS 身份验证代理:

  • 附上 NPS 的技术支持

  • 申请 CI OAuth 账户

  • 在 NPS 上创建 CI 账户并配置刷新令牌超时

  • 添加安卓应用程序 ID

  • 添加 iOS 应用程序 ID

  • 检查/设置 URL 和连接超时

  • 将应用程序添加到 AS 允许列表

  • (重新)启用 fcmv1

  • 重启 XSP/ADP

  • 测试 iOS 和安卓应用程序的 PN

始终是必需的。

7

移除 FCM 传统模式密钥。

适用于在 fcmv1 上成功获得 NPS 支持的应用程序。

将 BroadWorks 协作 iOS 应用程序迁移到 HTTP/2

要在 iOS 平台上向 UC-One SaaS 和 Webex 应用程序推送通知,必须执行此任务。

准备工作

如果您的 XSP 运行的是 R22,则需要先应用 ap354313,然后才能将 NPS 应用程序配置为在 APNS 上使用 HTTP/2。

1

在 x sp_cli/Applications/NotificationPushServer/APNS/Production> 设置生产 URL 和连接参数

设置网址 https://api.push.apple.com/3/device

设置连接池大小 2

设置连接超时 3000

以秒为单位设置连接空闲超时 600

注意:请勿将连接超时设置在 1000 以下。

2

将应用程序 ID 添加到 APNS 应用程序上下文中,确保省略身份验证密钥——将其设置为空。

对于 UC-One SaaS:x sp_cli/应用程序/NotificationPushServer/APNS/Production/Tokens> 添加 com.broadsoft.uc-one

对于 Webex 应用程序:x sp_CLI/应用程序/NotificationPushServer/APNS/Production/Tokens> 添加 com.cisco.squared

3

使用 XSP_CLI/应用程序/NotificationPushServer/APNS/Production/Tokens> g et 检查身份验证密钥

4

如果 com.broadsoft.uc-one 的身份验证密钥不为空,则可以使用 xsp_cli/Applications/NotificationPushServer/apns/Production/Tokens> clear the-au thkey 将其清除

5

启用 HTTP/2:

xsp_cli /应用程序/NotificationPushServer/APNS/GeneralSettings> 设置 http2Enabled

6

仅适用于 UC-One SaaS 应用程序:登录经销商门户并转到配置 > BroadWorks >。

7

向下滚动到 “通知推送服务器” 部分,选择您的版本(例如版本 22),然后按照门户中提供的说明进行操作。

将 BroadWorks UC-One Connect/SaaS 安卓应用程序迁移到 fcmv

  • 此任务适用于 XSP 上的 NPS。 如果你的 NPS 在 ADP 上,则忽略它。

  • 你可以使用此程序将 UC-One Connect 或 UC-One SaaS 安卓应用程序的通知迁移到 fcmv1。

  • 如果您想使用 NPS 代理对 UC-One 或 Webex 安卓应用程序的推送通知进行身份验证,则必须使用 fcmv1。

  • 此任务为 fcmv1 准备 NPS,以便您可以将其作为 NPS 身份验证代理配置的一部分启用。 在准备好配置 NPS 身份验证代理之前,请勿启用 fcmv1,否则发送给 SaaS 客户端的通知将失败。

1

从 Firebase 控制台获取项目 ID:

  1. 登录 console.firebase.google.com。

  2. 选择 UC-One(Connect 或 SaaS)应用程序项目,打开其项目设置。

  3. 打开 “常规” 选项卡并记录项目 ID。

2

从 Firebase 获取您的服务帐号的私钥:

  1. 导航到项目设置中的服务帐号选项卡。

  2. 要么创建一个新的服务帐号并获取其私钥。

  3. 或者开设一个现有的服务账户并为其生成一个新的私钥。

    注意:服务帐号必须拥有 firebaseadmin-sdk 权限。

  4. 将密钥下载到安全位置。

3

将密钥复制到托管您的 NPS 的 XSP。

4

将项目 ID 和关联的私钥添加到 FCM 项目上下文中:

xsp_cli/应用程序/NotificationPushServer/FCM/Projects> 添加项目 ID 路径/ 到/密钥文件

5

将 UC-One(Connect 或 SaaS)应用程序和关联的项目 ID 添加到 FCM 应用程序上下文中:

xsp_cli/应用程序/NotificationPushServer/FCM/应用程序> 添加应用程序 ID com.broadsoft.connect 项目ID 项目 ID

6

根据此处显示的属性和推荐值检查 FCM 的配置。 如有必要,使用命令的设置版本来更改值:

运行 xsp _cli/应用程序/NotificationPushServer/FCM> 获取

参数

推荐值

authURL

https://www.googleapis.com/oauth2/v4/token

pushURL

https://fcm.googleapis.com/v1/projects/ 项目 ID /消息:发送

范围

https://www.googleapis.com/auth/firebase.messaging

TokenTimeTime在几秒钟内生

3600

连接池大小

10

连接超时(以毫秒为单位)

3000

连接空闲超时(以秒为单位)

600

将 BroadWorks UC-One Connect/SaaS 安卓应用程序迁移到 fcmv1(在 ADP 上)

  • 此任务适用于 ADP 上的 NPS。 如果你的 NPS 在 XSP 上,则忽略它。

  • 你可以使用此程序将 UC-One Connect 或 UC-One SaaS 安卓应用程序的通知迁移到 fcmv1。

  • 如果您想使用 NPS 代理对 UC-One 或 Webex 安卓应用程序的推送通知进行身份验证,则必须使用 fcmv1。

  • 此任务为 fcmv1 准备 NPS,以便您可以将其作为 NPS 身份验证代理配置的一部分启用。 在准备好配置 NPS 身份验证代理之前,请勿启用 fcmv1,否则发送给 SaaS 客户端的通知将失败。

1

从 Firebase 控制台获取项目 ID:

  1. 登录 console.firebase.google.com。

  2. 选择 UC-One(Connect 或 SaaS)应用程序项目,打开其项目设置。

  3. 打开 “常规” 选项卡并记录项目 ID。

2

从 Firebase 获取您的服务帐号的私钥:

  1. 导航到项目设置中的服务帐号选项卡。

  2. 要么创建一个新的服务帐号并获取其私钥。

  3. 或者开设一个现有的服务账户并为其生成一个新的私钥。

    注意:服务帐号必须拥有 firebaseadmin-sdk 权限。

  4. 将密钥(.json 文件)下载到安全位置。

3

将 .json 文件导入 ADP 服务器 /bw/install。

4

登录 ADP CLI 并将项目和 API 密钥添加到 FCM 项目上下文中:

adp_cli/应用程序/NotificationPushServer/FCM/Projects> 添加 connect-ucaas /bw/ install/ filename.json

5

将应用程序和项目 ID 添加到 FCM 应用程序上下文中:

adp_cli/Applications/NotificationPushServer/FCM/Applications> 添加应用程序 ID com.broadsoft.ucaas.connect 项目 ID 项目 ID

6

验证您的配置:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> get
Project ID Accountkey
========================
connect-ucaas ********
ADP_CLI/Applications/NotificationPushServer/FCM/Applications> get
Application ID Project ID
===================================
com.broadsoft.ucaas.connect connect-ucaas

重新启用 FCM 传统模式

您只需要在以下情况下执行此操作(作为迁移的一部分):

  • 您的 NPS 用于 UC-One SaaS 或 BroadWorks Connect 安卓应用程序。

  • 您已经测试过,向其他应用程序发送的呼叫推送通知正在使用 fcmv1 API。

您正在暂时禁用 fcmv1,因为这些应用程序的 fcmv1 密钥只能在 NPS 身份验证代理配置过程中启用。

1

登录到托管您的共享 NPS 的 XSP。

2

导航到 FCM 上下文并禁用 FCM v1:xsp_cli/Applications/NotificationPushServer/ FCM> 将 v1Enabled 设置为 false 以恢复使用 FCM 旧版 API 密钥。

将 NPS 配置为使用身份验证代理

1

向您的入职联系人或 TAC 创建服务请求,以提供您的(Webex 通用身份)OAuth 客户账户。 将您的服务请求命名为身份验证代理设置的 NPS 配置。

我们为您提供一个 OAuth 客户端 ID、一个客户端密钥和一个有效期为 60 天的刷新令牌。 如果代币在您将其与 NPS 一起使用之前就已过期,则可以提出另一个请求。
2

在 NPS 上创建客户账户:

xsp_cli/Applications/NotificationPushServer/Client/Client> 从步骤 1 设置客户端 ID 客户端 ID

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set clientSecret
New Password: client-Secret-From-Step1

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set RefreshToken
New Password: Refresh-Token-From-Step1

运行该命令以验证您输入的值是否与提供给您的值相匹配。xsp_cli/应用程序/通知推送服务器/CiscoCI/Client> 获取

3

输入 NPS 代理 URL,并设置令牌刷新间隔(推荐 30 分钟):

基于区域的 FQDN:

美国东部:

xsp_cli/应用程序/NotificationPushServer/cloudnpsService> 设置网址 https://broadworks-idp-proxy-a.wbx2.com/nps/

美国西部:

xsp_cli/应用程序/NotificationPushServer/cloudnpsService> 设置网址 https://broadworks-idp-proxy-r.wbx2.com/nps/

欧洲:

xsp_cli/应用程序/NotificationPushServer/cloudnpsService> 设置网址 https://broadworks-idp-proxy-k.wbx2.com/nps/

xsp_cli/应用程序/通知推送服务器/cloudnpsService> 设置 VoipTokenRefreshInterval 1800

沙特阿拉伯:

xsp_cli/应用程序/NotificationPushServer/cloudnpsService> 设置网址 https://broadworks-idp-proxy-d.wbx2.com/nps/

澳大利亚:

xsp_cli/应用程序/NotificationPushServer/cloudnpsService> 设置网址 https://broadworks-idp-proxy-m.wbx2.com/nps/

如果推送通知由于 DNS 解析延迟而超时,请增加 BroadWorks 服务器上 “/etc/resolv.conf” 文件中的超时值。

4

(用于安卓通知)将安卓应用程序 ID 添加到 NPS 上的 FCM 应用程序上下文中。

对于安卓系统上的 Webex 应用程序:xsp_cli/应用程序/NotificationPushServer/FCM/Applications> 添加 com.cisco.w x2. android

对于安卓系统上的 UC-One 应用程序:x sp_cli/应用程序/NotificationPushServer/FCM/Applications> 添加 com.broadsoft.

5

(用于Apple iOS通知)将应用程序 ID 添加到 APNS 应用程序上下文中,确保省略身份验证密钥——将其设置为空。

对于 iOS 上的 Webex 应用程序:x sp_cli/Applications/NotificationPushServer/APNS/Production/Tokens> 添加 com.cisco.squared

对于 iOS 上的 UC-One 应用程序:x sp_cli/Applications/NotificationPushServer/APNS/Production/Tokens> 添加 com.cisco.squared

6

配置以下 NPS 网址:

XSP CLI 上下文

参数

值

xsp_cli/应用程序/NotificationPushServer/FCM>

authURL

https://www.googleapis.com/oauth2/v4/token

pushURL

https://fcm.googleapis.com/v1/projects//messages:send

范围

https://www.googleapis.com/auth/firebase.messaging

xsp_cli/应用程序/通知推送服务器/APNS/Production>

网址

https://api.push.apple.com/3/device

7

将以下 NPS 连接参数配置为所示的推荐值:

XSP CLI 上下文

参数

值

xsp_cli/应用程序/NotificationPushServer/FCM>

TokenTimeTime在几秒钟内生

3600

连接池大小

10

连接超时(以毫秒为单位)

3000

连接空闲超时(以秒为单位)

600

xsp_cli/应用程序/通知推送服务器/APNS/Production>

连接超时

3000

连接池大小

2

连接空闲超时(以秒为单位)

600

8

检查应用程序服务器是否在筛选应用程序 ID,因为您可能需要将 Webex 应用程序添加到允许列表中:

  1. 运行 as_cli/system/pushNotification> 获取并检查 EnforceAllowedApplication List 的值。 如果是真的,你需要完成这个子任务。 否则,请跳过子任务的其余部分。

  2. as_cli/system/pushNotification/allowedApplications> 添加 com.cisco.wx2. android “Webex Android”

  3. as_cli/system/pushNotification/allowedApplications> 添加 com.cisco.squ ared “Webex iOS”

重启 NPS 并测试推送通知

1

重新启动 XSP:

重启
2

通过从BroadWorks订阅者向安卓呼叫客户端拨打电话,测试向安卓系统发出的通话通知。 验证来电通知是否显示在 Android 设备上。

注意:如果UC-One安卓应用程序的推送通知开始失败,则可能是配置错误。 如果是这种情况,您可以按如下方式恢复到旧版 FCM:

  1. 禁用 fcmv1:x sp_cli/应用程序/NotificationPushServer/FCM> 将 V1Enabled 设置为 false

  2. 重启 XSP:brestart

  3. 检查您的配置。

  4. 重新启用 fcmv1 并重新启动 XSP。

  5. 重复测试。

3

通过从 BroadWorks 订阅者向 iOS 上的呼叫客户端拨打电话,测试向 iOS 的通话通知。 验证来电通知是否显示在 iOS 设备上。

注意:如果UC-One iOS应用程序的推送通知开始失败,则可能是配置错误。 如果是这种情况,你可以使用设置 Http2 Enabled false 来恢复到传统的二进制接口

这篇文章对您有帮助吗?
这篇文章对您有帮助吗?