この記事では、共有 NPS を設定して NPS 認証プロキシを使用する方法について説明します。共有 NPS は Webex アプリに着信通知をプッシュするためにも使用できます。NPS が他のアプリをサポートしていない場合は、 Webex for BroadWorks ソリューション ガイドの簡略化された手順に従ってください。

NPS プロキシの概要

Webex for BroadWorks との互換性のため、UCaaS の VoIP 用プッシュサーバーという NPS プロキシ機能をサポートできるよう NPS にパッチを適用する必要があります。

この機能は、通知プッシュ サーバーの新しい設計を実装して、モバイル クライアントのサービス プロバイダとプッシュ通知証明書の秘密鍵を共有するセキュリティ上の脆弱性を解決します。NPS は、プッシュ通知の証明書とキーをサービス プロバイダーと共有する代わりに、新しい API を使用して UCaaS バックエンドから有効期間の短いプッシュ通知トークンを取得し、このトークンを Apple APNs および Google FCM サービスによる認証に使用します。

この機能により、通知プッシュ サーバーが新しい Google Firebase Cloud Messaging (FCM) HTTPv1 API 経由で Android デバイスにプッシュ通知する機能も強化されています。

NPS をホストする XSP(または Application Delivery Platform ADP)は、次の要件を満たす必要があります。

最小バージョンと共存制限

  • NPS は専用の XSP/ADP で有効化する必要があり、サーバー上で唯一ホストされているアプリケーションである必要があります。これは、プッシュ通知の配信への干渉を排除するためです。

  • デプロイメントに存在する NPS アプリは 1 つのみとする必要があります。モバイル UC-One Collaborate/Connect または UC-One SaaS を使用していて、Webex for BroadWorks を実装している場合は、この単一の NPS をすべてのアプリで共有する必要があります。

  • NPS は、バージョン R22 以降の XSP または ADP である必要があります。

    XSP が NPS のみを実行していて、AS が R21.SP1 の場合、R22 または R23 の XSP は R21 スタックと互換性があります。詳細については、BroadWorks の互換性マトリックス を参照してください。

  • ADP サーバの詳細については、 Cisco BroadWorks Application Delivery Platformを参照してください。

共有 NPS

NPS プロキシを使用するよう共有 NPS を設定する前に、次の注意事項をお読みください。

  • NPS が他のアプリ (Webex アプリだけでなく) でも使用されている場合: まず NPS プロキシを構成し、次に NPS を FCM レガシー API の使用から FCM HTTP v1 API を使用に変更します。

  • NPS プロキシを使用して古いアプリの通知が適切に機能していることを確認したら、Android アプリの FCM API キーと iOS アプリの APNs 認証キーを削除します。

APNs HTTP/2

  • iOSアプリをデプロイした際に、 Cisco/BroadSoft, これらのアプリを設定するには HTTP/2 NPS プロキシを使用するように NPS を構成する前に、APNS プロトコルを有効にしてください。

  • Collaborate または SaaS BroadWorks アプリをすでにサポートしている XSP/ADP は、HTTP/2 に移行する必要があります。HTTP/2 の設定の詳細については、「APNS の通知プッシュサーバーへのHTTP/2 サポート」[英語] を参照してください(この記事では、これらの iOS アプリをサポートするための NPS の移行についてまとめられています)。

Android FCMv1

  • Androidアプリをデプロイした際に、 Cisco/BroadSoft, NPS が NPS プロキシを使用するように構成する前に、これらのアプリが FCMv1 キーを使用するように構成します。

  • もし XSP/ADP 現在 Connect または UC-One SaaS アプリをサポートしている場合は、NPS プロキシを構成した後に FCMv1 キーを有効にします。追加のアプリをすべて FCMv1 キーに移行し、有効化してテストした後、セットアップ手順を完了する準備ができるまで無効化することをお勧めします (移行フローはこの記事に記載されています)。

