NPS 認証プロキシの概要


この記事では、共有 NPS が NPS 認証プロキシを使用して、Webex アプリにコール通知をプッシュするためにも使用できるよう設定する方法について説明します。 NPS が他のアプリケーションをサポートしていない場合は、Webex for BroadWorks ソリューション ガイド の「」の簡単な手順に従 https://help.webex.com/z9gt5j

NPS プロキシの概要

BroadWorks 用の Webex と互換性を保つには、NPS が NPS プロキシ機能である UCaaS の VoIP 用プッシュ サーバにパッチを当てなければならない

この機能では、プッシュ通知証明書のプライベートキーをモバイル クライアント用のサービス プロバイダーと共有するセキュリティの問題を解決するための、Notification Push Server の新しい設計が実装されています。 NPS は、プッシュ通知証明書およびキーをサービス プロバイダーと共有する代わりに、新しい API を使用して UCaaS のバックエンドから短いプッシュ通知トークンを取得し、Apple の APN および Google FCM サービスでの認証にこのトークンを使用します。

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

この機能の BroadWorks パッチは、Xchange から入手できます。 https://xchange.broadsoft.com/node/1046235

詳細については、次の「Xchange の UCaaS 機能の説明」の「VoIP のプッシュ サーバ」を参照してください。 https://xchange.broadsoft.com/node/1045458

NPS をホストする XSP(またはアプリケーション配信プラットフォーム ADP)は、次の要件を満たしている必要があります。

最小バージョンと同じ条件での制限

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

  • 導入では NPS アプリが 1 つのみです。 モバイル UC-One Collaborate/Connect または UC-OneAaS を使用し、Webex for BroadWorks を実装している場合は、すべてのアプリでこの 1 つの NPS を共有する必要があります。

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

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

  • ADP サーバの詳細については、次のページを https://xchange.broadsoft.com/node/1051580。

共有 NPS

NPS プロキシを使用するために共有 NPS を設定する前に、次の注を参照してください。

  • NPS が他のアプリで使用されている場合(Webex アプリだけではない)。 NPS プロキシを設定する前に、NPS を FCM レガシー API を使用して FCM HTTP v1 API を使用する方法から変更は行なって下さい。

    NPS プロキシを使用する NPS の設定中に、変更できます。

  • NPS プロキシを使用している古いアプリケーションで通知が正常に動作されていることを確認した場合は、Android アプリの FCM API キーと iOS アプリの APN 認証キーを削除できます。

APN HTTP/2

Android FCMv1

  • Cisco/BroadSoft ではない Android アプリを導入している場合は、NPS を NPS プロキシを使用するために設定する前に、FCMv1 キーを使用するアプリを設定します。

  • XSP/ADP が Connect または UC-One の機能をサポートしている場合、NPS プロキシを設定する前に FCMv1 キーを有効にできません。 追加のすべてのアプリケーションを FCMv1 キーに移行し、有効にしてテストしてから、セットアップ手順を完了するまで無効にすることをお勧めします(移行のフローについては、この記事を参照してください)。

図 1。NPS 認証プロキシへの移行のビジュアル サマリー
表 1 に示します。NPS プロキシに移行するタスクの概要

[順序(Sequence)]

タスク タイトル

タスクが必要なのに、その理由

1

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

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

2

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

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

3

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

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

4

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

NPS が UC-OneAaS をサポートしている場合。 FCMv1 を有効のままにした場合は、NPS プロキシを設定する前に、UC-OneAaS へのプッシュ通知の失敗を開始します。

5

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

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

6

NPS 認証プロキシを使用するために NPS を構成します。

  • NPS からの技術サポートの接続

  • CI OAuth アカウントの要求

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

  • Android アプリ ID の追加

  • iOS アプリ ID の追加

  • URL および接続タイムアウトの確認/設定

  • AS 許可リストへのアプリの追加

  • (再)FCMv1 の有効化(Enable FCMv1)

  • XSP/ADP の再起動

  • iOS および Android アプリの PN のテスト

常に必須です。

7

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

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

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

