Überblick über NPS-Authentifizierungs Proxy


In diesem Artikel wird beschrieben, wie Sie einen gemeinsam genutzten NPS für die Verwendung des NPS-Authentifizierungs Proxys konfigurieren, sodass er auch zum Drücken von Anrufbenachrichtigungen an WebEx-Apps verwendet werden kann. Wenn Ihr NPS keine anderen Apps unterstützt, können Sie das vereinfachte Verfahren im WebEx für BroadWorks Solution Guide https://help.webex.com/z9gt5j befolgen.

NPS-Proxy – Übersicht

Aus Kompatibilitätsgründen mit WebEx für BroadWorks muss Ihr NPS gepatcht werden, um die NPS-Proxy-Funktion zu unterstützen . Push-Server für VoIP in UCaaS.

Die Funktion implementiert einen neuen Entwurf auf dem Notification Push-Server, um die Sicherheitsanfälligkeit bei der Freigabe von privaten Schlüsseln für Push-Benachrichtigungs Zertifikate mit Service-Providern für mobile Clients zu beheben. Anstatt Push-Benachrichtigungs Zertifikate und -Schlüssel mit dem Service-Provider zu teilen, verwendet der NPS eine neue API, um ein kurzlebige Push-Benachrichtigungs Token vom UCaaS-Backend zu erhalten, und verwendet dieses Token für die Authentifizierung mit den Apple APNs- und Google FCM-Diensten.

Das Feature verbessert außerdem die Fähigkeit des Notification Push-Servers, Benachrichtigungen über die neue HTTPv1-API von Google FB Cloud Messaging (FCM) an Android-Geräte zu senden.

Die BroadWorks-Patches für die Funktion sind auf Xchange verfügbar: https://xchange.broadsoft.com/node/1046235

Weitere Informationen finden Sie im Push-Server für VoIP in UCaaS Funktionsbeschreibung auf Xchange: https://xchange.broadsoft.com/node/1045458

Die xsp (oder die Anwendungs Bereitstellungsplattform ADP), die NPS hostet, muss die folgenden Anforderungen erfüllen:

Mindestversionen und Co-Residency-Einschränkungen

  • NPS muss auf einem dedizierten XSP/ADP aktiviert sein, und NPS muss die einzige gehostete Anwendung auf dem Server sein. Dadurch wird die Störung bei der Zustellung von Push-Benachrichtigungen eliminiert.

  • Es sollte nur eine NPS-App in einer Bereitstellung vorhanden sein. Wenn Sie Mobile UC-One zusammenarbeiten/verbinden und oder UC-One Saas verwenden und WebEx für BroadWorks implementieren, müssen Sie diesen einzelnen NPS für alle Apps freigeben.

  • NPS muss sich auf Version R22 oder höher XSP oder ADP befinden.

    R22/R23 xsp ist mit einem R21-Stack kompatibel, wenn die XSP nur NPS ausführt und die AS ist R21. SP1. Weitere Informationen finden Sie in der BroadWorks-Kompatibilitäts Matrix.

  • Weitere Informationen zum ADP-Server finden Sie unter https://xchange.broadsoft.com/node/1051580.

Gemeinsam genutzter NPS

Lesen Sie diese Hinweise, bevor Sie den gemeinsam genutzten NPS für die Verwendung des NPS-Proxys konfigurieren:

  • Wenn Ihr NPS mit anderen Apps verwendet wird (nicht nur mit der WebEx-APP): Ändern Sie den NPS nicht mit der FCM Legacy-API, um die FCM http v1-API zu verwenden, bevor Sie den NPS-Proxy konfigurieren.

    Sie können während der Konfiguration von NPS die Verwendung des NPS-Proxys ändern.

  • Wenn Sie überprüft haben, dass Benachrichtigungen für ältere Apps mit dem NPS-Proxy ordnungsgemäß funktionieren, können Sie den FCM-API-Schlüssel für die Android-App und den APNs auth-Schlüssel für die IOS-App entfernen.

APNs http/2

  • Wenn Sie IOS-Apps bereitgestellt haben, die nicht von Cisco/BroadSoft sind, konfigurieren Sie diese Apps so, dass Sie das http/2 APNS-Protokoll verwenden, bevor Sie NPS für die Verwendung des NPS-Proxy konfigurieren.

  • XSP/ADPS, die die Zusammenarbeit oder SaaS BroadWorks-App bereits unterstützen, müssen zu http/2 migriert werden. Ausführliche Informationen zur Konfiguration von http/2 finden Sie unter http/2-Unterstützung für Notification Push-Server für APNS (die Migration von NPS zur Unterstützung dieser IOS-Apps ist in diesem Artikel zusammengefasst).

