Übersicht über den NPS-Authentifizierungsproxy


In diesem Artikel wird beschrieben, wie ein geteilter NPS für die Verwendung eines NPS-Authentifizierungsproxys konfiguriert wird, damit er auch für Push-Anrufbenachrichtigungen an Webex-Apps verwendet werden kann. Wenn Ihr NPS keine anderen Apps unterstützt, können Sie das vereinfachte Verfahren im Webex for BroadWorks Solution Guide https://help.webex.com/z9gt5j befolgen.

Übersicht über NPS-Proxy

Zur Kompatibilität mit Webex für BroadWorks muss Ihr NPS gepatcht werden, um die NPS-Proxyfunktion Push-Server für VoIP in UCaaS zu unterstützen.

Die Funktion implementiert ein neues Design im Benachrichtigungs-Push-Server, um die Sicherheitslücke beim Teilen von privaten Schlüsseln für Push-Benachrichtigungszertifikate mit Dienstanbietern für mobile Clients zu beheben. Anstatt Push-Benachrichtigungs-Zertifikate und Schlüssel mit dem Serviceanbieter zu teilen, verwendet der NPS eine neue API, um ein kurzlebiges Push-Benachrichtigungs-Token vom UCaaS-Backend zu erhalten, und verwendet dieses Token für die Authentifizierung mit den Apple APNs und Google FCM-Diensten.

Die Funktion verbessert auch die Funktion des Benachrichtigungs-Push-Servers, um Push-Benachrichtigungen an Android-Geräte über die neue Google Firebase Cloud Messaging (FCM) HTTPv1 API zu senden.

Die XSP (oder Application Delivery Platform ADP), die NPS hostet, muss die folgenden Anforderungen erfüllen:

Mindestversionen und Einschränkungen für die Koresidenz

  • NPS muss auf einem dedizierten XSP/ADP aktiviert werden und NPS muss die einzige gehostete Anwendung auf dem Server sein. Dadurch sollen Störungen bei der Zustellung von Push-Benachrichtigungen vermieden werden.

  • In einer Bereitstellung sollte es nur eine NPS-App geben. Wenn Sie mobile UC-One Collaborate/Connect und UC-One SaaS verwenden und Webex für BroadWorks implementieren, müssen Sie diesen einzigen NPS für alle Apps freigeben.

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

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

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

Freigegebene NPS

Lesen Sie diese Hinweise, bevor Sie Ihren freigegebenen NPS so konfigurieren, dass der NPS-Proxy verwendet wird:

  • Wenn Ihr NPS mit anderen Apps verwendet wird (nicht nur mit der Webex-App): Konfigurieren Sie zuerst den NPS-Proxy und ändern Sie dann den NPS von der Verwendung der FCM-Legacy-API in die Verwendung der FCM HTTP v1-API.

  • Nachdem Sie überprüft haben, dass die Benachrichtigungen für ältere Apps mit dem NPS-Proxy ordnungsgemäß funktionieren, entfernen Sie den FCM-API-Schlüssel für die Android-App und den APNs-Authentifizierungsschlüssel für die iOS-App.

APNs HTTP/2

  • Wenn Sie iOS-Apps bereitgestellt haben, die nicht von Cisco/BroadSoft stammen, konfigurieren Sie diese Apps so, dass das HTTP/2 APNS-Protokoll verwendet wird, bevor Sie NPS für die Verwendung des NPS-Proxys konfigurieren.

  • XSP/ADPs, die bereits die Collaborate- oder SaaS BroadWorks-App unterstützen, müssen zu HTTP/2 migriert werden. Detaillierte Informationen zum Konfigurieren von HTTP/2 finden Sie unter HTTP/2 Support to Notification Push Server for 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 stammen, konfigurieren Sie diese Apps so, dass sie die FCMv1-Tasten verwenden, bevor Sie NPS für die Verwendung des NPS-Proxys konfigurieren.

  • Wenn XSP/ADP derzeit die Connect- oder UC-One SaaS-App unterstützt, aktivieren Sie die FCMv1-Tasten nach , die Sie für den NPS-Proxy konfigurieren. Wir empfehlen, dass Sie alle zusätzlichen Apps zu FCMv1-Tasten migrieren, aktivieren und testen und dann deaktivieren, bis Sie bereit sind, die Einrichtungsanweisungen abzuschließen (der Migrationsablauf ist in diesem Artikel dokumentiert).

