Dieser Artikel beschreibt, wie Sie einen freigegebenen NPS für die Verwendung eines NPS-Authentifizierungsproxy konfigurieren, damit er auch zum Senden 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-Lösungshandbuchbefolgen.

NPS-Proxy– Übersicht

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

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

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

Der XSP (oder Application Delivery Platform ADP), der NPS hostet, muss folgende Anforderungen erfüllen:

Mindestversionen und Einschränkungen bei der Ko-Residenz

  • NPS muss auf einem dedizierten XSP/ADP aktiviert werden, und NPS muss die einzige gehostete Anwendung auf dem Server sein. Dadurch wird eine Störung bei der Bereitstellung von Pushbenachrichtigungen behoben.

  • Es sollte nur eine NPS-App in einer Bereitstellung geben. Wenn Sie mobile UC-One Collaborate/Connect und oder UC-One SaaS verwenden und Webex für BroadWorks implementieren, müssen Sie dieses einzelne 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 der XSP nur NPS ausgeführt und der AS R21 ist. SP1 ein. Weitere Informationen finden Sie in der BroadWorks-Kompatibilitätsmatrix .

  • Weitere Informationen zum ADP-Server finden Sie unter Cisco BroadWorks Application Delivery Platform.

Gemeinsam genutzte NPS