Android FCMv1

  • Wenn Sie Android-Apps bereitgestellt haben, die nicht von Cisco/BroadSoft sind, konfigurieren Sie diese Apps so, dass Sie die FCMv1-Schlüssel verwenden, bevor Sie NPS für die Verwendung des NPS-Proxy konfigurieren.

  • Wenn das XSP/ADP derzeit die Connect- oder UC-One-Saas-App unterstützt, können die FCMv1-Schlüssel vor dem Konfigurieren des NPS-Proxys nicht aktiviert werden. Wir empfehlen, alle weiteren Apps zu FCMv1-Tasten zu migrieren, zu aktivieren und zu testen und dann zu deaktivieren, bis Sie bereit sind, die Installationsanweisungen abzuschließen (der Migrationsfluss wird in diesem Artikel dokumentiert).

Abbildung 1. Visuelle Zusammenfassung der Migration zum NPS-Authentifizierungs Proxy
Tabelle 1. Zusammenfassung der Tasks, die zum NPS-Proxy migriert werden sollen

Sequenz

Aufgabentitel

Wann/Warum ist Aufgabe erforderlich?

1

Migrieren Sie NPS zu http/2 für UC-One SaaS (oder Connect) IOS-Apps.

Wenn der NPS diese Apps unterstützt und Sie noch nicht für http/2 konfiguriert sind.

2

Migrieren Sie NPS zu FCMv1 für UC-One SaaS (oder Connect) Android-Apps.

Wenn der NPS diese Apps unterstützt und Sie noch nicht für FCMv1 konfiguriert sind.

3

Aktivieren Sie den FCMv1-Modus und testen Sie Push-Benachrichtigungen.

Wenn der NPS UC-One Connect und/oder andere (Nicht-Cisco) Android-Apps unterstützt.

4

Aktivieren Sie den FCM Legacy-Modus erneut.

Wenn der NPS UC-One Saas unterstützt. Wenn Sie FCMv1 aktiviert lassen, bevor Sie den NPS-Proxy konfigurieren, drücken Sie Benachrichtigungen an UC-One SaaS-Start fehlgeschlagen.

5

Installieren Sie NPS-Authentifizierungs Proxy-Patches.

Wenn NPS auf XSP R22 oder XSP R23.

6

Konfigurieren Sie NPS für die Verwendung des NPS-Authentifizierungs Proxys:

  • Techsupport von NPS anfügen

  • CI-OAuth-Konto anfordern

  • CI-Konto auf NPS erstellen und Timeout für Aktualisierungstoken konfigurieren

  • Android-App-IDs hinzufügen

  • IOS-App-IDs hinzufügen

  • URLs und Verbindungs-Timeouts überprüfen/festlegen

  • Apps zur Zulassungsliste hinzufügen

  • (Re-) FCMv1 aktivieren

  • XSP/ADP neu starten

  • PNS für IOS- und Android-Apps testen

Immer erforderlich.

7

Entfernen Sie die FCM Legacy-Modus-Tasten.

Für Apps, die von NPS auf FCMv1 erfolgreich unterstützt werden.

Diese Aufgabe ist für Push-Benachrichtigungen an UC-One SaaS- und WebEx-Apps auf IOS-Plattformen erforderlich.

Bevor Sie beginnen:

Wenn Ihr XSP R22 ausführt, müssen Sie ap354313 anwenden, bevor Sie die NPS-Anwendung für die Verwendung von http/2 für APNS konfigurieren können.

1

Legen Sie die Produktions-URL und die Verbindungsparameter auf XSP_CLI/Applications/notificationpushserver/APNs/Production fest >

URL-https://API.push.apple.com/3/device festlegen

Set connectionPoolSize 2

Set ConnectionTimeout 3000

Set connectionIdleTimeoutInSeconds 600

Hinweis: Legen Sie das Verbindungs-Timeout nicht unter 1000.

2

Fügen Sie die Anwendungs-IDs zum APNS-Anwendungskontext hinzu, und stellen Sie sicher, dass die auth-Taste ausgelassen wird.

Für UC-One SaaS: XSP_CLI/Applications/notificationpushserver/APNs/Production/Tokens > com. BroadSoft. UC-One hinzufügen