Abbildung 1: Visuelle Zusammenfassung der Migration zu NPS-Authentifizierungsproxy
Tabelle 1: Zusammenfassung der Aufgaben für die Migration zu NPS-Proxy

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 Android-Apps (nicht Cisco) 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, können Push-Benachrichtigungen an UC-One SaaS nicht ausgeführt werden.

5

Installieren Sie NPS-Authentifizierungsproxy-Patches.

Wenn NPS auf XSP R22 oder XSP R23 ist.

6

Konfigurieren Sie NPS für die Verwendung des NPS-Authentifizierungsproxys:

  • Technischer Support über NPS anhängen

  • CI OAuth-Konto anfordern

  • CI-Konto in NPS erstellen und Aktualisierungstoken-Zeitüberschreitung konfigurieren

  • Android-App-IDs hinzufügen

  • iOS-App-IDs hinzufügen

  • URLs und Verbindungszeitüberschreitungen prüfen/festlegen

  • Apps zur AS-Zulassungsliste hinzufügen

  • (Rück-)Aktivieren von FCMv1

  • XSP/ADP neu starten

  • Test-PNs für iOS- und Android-Apps

Immer erforderlich.

7

Entfernen Sie die FCM-Schlüssel für den Legacy-Modus.

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

Diese Aufgabe ist obligatorisch für Push-Benachrichtigungen an UC-One SaaS- und Webex-Apps auf iOS-Plattformen.

Vorbereitungen

Wenn auf Ihrem XSP R22 ausgeführt wird, müssen Sie ap354313 anwenden, bevor Sie die NPS-Anwendung so konfigurieren können, dass HTTP/2 für APNS verwendet wird.

1

Legen Sie die Produktions-URL und die Verbindungsparameter auf XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Hinweis: Legen Sie nicht die Zeitüberschreitung für die Verbindung unter 1000 fest.

2

Fügen Sie die Anwendungs-IDs zum APNS-Anwendungskontext hinzu, und vergessen Sie unbedingt den Authentifizierungsschlüssel – legen Sie ihn auf leer fest.

Für UC-One SaaS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.broadsoft.uc-one

Für die Webex-App: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Überprüfen Sie die Authentifizierungsschlüssel mit XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Wenn der Authentifizierungsschlüssel nicht leer ist für com.broadsoft.uc-one, können Sie es löschen 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

Scrollen Sie nach unten zum Abschnitt Benachrichtigungs-Push-Server, und wählen Sie Ihre Version (z. B. Version 22 ) aus. Folgen Sie dann den Anweisungen im Portal.

  • Diese Aufgabe gilt für NPS auf XSP. Ignorieren Sie es, wenn Ihr NPS auf ADP ist.

  • 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 bei UC-One oder den Webex-Android-Apps zu authentifizieren.

  • Diese Aufgabe bereitet den NPS für FCMv1 vor, sodass Sie ihn als Teil der Konfiguration des NPS-Authentifizierungsproxys aktivieren können. Aktivieren Sie FCMv1 erst, wenn Sie bereit sind, den NPS-Authentifizierungsproxy zu konfigurieren, andernfalls schlagen Benachrichtigungen an SaaS-Clients fehl.

1

Rufen Sie die Projekt-ID von der Firebase-Konsole ab:

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

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

  3. Öffnen Sie die Registerkarte Allgemein und zeichnen Sie die Projekt-ID auf.

2

Holen Sie sich den privaten Schlüssel Ihres Dienstkontos von Firebase:

  1. Navigieren Sie in den Projekteinstellungen zur Registerkarte „Dienstkonten“.

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

  3. Oder öffnen Sie ein vorhandenes Dienstkonto und generieren Sie dafür einen neuen privaten Schlüssel.

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

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

3

Kopieren Sie den Schlüssel in das XSP-Hosting Ihres NPS.

4

Fügen Sie die Projekt-ID und den zugeordneten privaten Schlüssel zum FCM-Projektkontext hinzu:

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> add project-id path/to/keyfile

5

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

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

6

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

Führen Sie XSP_CLI/Applications/NotificationPushServer/FCM> get

Parameter

Empfohlener Wert

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

1000

connectionIdleTimeoutInSeconds

600

  • Diese Aufgabe gilt für NPS auf ADP. Ignorieren Sie es, wenn Ihr NPS auf XSP ist.

  • 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 bei UC-One oder den Webex-Android-Apps zu authentifizieren.

  • Diese Aufgabe bereitet den NPS für FCMv1 vor, sodass Sie ihn als Teil der Konfiguration des NPS-Authentifizierungsproxys aktivieren können. Aktivieren Sie FCMv1 erst, wenn Sie bereit sind, den NPS-Authentifizierungsproxy zu konfigurieren, andernfalls schlagen Benachrichtigungen an SaaS-Clients fehl.