NPS 認証プロキシへの移行の概要図
表1. NPS プロキシに移行するタスクの概要

シーケンス

タスクタイトル

タスクが必要なのはいつ/なぜですか?

1

UC-One SaaS(または Connect)iOS アプリの NPS をHTTP/2 に移行します。

NPS がこれらのアプリをサポートしていて、HTTP/2 用にまだ設定されていない場合。

2

UC-One SaaS(または Connect)Android アプリの NPS を FCMv1 に移行します。

NPS がこれらのアプリをサポートしていて、FCMv1 用にまだ設定されていない場合。

3

FCMv1 モードを有効にし、プッシュ通知をテストします。

NPS が UC-One Connect やその他の(シスコ以外の)Android アプリをサポートしている場合。

4

FCM レガシーモードを再度有効にします。

NPS が UC-One SaaS をサポートしている場合。NPS プロキシを設定する前に FCMv1 が有効になっていると、UC-OneSaaS へのプッシュ通知が届かなくなります。

5

NPS 認証プロキシパッチをインストールします。

NPS が XSP R22 または XSP R23 にある場合。

6

次の手順に従い、NPS 認証プロキシを使用するように NPS を設定します。

  • NPS からテクニカルサポートを添付します

  • CI OAuth アカウントをリクエストします

  • NPS に CI アカウントを作成し、更新トークンのタイムアウトを設定します

  • Android アプリ ID を追加します

  • iOS アプリ ID を追加します

  • URL と接続タイムアウトを確認および設定します

  • AS 許可リストにアプリを追加します

  • FCMv1 を(もう一度)有効にします

  • XSP/ADPを再起動します

  • iOS および Android アプリの PN をテストします

常に必要。

7

FCM レガシーモードキーを削除します。

FCMv1 の NPS で正常にサポートされているアプリの場合。

このタスクは、iOS プラットフォーム上の UC-One SaaS および Webex アプリへのプッシュ通知に必須です。

始める前に

XSP が R22 を実行している場合は、APNS に対して HTTP/2 を使用するように NPS アプリケーションを設定する前に、ap354313 を適用する必要があります。

1

[プロダクション URL] および [接続パラメータ] を設定します。 XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

メモ: 接続タイムアウトを 1000 未満に設定しないでください。

2

アプリケーション ID を APNS アプリケーションコンテキストに追加します。必ず認証キーを省略(空に設定)してください。

UC-One SaaS の場合:XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.broadsoft.uc-one

Webex アプリの場合: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

認証キーの確認 XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

com.broadsoft.uc-oneの認証キーが空でない場合は、 XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkeyでクリアできます。

5

HTTP/2 の有効化:

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

6

UC-One SaaS アプリの場合のみ:リセラーポータルにサインインし、 構成 に移動します > ブロードワークス > .

7

通知プッシュサーバーセクションまでスクロールダウンし、リリースを選択します(例:リリース 22)の場合は、ポータルに表示される指示に従ってください。

  • このタスクは、XSP 上の NPS に適用されます。NPS が ADP 上にある場合は無視してください。

  • この手順を使用して、UC-One Connect またはUC-One SaaS Android アプリの FCMv1 通知に移行できます。

  • NPS プロキシを使用して UC-One または Webex Androidアプリへのプッシュ通知を認証する場合は、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/Applications/NotificationPushServer/FCM/Projects> add project-id path/to/keyfile

5

UC-One (Connect または SaaS)アプリケーションおよび関連するプロジェクト ID を FCM アプリケーションコンテキストに追加します。

XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect projectId project-id

6

以下の属性と推奨値に照らして、FCM の設定を確認します。必要に応じて値を変更するには、コマンドの set バージョンを使用します。

コマンド XSP_CLI/Applications/NotificationPushServer/FCM> get

パラメータ