Für WebEx-App: XSP_CLI/Applications/notificationpushserver/APNs/Production/Tokens > com. Cisco. squared hinzufügen

3

Überprüfen Sie die auth-Tasten mit XSP_CLI/Applications/notificationpushserver/APNs/Production/Tokens > Get

4

Wenn die auth-Taste für com. BroadSoft. UC-One nicht leer ist , können Sie Sie mit XSP_CLI/Applications/notificationpushserver/APNs/Production/Tokens > Clear The-authkey

5

HTTP/2 aktivieren:

XSP_CLI/Applications/notificationpushserver/APNs/generalsettings > Set HTTP2Enabled true

6

Nur für UC-One-Saas-Apps: Melden Sie sich beim Reseller-Portal an und gehen Sie zu Konfiguration > BroadWorks > .

7

Blättern Sie zum Abschnitt Benachrichtigungs-Push-Server, und wählen Sie Ihre Version aus (z. b. Version 22 ), und folgen Sie den Anweisungen im Portal.

  • Diese Aufgabe gilt für NPS auf XSP. Ignorieren Sie diese Option, wenn sich der NPS auf ADP befindet.

  • Mit diesem Verfahren können Sie zu FCMv1-Benachrichtigungen für UC-One Connect oder UC-One Saas Android-Apps migrieren.

  • Sie müssen FCMv1 verwenden, wenn Sie den NPS-Proxy verwenden möchten, um Push-Benachrichtigungen an UC-One oder die WebEx Android-Apps zu authentifizieren.

  • Dieser Task bereitet den NPS für FCMv1 vor, sodass Sie ihn als Teil der Konfiguration des NPS-Authentifizierungs Proxys aktivieren können. Aktivieren Sie FCMv1 erst, wenn Sie bereit sind, NPS-Authentifizierungs Proxys zu konfigurieren, oder wenn Benachrichtigungen an SaaS-Clients fehlschlagen.

1

Die Projekt-ID von der FB Console abrufen:

  1. Melden Sie sich bei console.firebase.google.com an.

  2. Wählen Sie das UC-One (Connect oder SaaS)-App-Projekt aus, und öffnen Sie die Projekteinstellungen.

  3. Öffnen Sie die RegisterkarteAllgemein, und notieren Sie die Projekt-ID.

2

Holen Sie sich den privaten Schlüssel Ihres servicekontos von FB:

  1. Navigieren Sie in den Projekteinstellungen zur Registerkarte "Dienstkonten".

  2. Erstellen Sie entweder ein neues Servicekonto und den privaten Schlüssel.

  3. Sie können auch ein vorhandenes Servicekonto öffnen und einen neuen privaten Schlüssel generieren.

    Hinweis: Das Dienstkonto muss über die firebaseadmin-SDK- Berechtigung verfügen.

  4. Laden Sie den Schlüssel an einen sicheren Ort herunter.

3

Kopieren Sie den Schlüssel in die XSP, die ihren NPS hostet.

4

Fügen Sie dem FCM-Projektkontext die Projekt-ID und den zugehörigen privaten Schlüssel hinzu:

XSP_CLI/Applications/notificationpushserver/FCM/Projects > Projekt-ID-Pfad/to/keyfile hinzufügen

5

Fügen Sie die UC-One (Connect oder SaaS)-Anwendung und die zugehörige Projekt-ID zum FCM-Anwendungskontext hinzu:

XSP_CLI/Applications/notificationpushserver/FCM/Applications > ApplicationId com. BroadSoft. Connect Project -ID hinzufügen

6

Überprüfen Sie die Konfiguration von FCM anhand der hier gezeigten Attribute und empfohlenen Werte. Verwenden Sie Set Version des Befehls, um bei Bedarf Werte zu ändern:

XSP_CLI/Applications/notificationpushserver/FCM > Abrufen

Parameter

Empfohlener Wert

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects/ Projekt-ID /Messages: senden

Bereich

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

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • Diese Aufgabe gilt für NPS auf ADP. Ignorieren Sie diese Option, wenn sich der NPS in XSP befindet.

  • Mit diesem Verfahren können Sie zu FCMv1-Benachrichtigungen für UC-One Connect oder UC-One Saas Android-Apps migrieren.

  • Sie müssen FCMv1 verwenden, wenn Sie den NPS-Proxy verwenden möchten, um Push-Benachrichtigungen an UC-One oder die WebEx Android-Apps zu authentifizieren.

  • Dieser Task bereitet den NPS für FCMv1 vor, sodass Sie ihn als Teil der Konfiguration des NPS-Authentifizierungs Proxys aktivieren können. Aktivieren Sie FCMv1 erst, wenn Sie bereit sind, NPS-Authentifizierungs Proxys zu konfigurieren, oder wenn Benachrichtigungen an SaaS-Clients fehlschlagen.