1

Rufen Sie die Projekt-ID von der Firebase-Konsole ab:

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

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

  3. Öffnen Sie die Registerkarte Allgemein und zeichnen Sie die Projekt-ID auf.

2

Holen Sie sich den privaten Schlüssel Ihres Dienstkontos von Firebase:

  1. Navigieren Sie in den Projekteinstellungen zur Registerkarte „Dienstkonten“.

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

  3. Oder öffnen Sie ein vorhandenes Dienstkonto und generieren Sie dafür einen neuen privaten Schlüssel.

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

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

3

Importieren der JSON-Datei in 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> add connect-ucaas /bw/install/filename.json

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 projectId project-id

6

Überprüfen Sie Ihre Konfiguration:

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

Sie müssen dies (im Rahmen der Migration) nur tun, wenn:

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

  • Sie haben bereits getestet, dass Push-Benachrichtigungen für Anrufe an andere Apps mit FCMv1 API funktionieren.

Sie deaktivieren FCMv1 vorübergehend, da FCMv1-Schlüssel für diese Apps nur während des NPS-Authentifizierungsproxy-Konfigurationsprozesses aktiviert werden müssen.

1

Melden Sie sich beim XSP-Hosting Ihrer freigegebenen NPS an.

2

Navigieren Sie zum FCM-Kontext und deaktivieren Sie FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false um zur Verwendung des älteren API-Schlüssels von FCM zurückzukehren.

1

Erstellen Sie eine Serviceanfrage mit Ihrem Onboarding-Kontakt oder TAC, um Ihr OAuth-Kundenkonto (Webex Common Identity) bereitzustellen. Titel Ihrer Serviceanfrage – NPS-Konfiguration für Authentifizierungsproxy-Einrichtung – .

Cisco stellt Ihnen eine OAuth-Client-ID, ein Client-Geheimnis und ein Aktualisierungstoken zur Verfügung, das 60 Tage lang gültig ist. Wenn das Token abläuft, bevor Sie es mit Ihrem NPS verwenden, können Sie eine andere Anfrage stellen.
2

Erstellen Sie das Kundenkonto im 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

Um zu überprüfen, ob die eingegebenen Werte mit den angegebenen Werten übereinstimmen, führen Sie die folgenden Schritte aus: XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url 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 die Webex-App auf Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Für UC-One-App auf Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Für Apple iOS-Benachrichtigungen) Fügen Sie die Anwendungs-ID zum APNS-Anwendungskontext hinzu und vergessen Sie den Authentifizierungsschlüssel – legen Sie ihn auf leer fest.

Für die Webex-App auf iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Für UC-One-App auf iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

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

scope

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 zu den empfohlenen Werten, die angezeigt werden:

Tabelle 3.

XSP-CLI-Kontext

Parameter

Wert

XSP_CLI/Applications/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

1000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

connectionTimeout

1000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

Überprüfen Sie, ob der Anwendungsserver Anwendungs-IDs überprüft, da Sie die Webex-Apps möglicherweise zur Zulassungsliste hinzufügen müssen:

  1. Führen Sie AS_CLI/System/PushNotification> get und prüfen Sie den Wert von enforceAllowedApplicationList. Wenn es true, müssen Sie diese untergeordnete Aufgabe abschließen. Überspringen Sie andernfalls den Rest der Unteraufgabe.

  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

Starten Sie XSP neu:

bwrestart
2

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

Hinweis: Wenn Push-Benachrichtigungen für die UC-One-Android-Anwendung fehlschlagen, kann es zu einer falschen Konfiguration kommen. Wenn dies Ihre Situation ist, können Sie wie folgt zum alten FCM zurückkehren:

  1. Deaktivieren Sie FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. XSP neu starten: bwrestart

  3. Überprüfen Sie Ihre Konfiguration.

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

  5. Wiederholen Sie den Test.

3

Testen Sie Anrufbenachrichtigungen für iOS, indem Sie Anrufe von einem BroadWorks-Abonnenten an den Anrufclient auf iOS tätigen. Stellen Sie sicher, dass die Anrufbenachrichtigung auf dem iOS-Gerät angezeigt wird.

Hinweis: Wenn Push-Benachrichtigungen für die UC-One iOS-Anwendung fehlschlagen, kann es zu einer falschen Konfiguration kommen. Wenn dies Ihre Situation ist, können Sie auf die ältere Binärschnittstelle mit set HTTP2Enabled false