推奨値

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

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • このタスクは、ADP の NPS に適用されます。NPS が XSP にある場合は、無視してください。

  • この手順を使用して、UC-One Connect またはUC-One SaaS Android アプリの FCMv1 通知に移行できます。

  • NPS プロキシを使用して UC-One または Webex Androidアプリへのプッシュ通知を認証する場合は、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/Applications/NotificationPushServer/FCM/Projects> add connect-ucaas /bw/install/filename.json

5

アプリケーションとプロジェクト ID を FCM アプリケーションコンテキストに追加します。

ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.ucaas.connect projectId project-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

(移行の一部として)これを行う必要があるのは次の場合のみです。

  • NPS が、UC-One SaaS または BroadWorks Connect Android アプリに使用されている。

  • 他のアプリへのコールプッシュ通知が FCMv1 API で機能することをすでにテスト済みである。

これらのアプリの FCMv1 キーは、NPS 認証プロキシの設定プロセス中のみ有効化する必要があるため、FCMv1 を一時的に無効化しています。

1

共有 NPS をホストしている XSP にサインインします。

2

FCM コンテキストに移動し、FCM v1 を無効にします。XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false FCM レガシー API キーの使用に戻します。

1

オンボーディング連絡先または TAC を使用して、サービス リクエストを作成し、(Webex Common Identity) OAuth クライアント アカウントをプロビジョニングします。「認証プロキシ設定のための NPS 構成」とサービス リクエストにタイトルを付けします。

OAuth クライアント ID、クライアント シークレット、および 60 日間有効なリフレッシュ トークンが提供されます。NPS で使用する前にトークンの期限が切れた場合、別の要求を上げできます。
2

NPS のクライアント アカウントを作成します。

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set clientId client-Id-From-Step1

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/Applications/NotificationPushServer/CiscoCI/Client> get

3

NPS プロキシ URL を入力し、トークン更新間隔を設定します (推奨 30 分)。

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

DNS 解決速度を向上させるには、現在の FQDN nps.uc-one.broadsoft.com の代わりに、地域に基づいて適切な FQDN を使用することをお勧めします。

地域ベースの 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 アプリケーションコンテキストに追加します。

Android 上の Webex アプリの場合: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Android 上の UC-One アプリの場合: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Apple iOS 通知) アプリケーション ID を APNS アプリケーション コンテキストに追加し、Auth 鍵を省略して空に設定します。

iOS 上の Webex アプリの場合: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

iOS 上の UC-One アプリの場合: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

以下の NPS URL を構成します。

XSP CLIコンテキスト

パラメータ

XSP_CLI/Applications/NotificationPushServer/FCM>

authURL

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

pushURL

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

scope

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

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

url

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

7

以下に示す推奨値に、以下の NPS 接続パラメータを構成します。

XSP CLI コンテキスト

パラメータ

XSP_CLI/Applications/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

connectionTimeout

3000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

Webex アプリを許可リストに追加するために必要な可能性があるため、アプリケーション サーバーがアプリケーション ID を審査中か確認してください。

  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”

1

XSP を再起動します:

bwrestart
2

BroadWorks サブスクライバーから Android の呼び出し元クライアントを呼び出すことにより、Android へのコール通知をテストします。コール通知が Android デバイスに表示されることを確認します。

メモ: UC-One Android アプリケーションのプッシュ通知が失敗するようになった場合は、設定が間違っている可能性があります。その場合は、次の手順に従いレガシー FCM に戻すことができます。

  1. FCMv1 を無効にします。 XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. XSP を再起動します。 bwrestart

  3. 設定を確認します。

  4. FCMv1 を再度有効にして、XSP を再起動します。

  5. テストを繰り返します。

3

BroadWorks サブスクライバーから iOS の呼び出し元クライアントを呼び出すことにより、iOS へのコール通知をテストします。iOS デバイスにコール通知が表示されることを確認します。

メモ: UC-One iOS アプリケーションのプッシュ通知が失敗するようになった場合は、設定が間違っている可能性があります。これがお客様の状況である場合、 set HTTP2Enabled false