はじめる前に

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

1

実稼働 URL と接続パラメータは、[アプリケーション (Applications XSP_CLI NotificationPushServer/APNS/Production)で設定します>

URL の設定 https://api.push.apple.com/3/device

connection のセットアップ 2(Set connection 大サイズ 2)

connectionTimeout 3000 の設定

connectionIdleTimeoutInSeconds 600 の設定

注: 接続タイムアウトを 1000 以下に設定しない。

2

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

UC-OneAaS の場合 :XSP_CLI/NotificationPushServer/APNS/実稼働/トークン> com.broadsoft.uc-one を追加します。

Webex アプリの場合: XSP_CLI/NotificationPushServer/APNS/実稼働/トークン> com.cisco.squared を追加

3

XSP_CLI/Applications/NotificationPushServer/APNS/実稼働/トークンで認証キーを確認> 取得

4

com.broadsoft.uc-one の認証キーが空ではない場合は 、XSP_CLI/Applications/NotificationPushServer/APNS/実稼働/トークンを使用して認証キーをクリア>、認証キー クリアできます。

5

HTTP/2 を有効にする:

XSP_CLI/アプリケーション/NotificationPushServer/APNS/GeneralSettings> HTTP2Enabled true を設定

6

UC-One の AaS アプリの場合のみ、 販売業者のポータルにログインし 、[BroadWorks の設定(Configuration >) に >。

7

[通知プッシュサーバ(Notification Push Server] セクションまでスクロールし、リリース(リリース 22 など)を選択してから、ポータルに表示 される手順に従います。

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

  • UC-One Connect アプリまたは UC-OneAaS Android アプリの FCMv1 通知にマイマイリングするには、この手順を使用できます。

  • UC-One または Webex Android アプリに対するプッシュ通知を認証するために NPS プロキシを使用する場合は、FCMv1 を使用する必要があります。

  • このタスクでは、NPS を FCMv1 用に準備し、NPS 認証プロキシの設定の一部として有効にできます。 NPS 認証プロキシを設定する準備が整うまで、FCMv1 を有効にしません。または、AaS クライアントへの通知が失敗します。

1

Firebase コンソールからプロジェクト ID を取得します。

  1. にログイン console.firebase.google.com。

  2. UC-One(接続または AaS)アプリ プロジェクトを選択し、そのプロジェクト設定を開きます。

  3. [全般 (General) ] タブを開き、プロジェクト ID を録音します。

2

Firebase からサービス アカウントのプライベートキーを取得します。

  1. プロジェクト設定の [サービス アカウント(Service accountss] タブに移動します。

  2. 新しいサービス アカウントを作成し、そのプライベートキーを取得します。

  3. または、既存のサービス アカウントを開いて、その新しいプライベートキーを生成します。

    注: サービス アカウントに firebaseadmin-sdk の権限が必要 です。

  4. 安全な場所にキーをダウンロードします。

3

NPS をホストしている XSP にキーをコピーします。

4

FCM プロジェクト コンテキストにプロジェクト ID と関連付けられたプライベートキーを追加します。

XSP_CLI/NotificationPushServer/FCM/プロジェクト >、プロジェクト ID パス/to/keyfile を追加

5

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

XSP_CLI/NotificationPushServer/FCM/アプリケーション> applicationId com.broadsoft.connect projectId プロジェクト ID を追加します。

6

FCM の設定を、ここに示す属性および推奨値と対して確認します。 必要 に応 じて、コマンドの set version を使用して値を変更します。

実行 XSP_CLI/アプリケーション/NotificationPushServer/FCM> 取得

パラメータ

推奨値

認証 URL(authURL)

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

pushURL(pushURL)

https://fcm.googleapis.com/v1/projects/ PROJECT-ID /メッセージの送信:send

スコープ

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

トークン TimeTo ライブイン秒(tokenTimeToLiveInSeconds)

3600

Connection のサイズ(Connection 大)

10

connectionTimeoutIn-1 秒(connectionTimeoutInSeconds)

3000

connectionIdleTimeoutInSeconds(秒)

600

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

  • UC-One Connect アプリまたは UC-OneAaS Android アプリの FCMv1 通知にマイマイリングするには、この手順を使用できます。

  • UC-One または Webex Android アプリに対するプッシュ通知を認証するために NPS プロキシを使用する場合は、FCMv1 を使用する必要があります。

  • このタスクでは、NPS を FCMv1 用に準備し、NPS 認証プロキシの設定の一部として有効にできます。 NPS 認証プロキシを設定する準備が整うまで、FCMv1 を有効にしません。または、AaS クライアントへの通知が失敗します。

1

Firebase コンソールからプロジェクト ID を取得します。

  1. にログイン console.firebase.google.com。

  2. UC-One(接続または AaS)アプリ プロジェクトを選択し、そのプロジェクト設定を開きます。

  3. [全般 (General) ] タブを開き、プロジェクト ID を録音します。

2

Firebase からサービス アカウントのプライベートキーを取得します。

  1. プロジェクト設定の [サービス アカウント(Service accountss] タブに移動します。

  2. 新しいサービス アカウントを作成し、そのプライベートキーを取得します。

  3. または、既存のサービス アカウントを開いて、その新しいプライベートキーを生成します。

    注: サービス アカウントに firebaseadmin-sdk の権限が必要 です。

  4. キー(.json ファイル)を安全な場所にダウンロードします。

3

.json ファイルを ADP サーバ (/分/インストール) にインポートします

4

ADP CLI にログインし、FCM プロジェクト コンテキストにプロジェクトと API キーを追加します。

ADP_CLI/NotificationPushServer/FCM/プロジェクト> 接続/ucaas/>/install/filename.> 追加

5

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

ADP_CLI/アプリケーション/NotificationPushServer/FCM/アプリケーション> applicationId com.broadsoft.ucaas.connect projectId project-id を追加します。

6

構成を確認します。

ADP_CLI/アプリケーション/NotificationPushServer/FCM/プロジェクト> プロジェクト ID アカウントキー ========================== connect-ucaas ********
ADP_CLI/Applications/Notification-Server/FCM/Applications> get Application ID Project ID ==============================com.broadsoft.ucaas.connect-ucaas

次の場合にのみ、(移行の一部として)これを実行する必要があります。

  • NPS は、UC-One のサービス提供または BroadWorks Connect Android アプリで使用されます。

  • 他のアプリケーションへのコール プッシュ通知が FCMv1 API を使用中かはすでにテスト済みです。

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

1

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

2

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

NPS 認証プロキシ機能をサポートするために、次のパッチをインストールします。

R22 パッチ

R23 パッチ

  • AP.xsp.23.0.1075.ap369607 の https://xchange.broadsoft.com/node/1043962

  • AP.platform.23.0.1075.ap369607 の https://xchange.broadsoft.com/node/1043961

  • AP.xsp.23.0.1075.ap374677 の https://xchange.broadsoft.com/node/1050544

  • AP.xsp.23.0.1075.ap375206 の https://xchange.broadsoft.com/node/1051570

1

(Webex Common Identity)の OAuth クライアント アカウントをプロビジョニングするために、オンボード連絡先または TAC を使用してサービス 要求を作成します。 認証プロキシ セットアップ用の サービス要求 NPS 設定にタイトルを付します

シスコでは、OAuth クライアント ID、クライアント シークレット、および 60 日間有効な更新トークンを提供します。 NPS で使用する前にトークンの有効期限が切れた場合は、別の要求を発生できます。
2

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

XSP_CLI/NotificationPushServer/CiscoCI/Client> clientId client-Id-From-Step1 を設定する

XSP_CLI/アプリケーション/NotificationPushServer/CiscoCI/Client> ClientSecsecsec new Password を設定します。 client-Secret-From-Step1
XSP_CLI/Notification-ShServer/CiscoCI/クライアント> RefreshToken 新しいパスワード を設定します。 Refresh-Token-From-Step1

入力した値が指定された値と一致するを確認するには、次の手順で XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client を実行> します。

3

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

XSP_CLI/NotificationPushServer/CloudNPSService> URL を 設定 https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/NotificationPushServer/CloudREFSService> VOIPTo-refrefhInter> 1800 を設定します。

4

(Android 通知の場合)NPS 上の FCM アプリケーション コンテキストに Android アプリケーション ID を追加します。

Android 上の Webex アプリの場合: XSP_CLI/NotificationPushServer/FCM/アプリケーション> applicationId com.cisco.wx2.android を追加します。

Android 上の UC-One アプリの場合: XSP_CLI/NotificationPushServer/FCM/アプリケーション> applicationId com.broadsoft.connect を追加します。

5

(Apple iOS 通知の場合)APNS アプリケーション コンテキストにアプリケーション ID を追加し、認証キーを省略してください。空に設定します。

iOS 上の Webex アプリの場合: XSP_CLI/NotificationPushServer/APNS/実稼働/トークン> com.cisco.squared を追加

iOS 上の UC-One アプリの場合は、次の条件を実行します。 XSP_CLI/NotificationPushServer/APNS/実稼働/トークン> com.cisco.squared を追加

6

次の NPS URL を設定します。

表 2 に示します。

XSP CLI コンテキスト(XSP CLI Context)

パラメータ

XSP_CLI/アプリケーション/NotificationPushServer/FCM>

認証 URL(authURL)

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

pushURL(pushURL)

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

スコープ

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

XSP_CLI/アプリケーション/NotificationPushServer/APNS/実稼働>

url

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

7

次の NPS 接続パラメータを、次の推奨値に設定します。

表 3 に示します。

XSP CLI コンテキスト(XSP CLI Context)

パラメータ

XSP_CLI/アプリケーション/NotificationPushServer/FCM>

トークン TimeTo ライブイン秒(tokenTimeToLiveInSeconds)

3600

Connection のサイズ(Connection 大)

10

connectionTimeoutIn-1 秒(connectionTimeoutInSeconds)

3000

connectionIdleTimeoutInSeconds(秒)

600

XSP_CLI/アプリケーション/NotificationPushServer/APNS/実稼働>

connection タイムアウト(connectionTimeout)

3000

Connection のサイズ(Connection 大)

2

connectionIdleTimeoutInSeconds(秒)

600

8

Webex アプリケーションを許可リストに追加する必要がある場合があるから、Application Server でアプリケーション ID がスクリーニングされるのを確認します。

  1. スクリプト AS_CLI/システム/Push の通知を >、enforceAledApplicationList の値を取得して確認します 。 true の場合 、このサブタスクを完了する必要があります。 それ以外の場合は、残りのサブタスクをスキップします。

  2. AS_CLI/プッシュ通知/AllowedApplications> com.cisco.wx2.android"Webex Android" を追加

  3. AS_CLI/Push 表示/AllowedApplications> com.cisco.squared"Webex iOS" を追加

1

XSP を再起動します。

は、次の情報を参照してください。
2

BroadWorks の加入者から Android 上の発信側クライアントにコールを発信することにより、Android へのコール通知をテストします。 Android デバイスにコール通知が表示されるのを確認します。

注: UC-One Android アプリケーションのプッシュ通知が失敗し始める場合は、設定に誤りがある可能性があります。 このような状況の場合は、次のようにレガシー FCM に戻すことができます。

  1. FCMv1 の無効化: XSP_CLI/NotificationPushServer/FCM> V1Enabled false に設定

  2. XSP の再起動: は、次の情報を参照してください。

  3. 設定を確認します。

  4. FCMv1 を再有効化し、XSP を再起動します。

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

3

BroadWorks の加入者から iOS 上の発信側クライアントにコールを発信することにより、iOS へのコール通知をテストします。 iOS デバイスにコール通知が表示されるのを確認します。

注: UC-One iOS アプリケーションでプッシュ通知が失敗し始める場合は、設定に誤りがある可能性があります。 このような状況の場合は、HTTP2Enabled false を設定してレガシー バイナリ インターフェイスに戻することができます。