为 Webex BroadWorks 配置呼叫推送通知

list-menu反馈?
了解如何使用适用于 Android 和 iOS 的 NPS 为 BroadWorks 的 Webex 设置呼叫推送通知。

在此文档中,我们使用术语呼叫通知推送服务器 (CNPS) 来描述环境中运行的 XSP 托管或 ADP 托管应用程序。CNPS 可以配合 BroadWorks 系统运行,识别用户收到的传入呼叫,并向 Google Firebase Cloud Messaging (FCM) 或 Apple Push Notification service (APN) 通知服务推送这些呼叫的通知。

这些服务会向 Webex for Cisco BroadWorks 订阅者的移动设备发出通知,告诉他们在 Webex 上有传入呼叫。

有关 NPS 的更多信息,请参阅通知推送服务器功能说明

Webex 中的类似机制可配合 Webex 消息传递和在线状态服务运行,向 Google (FCM) 或 Apple (APNS) 通知服务推送通知。这些服务又会将收到的消息或存在的变化通知给移动 Webex 用户。

本节介绍当 NPS 尚不支持其他应用时,如何为身份验证代理配置 NPS。如果需要迁移共享 NPS 以使用 NPS 代理,请参阅 更新 Cisco BroadWorks NPS 以使用 NPS 代理

NPS 代理概述

为了与 Webex for Cisco BroadWorks 兼容,必须对 CNPS 打补丁以支持 NPS 代理功能,即 UCaaS 中用于 VoIP 的推送服务器

该功能在通知推送服务器中实现了新的设计,可解决与移动客户端的服务商共享推送通知证书私钥的安全漏洞。NPS 不再与服务商共享推送通知证书和密钥,而是使用新 API 从 Webex for Cisco BroadWorks 后端获取短效推送通知令牌,并使用此令牌向 Apple APNS 和 Google FCM 服务进行身份验证。

此功能还增强了通知推送通过新的 Google Firebase Cloud Messaging (FCM) HTTPv1 API 向 Android 设备推送通知的功能。

APNS 注意事项

自 2021 年 3 月 31 日起,Apple 将不再支持 Apple 推送通知服务上基于 HTTP/1 的二进制协议。我们建议您配置 XSP|ADP 以使用 HTTP/2-based APN 接口。此更新要求托管 NPS 的 XSP|ADP 运行 R22 或更高版本。

为 Webex for Cisco BroadWorks 准备 NPS

1

安装和配置专用 XSP(最低版本 R22)或应用程序交付平台 (ADP)。

2

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

3

激活通知推送服务器应用程序。

4

(对于 Android 通知)在 NPS 上启用 FCM v1 API。

XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled true

5

(对于 Apple iOS 通知)在 NPS 上启用 HTTP/2。

XSP_CLI/Applications/NotificationPushServer/APNS/GeneralSettings> set HTTP2Enabled true

这是 Release 22 及更早版本独有的;它在 Release 23 及更高版本中不可用,仅支持 HTTP/2.

6

附加 NPS XSP/ADP 技术支持。

7

在每个 AS 服务器上, /usr/local/broadworks/bw_base/conf 中的 namedefs 文件必须配置通知推送服务器的 SRV 和 A 记录 (XSP/ADP) 查找,如果有多个 XSP/ADP 然后根据需要为每个条目添加一个条目。

例如:_pushnotification-客户端。_tcp.qaxsps.broadsoft.com SRV 20 20 443 qa149.vle.broadsoft.com qa149.vle.broadsoft.com IN A 10.193.78.149

设置完成后,需要执行以下操作之一来获取更改:

  1. 必须在维护时段内执行重新启动。

  2. 通过 Cisco BroadWorks CLI:

    R24 及更早版本

    AS_CLI/ASDiagnostic/DNS> 重新加载

    R25 +

    AS_CLI/ASDiagnostic/DNS/ExecutionServer> 重新加载

    AS_CLI/ASDiagnostic/DNS/ProvisioningServer> 重新加载

下一步

对于 NPS 的全新安装,请转至 配置 NPS 以使用身份验证代理

要将现有的 Android 部署迁移到 FCMv1,请转至 将 NPS 迁移到 FCMv1

配置 NPS 以使用身份验证代理

此任务适用于新安装的 NPS(专用于 Webex for Cisco BroadWorks)。

如果要在与其他移动应用程序共享的 NPS 上配置身份验证代理,请参阅 更新 Cisco BroadWorks NPS 以使用 NPS 代理

1

为 Cisco BroadWorks 获取 Webex 的 OAuth 凭证

2

在 NPS 上创建客户端帐户:

XSP|ADP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set clientId client-Id-From-Step1

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

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

要验证您输入的值与所提供的值是否匹配,请运行 XSP|ADP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

无论您身在何处,CiscoCI issuerUrl 都应始终为美国 CI 集群,默认值应为:

XSP|ADP_CLI/Applications/NotificationPushServer/CiscoCI> get issuerUrl = https://idbroker.webex.com/idb

3

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://nps.uc-one.broadsoft.com/nps/

为了提高 DNS 解析速度,我们建议您使用根据您的地区适当的 FQDN,而不是当前的 FQDN nps.uc-one.broadsoft.com。

基于区域的 FQDN:

美国东部:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-a.wbx2.com/nps/

美国西部:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-r.wbx2.com/nps/

欧洲:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-k.wbx2.com/nps/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

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

4

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

XSP|ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

5

(适用于 Apple iOS 通知)将应用程序 ID 添加到 APNS 应用程序上下文,确保省略 Auth 密钥 - 将其设置为空。