Lesen Sie diese Hinweise, bevor Sie Ihren freigegebenen NPS für die Verwendung des NPS-Proxys konfigurieren:

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

  • Nachdem Sie überprüft haben, dass 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, Konfigurieren Sie diese Apps so, dass sie die HTTP/2 APNS-Protokoll, bevor Sie NPS zur Verwendung des NPS-Proxys konfigurieren.

  • XSP/ADPs, die bereits die App Collaborate oder SaaS BroadWorks unterstützen, müssen zu HTTP/2 migriert werden. Detaillierte Informationen zur Konfiguration von HTTP/2 finden Sie unter HTTP/2 Support to Notification Push Server for APNS (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, Konfigurieren Sie diese Apps für die Verwendung der FCMv1-Schlüssel, bevor Sie NPS für die Verwendung des NPS-Proxys konfigurieren.

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

Visuelle Zusammenfassung der Migration zum NPS-Authentifizierungsproxy
Tabelle 1. Zusammenfassung der Aufgaben für die Migration zum NPS-Proxy

Sequenz

Aufgabenbezeichnung

Wann/Warum ist eine 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 LEGACY-Modus des FCM erneut.

Wenn der NPS UC-One SaaS unterstützt. Wenn Sie FCMv1 aktiviert lassen, bevor Sie den NPS-Proxy konfigurieren, fehlschlagende Push-Benachrichtigungen an UC-One SaaS.

5

Installieren Sie NPS-Authentifizierungsproxy-Patches.

Wenn NPS auf XSP R22 oder XSP R23 ist.

6

Konfigurieren Sie NPS, um den NPS-Authentifizierungsproxy zu verwenden:

  • Technischen Support von NPS anfügen

  • CI OAuth-Konto anfordern

  • Erstellen Sie ein CI-Konto auf NPS und konfigurieren Sie das Timeout für das Aktualisierungstoken

  • Android-App-IDs hinzufügen

  • iOS-App-IDs hinzufügen

  • URLs und Zeitüberschreitungen bei der Verbindung überprüfen/festlegen

  • Apps zu AS-Allow-Liste hinzufügen

  • (Erneut) FCMv1 aktivieren

  • XSP/ADP neu starten

  • Testen von PNs für iOS- und Android-Apps

Immer erforderlich.

7

Entfernen Sie die Schlüssel des FCM-Legacy-Modus.

Für Apps, die vom 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 Ihr XSP R22 verwendet, müssen Sie ap354313 anwenden, bevor Sie die NPS-Anwendung so konfigurieren können, dass sie HTTP/2 für APNS verwendet.

1

Legen Sie die Produktions-URL und die Verbindungsparameter auf fest. 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: Setzen Sie das Zeitüberschreitungs-Zeitüberschreitung

2

Fügen Sie die Anwendungs-IDs zum APNS-Anwendungskontext hinzu und achten Sie darauf, den Authentifizierungsschlüssel zu leeren.

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 für com.broadsoft.uc-onenicht leer ist, können Sie ihn mit XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkeylöschen.

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 „Notification Push Server“ und wählen Sie Ihre Version aus (z. B. Release 22), und folgen Sie dann den Anweisungen im Portal.

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

  • Sie können dieses Verfahren für die Migration zu FCMv1-Benachrichtigungen für UC-One Connect- oder UC-One-SaaS-Android-Apps verwenden.

  • Sie müssen FCMv1 verwenden, wenn Sie den NPS-Proxy zur Authentifizierung von Pushbenachrichtigungen für UC-One oder die Webex Android-Apps verwenden möchten.

  • Diese Aufgabe bereitet den NPS für FCMv1 vor, sodass Sie ihn im Rahmen der Konfiguration des NPS-Authentifizierungsproxy aktivieren können. Aktivieren Sie FCMv1 erst, wenn Sie bereit sind, den NPS-Authentifizierungsproxy zu konfigurieren, oder Benachrichtigungen an SaaS-Clients werden fehlschlagen.

1

Holen Sie sich die Projekt-ID von der Firebase-Konsole:

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

  2. Wählen Sie das Projekt der UC-One-App (Connect oder SaaS) aus und ö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 einen privaten Schlüssel.

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

    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, das Ihr NPS hosten.

4

Fügen Sie die Projekt-ID und den dazugehörigen 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 nach den hier gezeigten Attributen und empfohlenen Werten. Verwenden Sie set die -Version des Befehls, um Werte bei Bedarf zu ändern:

Ausführen 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

3000

connectionIdleTimeoutInSeconds

600

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

  • Sie können dieses Verfahren für die Migration zu FCMv1-Benachrichtigungen für UC-One Connect- oder UC-One-SaaS-Android-Apps verwenden.

  • Sie müssen FCMv1 verwenden, wenn Sie den NPS-Proxy zur Authentifizierung von Pushbenachrichtigungen für UC-One oder die Webex Android-Apps verwenden möchten.

  • Diese Aufgabe bereitet den NPS für FCMv1 vor, sodass Sie ihn im Rahmen der Konfiguration des NPS-Authentifizierungsproxy aktivieren können. Aktivieren Sie FCMv1 erst, wenn Sie bereit sind, den NPS-Authentifizierungsproxy zu konfigurieren, oder Benachrichtigungen an SaaS-Clients werden fehlschlagen.

1

Holen Sie sich die Projekt-ID von der Firebase-Konsole:

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

  2. Wählen Sie das Projekt der UC-One-App (Connect oder SaaS) aus und ö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 einen privaten Schlüssel.

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

    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 Sie die JSON-Datei auf den ADP-Server /bw/install.

4

Melden Sie sich bei ADP CLI an und fügen Sie das Projekt und den 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 Anwendung und die 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

Dies müssen Sie 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-Pushbenachrichtigungen an andere Apps mit der FCMv1-API funktionieren.

Sie deaktivieren FCMv1 vorübergehend, da FCMv1-Schlüssel für diese Apps nur während des NpS-Authentifizierungsproxykonfigurationsprozesses aktiviert werden dürfen.

1

Melden Sie sich beim XSP an, der Ihr freigegebenes NPS hosten.

2

Navigieren Sie zum FCM-Kontext und deaktivieren Sie FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false um die Verwendung des API-Schlüssels des FCM wieder zu verwenden.

1

Erstellen Sie eine Dienstanfrage mit Ihrem Onboarding-Kontakt oder tac, um Ihr (Webex Gemeinsame Identität) OAuth-Clientkonto zu bereitstellen. Titel Ihrer Service-Anfrage NPS-Konfiguration für Auth Proxy Setup.

Wir geben Ihnen eine OAuth-Client-ID, ein Client-Geheimnis und ein Aktualisierungstoken, das 60 Tage gültig ist. Wenn der Token ausläuft, bevor Sie ihn mit Ihrem NPS verwenden, können Sie eine weitere Anfrage erheben.
2

Erstellen Sie das Client-Konto auf dem 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

Führen Sie den Befehl aus, um zu überprüfen, ob die von Ihnen eingegebenen Werte mit den bereitgestellten Werten übereinstimmen. XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

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

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

Um die Geschwindigkeit der DNS-Auflösung zu verbessern, empfehlen wir Ihnen, anstelle des aktuellen FQDN nps.uc-one.broadsoft.com den entsprechenden FQDN basierend auf Ihrer Region zu verwenden.

Regionsbasierte FQDNs:

Usa Osten:

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

USA West:

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

Europa:

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

Wenn Push-Benachrichtigungen aufgrund einer Verzögerung bei der DNS-Auflösung ablaufen, erhöhen Sie den Timeout-Wert im "/etc/resolv.conf" Datei auf dem BroadWorks-Server.

4

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

Für die Webex-App auf Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Für die 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 achten Sie darauf, den Authentifizierungsschlüssel zu leeren.

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:

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 auf die empfohlenen Werte:

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 es sich bei dem Anwendungsserver um Anwendungs-IDs handelt, da Sie die Webex-Apps möglicherweise der Liste "Zulassen" hinzufügen müssen:

  1. Führen Sie AS_CLI/System/PushNotification> get aus und überprüfen Sie den Wert von enforceAllowedApplicationList. Wenn es trueist, müssen Sie diese Unteraufgabe abschließen. Andernfalls überspringen Sie 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

XSP neu starten:

bwrestart
2

Testen Sie Anrufbenachrichtigungen für Android, indem Sie anrufe von einem BroadWorks-Abonnenten zum Anrufclient auf Android tätigen. Vergewissern Sie sich, dass auf dem Android-Gerät eine Anrufbenachrichtigung angezeigt wird.

Hinweis: Wenn Pushbenachrichtigungen für die UC-One-Android-Anwendung fehlschlagen, liegt gegebenenfalls eine Fehlkonfiguration vor. Wenn dies Ihre Situation ist, können Sie wie folgt zum alten FCM zurückdrungen:

  1. FCMv1 deaktivieren: 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 unter iOS Anrufe von einem BroadWorks-Abonnenten zum Anrufclient tätigen. Stellen Sie sicher, dass auf dem iOS-Gerät eine Anrufbenachrichtigung angezeigt wird.

Hinweis: Wenn Pushbenachrichtigungen für die UC-One-iOS-Anwendung fehlschlagen, liegt gegebenenfalls eine Fehlkonfiguration vor. Wenn dies Ihre Situation ist, können Sie die Veraltete Binärschnittstelle mit set HTTP2Enabled false