1

Die Projekt-ID von der FB Console abrufen:

  1. Melden Sie sich bei console.firebase.google.com an.

  2. Wählen Sie das UC-One (Connect oder SaaS)-App-Projekt aus, und öffnen Sie die Projekteinstellungen.

  3. Öffnen Sie die RegisterkarteAllgemein, und notieren Sie die Projekt-ID.

2

Holen Sie sich den privaten Schlüssel Ihres servicekontos von FB:

  1. Navigieren Sie in den Projekteinstellungen zur Registerkarte "Dienstkonten".

  2. Erstellen Sie entweder ein neues Servicekonto und den privaten Schlüssel.

  3. Sie können auch ein vorhandenes Servicekonto öffnen und einen neuen privaten Schlüssel generieren.

    Hinweis: Das Dienstkonto muss über die firebaseadmin-SDK- Berechtigung verfügen.

  4. Laden Sie den Schlüssel (JSON-Datei) an einen sicheren Speicherort herunter.

3

Importieren Sie die. JSON-Datei auf den ADP -Server/BW/install.

4

Melden Sie sich bei ADP CLI an, und fügen Sie den Projekt- und API-Schlüssel zum FCM-Projektkontext hinzu:

ADP_CLI/Applications/notificationpushserver/FCM/Projects > Connect-ucaas/BW/install/ filename. JSON hinzufügen

5

Fügen Sie die Anwendungs- und Projekt-ID zum FCM-Anwendungskontext hinzu:

ADP_CLI/Applications/notificationpushserver/FCM/Applications > Add ApplicationId com. BroadSoft. ucaas. Connect Project ID Project-ID

6

Überprüfen Sie Ihre Konfiguration:

ADP_CLI/Applications/notificationpushserver/FCM/Projects > Projekt-ID Accountkey = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =  : Connect-ucaas * * * * * * * *
ADP_CLI/Applications/notificationpushserver/FCM/Applications > Get Application ID Project ID = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = BroadSoft. ucaas. Connect Connect-ucaas

Sie müssen dies nur tun (als Teil der Migration), wenn:

  • Ihr NPS wird für UC-One SaaS oder BroadWorks Connect Android Apps verwendet.

  • Sie haben bereits getestet, dass Anruf-Push-Benachrichtigungen an andere Apps mit der FCMv1-API arbeiten.

Sie deaktivieren FCMv1 vorübergehend, da die FCMv1-Tasten für diese Apps nur während der Konfiguration des NPS-Authentifizierungs Proxys aktiviert werden müssen.

1

Melden Sie sich bei der XSP an, die ihren gemeinsam genutzten NPS hostet.

2

Navigieren Sie zum FCM-Kontext, und deaktivieren Sie FCM v1: XSP_CLI/Applications/notificationpushserver/FCM > Set V1enabled false , um die Verwendung des FCM Legacy API-Schlüssels wiederherzustellen.

Installieren Sie die folgenden Patches, um die NPS-Authentifizierungs Proxy-Funktion zu unterstützen:

R22-Patches

R23-Patches

1

Erstellen Sie eine Serviceanfrage mit Ihrem Onboarding-Kontakt oder mit TAC, um Ihr (WebEx Common Identity) OAuth-Client-Konto bereitzustellen. Titel ihrer Serviceanfrage NPS-Konfiguration für auth-Proxy-Setup.

Cisco bietet Ihnen eine OAuth-Client-ID, einen Client-Schlüssel und ein Aktualisierungstoken an, das für 60 Tage gültig ist. Wenn das Token abläuft, bevor Sie es mit dem NPS verwenden, können Sie eine andere Anforderung auslösen.
2

Erstellen Sie das Clientkonto auf dem NPS:

XSP_CLI/Applications/notificationpushserver/ciscoci/Client > Set clientId Client-ID-from-step1

XSP_CLI/Applications/notificationpushserver/ciscoci/Client > clientSecret Neues Kennwort festlegen: Client-geheim-von-step1
XSP_CLI/Applications/notificationpushserver/ciscoci/Client > RefreshToken Neues Kennwort festlegen: Aktualisieren-Token-von-step1