XSP|ADP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

配置以下 NPS URL:

XSP|ADP CLI 上下文

参数

  • XSP|ADP_CLI/Applications/NotificationPushServer/FCM>

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects/PROJECT-ID/messages:send

scope

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

  • XSP|ADP_CLI/Applications/NotificationPushServer/APNS/Production>

url

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

7

根据显示的推荐值配置以下 NPS 连接参数:

XSP|ADP CLI 上下文

参数

  • XSP|ADP_CLI/Applications/

    NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3600

connectionIdleTimeoutInSeconds

600

  • XSP|ADP_CLI/Applications/NotificationPushServer/

    APNS/Production>

connectionTimeout

3000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

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

  1. 运行 AS_CLI/System/PushNotification> get 并检查 enforceAllowedApplicationList的值。如果是 true,则需要完成该子任务。否则,请跳过剩余的子任务。

  2. AS_CLI/System/PushNotification/AllowedApplications> add com.cisco.wx2.android “Webex Android”

  3. AS_CLI/System/PushNotification/AllowedApplications> add com.cisco.squared “Webex iOS”

9

重新启动 XSP|ADP: bwrestart

10

通过从 BroadWorks 订阅者向两个 Webex 移动用户进行呼叫来测试呼叫通知。验证呼叫通知是否出现在 iOS 和 Android 设备上。

将 NPS 迁移到 FCMv1

本主题包含可以在 Google FCM 控制台中使用的可选过程,当需要将现有的 NPS 部署迁移到 FCMv1 时,您可以执行这些步骤。有三个过程:

将 UC-One 客户端迁移到 FCMv1

使用 Google FCM 控制台中的以下步骤将 UC-One 客户端迁移到 Google FCM HTTPv1。

如果对客户端应用了定制,则客户端必须拥有发件人 ID。在 FCM 控制台中,请参阅项目设置 > 云消息传递。此设置显示在“项目凭证”表中。

有关详细信息,请参阅 Connect Mobile Branding Guide (位于 https://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/UC-One/UC-One-Collaborate/Connect/Mobile/IandO/ConnectBrandingGuideMobile-R3_8_3.pdf?) 。请参阅位于 Branding Kit、Resource 文件夹、branding.xml 文件中的 gcm_defaultSenderId 参数,其语法如下:

xxxxxxxxxxxxx

  1. 登录到 http://console.firebase.google.com 上的 FCM 管理员 SDK。

  2. 选择适当的 Android 应用程序。

  3. 常规标签页,记录项目 ID。

  4. 导航到“服务帐户”标签页,以配置一个服务帐户。您可以创建一个新的服务帐户,也可以配置一个现有的服务帐户。

    要创建新的服务帐户:

    1. 单击蓝色按钮,以创建一个新的服务帐户

    2. 单击蓝色按钮,以生成一个新的私钥

    3. 将密钥下载到安全的位置

    要重复使用现有的服务帐户:

    1. 单击蓝色文本,以查看现有的服务帐户。

    2. 确定要使用的服务帐户。服务帐户需要 firebaseadmin-sdk 权限。

    3. 在最右侧,单击汉堡菜单并创建一个新的私钥。

    4. 下载包含密钥的 json 文件,并保存到安全的位置。

  5. 将 json 文件复制到 XSP|ADP 上。

  6. 配置项目 ID 以及:

    XSP|ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add  
  7. 配置应用程序:

    XSP|ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add  projectId 
    ...Done
    
    XSP|ADP_CLI/Applications/NotificationPushServer/FCM/Applications> get
      Application ID    Project ID
    ==============================
              my_app    my_project
  8. 启用 FCMv1:

    XSP|ADP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled true
    ...Done
  9. 运行 bwrestart 命令重新启动XSP|ADP。

将 SaaS 客户端迁移到 FCMv1

如果您希望将 SaaS 客户端迁移到 FCMv1,请在 Google FCM 控制台上使用以下步骤。

确保您已完成“配置 NPS 以使用身份验证代理”过程。

  1. 禁用 FCM:

    XSP|ADP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false
    ...Done
  2. 运行 bwrestart 命令重新启动XSP|ADP。

  3. 启用 FCM:

    XSP|ADP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled true
    ...Done
  4. 运行 bwrestart 命令重新启动XSP|ADP。

更新 ADP 服务器

如果您要迁移 NPS 以使用 ADP 服务器,请在 Google FCM 控制台中使用以下步骤。

  1. 从 Google 云控制台获取 JSON 文件:

    1. 在 Google 云控制台上,转到服务帐户页面。

    2. 单击选择项目,选择您的项目,然后单击打开

    3. 找到要为其创建密钥的服务帐户的行,点击 更多 垂直按钮,然后点击 创建密钥

    4. 选择 类型并点击 创建

      随后会下载此文件。

  2. 将 FCM 添加到 ADP 服务器:

    1. 使用 /bw/install 命令将 JSON 文件导入 ADP 服务器。

    2. 登录到 ADP CLI 并添加项目和 API 密钥:

      ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add connect /bw/install/google JSON :

    3. 接下来,添加应用程序和密钥:

      ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.ucaas.connect projectId connect-ucaas...Done

    4. 验证配置:

      ADP_CLI/Applications/NotificationPushServer/FCM/Projects> g
      Project ID Accountkey
      ========================
      connect-ucaas ********
      
      ADP_CLI/Applications/NotificationPushServer/FCM/Applications> g
      Application ID Project ID
      ===================================
      com.broadsoft.ucaas.connect connect-ucaas
这篇文章对您有帮助吗?
这篇文章对您有帮助吗?