Um die eingegebenen Werte zu überprüfen, führen Sie XSP_CLI/Applications/notificationpushserver/ciscoci/Client > Get

3

Geben Sie die NPS-Proxy-URL ein, und legen Sie das Aktualisierungsintervall für Token fest (30 Minuten empfohlen):

XSP_CLI/Applications/notificationpushserver/cloudnpsservice > URL festlegen https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Applications/notificationpushserver/cloudnpsservice > Set VOIPTokenRefreshInterval 1800

4

(Für Android-Benachrichtigungen) Fügen Sie die Android-Anwendungs-IDs zum FCM-Anwendungskontext auf dem NPS hinzu.

Für WebEx-App auf Android: XSP_CLI/Applications/notificationpushserver/FCM/Applications > ApplicationId com. Cisco. wx2. Android hinzufügen

Für UC-One App auf Android: XSP_CLI/Applications/notificationpushserver/FCM/Applications > ApplicationId com. BroadSoft. Connect hinzufügen

5

(Für Apple IOS-Benachrichtigungen) Fügen Sie die Anwendungs-ID zum APNS-Anwendungskontext hinzu, und stellen Sie sicher, dass die auth-Taste ausgelassen wird.

Für WebEx-App auf ios: XSP_CLI/Applications/notificationpushserver/APNs/Production/Tokens > com. Cisco. squared hinzufügen

Für UC-One-App auf ios: XSP_CLI/Applications/notificationpushserver/APNs/Production/Tokens > com. Cisco. squared hinzufügen

6

Konfigurieren Sie die folgenden NPS-URLs:

Tabelle 2.

XSP-CLI-Kontext

Parameter

Wert

XSP_CLI/Applications/notificationpushserver/FCM >

authURL

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

pushURL

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

Bereich

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

XSP_CLI/Applications/notificationpushserver/APNs/Production >

URL

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

7

Konfigurieren Sie die folgenden NPS-Verbindungsparameter mit den angezeigten empfohlenen Werten:

Tabelle 3.

XSP-CLI-Kontext

Parameter

Wert

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

Überprüfen Sie, ob der Anwendungs Server Anwendungs-IDs überprüft, da Sie die WebEx-Anwendungen möglicherweise zur Zulassungsliste hinzufügen müssen:

  1. Führen Sie AS_CLI/System/pushnotification > Abrufen und überprüfen Sie den Wert von enforceAllowedApplicationList. Wenn dies der Fall ist , müssen Sie diese unter Aufgabe ausführen. Andernfalls überspringen Sie den Rest des unter Tasks.

  2. AS_CLI/System/pushnotification/allowedapplications > com. Cisco. wx2. Android "WebEx Android" hinzufügen

  3. AS_CLI/System/pushnotification/allowedapplications > com. Cisco. squared "WebEx IOS" hinzufügen

1

Starten Sie die XSP neu:

bwrestart
2

Testen Sie die Anrufbenachrichtigungen an Android, indem Sie Anrufe von einem BroadWorks-Abonnenten an den anrufenden Client auf Android tätigen. Stellen Sie sicher, dass die Anrufbenachrichtigung auf dem Android-Gerät angezeigt wird.

Hinweis: Wenn die Push-Benachrichtigungen für die UC-One Android-Anwendung fehlschlagen, ist möglicherweise eine fehlerhafte Konfiguration vorhanden. In diesem Fall können Sie den Legacy-FCM wie folgt wiederherstellen:

  1. FCMv1 deaktivieren: XSP_CLI/Applications/notificationpushserver/FCM > Set V1Enabled false

  2. XSP neu starten: bwrestart

  3. Überprüfen Sie die Konfiguration.

  4. Aktivieren Sie FCMv1 erneut, und starten Sie den XSP neu.

  5. Wiederholen Sie den Test.

3

Testen Sie Anrufbenachrichtigungen an IOS, indem Sie Anrufe von einem BroadWorks-Abonnenten an den anrufenden Client auf IOS tätigen. Stellen Sie sicher, dass die Anrufbenachrichtigung auf dem IOS-Gerät angezeigt wird.

Hinweis: Wenn die Push-Benachrichtigungen für die UC-One IOS-Anwendung fehlschlagen, ist möglicherweise eine fehlerhafte Konfiguration vorhanden. In diesem Fall können Sie die Legacy-Binärschnittstelle mit Set HTTP2Enabled false zurücksetzen.