Översikt över NPS-autentiseringsproxy


I den här artikeln beskrivs hur du konfigurerar en delad NPS för att använda NPS-autentiseringsproxy, så att den även kan användas för att trycka på samtalsaviseringar till Webex-appar. Om din NPS inte har stöd för andra appar kan du följa den förenklade proceduren i lösningsguiden Webex för Broadhttps://help.webex.com/z9gt5j.

NPS-proxy-översikt

För kompatibilitet med Webex för BroadWorks måste din NPS korrigeras för att stödja NPS-proxyfunktionen, Push Server för VoIP i UCaa.

Funktionen implementerar en ny design i meddelandepush-servern för att lösa säkerhetssårbarheten hos att dela privata nycklar med tjänsteleverantörer för mobila klienter. Istället för att dela certifikat för push-avisering och nycklar med tjänsteleverantören använder NPS ett nytt API för att erhålla en kortvarig push-aviseringstoken från UCaaS-backend, och använder denna token för autentisering med Apple APN:er och Google FCM-tjänster.

Funktionen förbättrar också möjligheten för aviserings-push-servern att trycka på aviseringar till Android-enheter via den nya Google Firebase Cloud Messaging (FCM) HTTPv1 API.

XSP (eller Application Delivery Platform ADP) som är värd för NPS måste uppfylla följande krav:

Minimiversioner och begränsningar för samboboende

  • NPS måste aktiveras på en dedikerad XSP/ADP och NPS måste vara det enda värdprogrammet på servern. Detta för att eliminera störningar i leverans av push-aviseringar.

  • Det bör bara finnas en NPS-app i en distribution. Om du använder mobila UC-One Collaborate/Connect och eller UC-One SaaS och implementerar Webex för BroadWorks måste du dela denna enda NPS för alla appar.

  • NPS måste vara på version R22 eller senare XSP eller ADP.

    R22/R23 XSP är kompatibel med en R21-stack om XSP endast kör NPS och AS är R21.SP1. Se Broad Works Compatibility Matrix för mer information.

  • Mer information om ADP-servern finns på https://xchange.broadsoft.com/node/1051580.

Delad NPS

Läs dessa anteckningar innan du konfigurerar din delade NPS för att använda NPS-proxyn:

  • Om din NPS används med andra appar (inte bara Webex-appen): Konfigurera först NPS-proxyn och ändra sedan NPS från att använda FCM äldre API till att använda FCM HTTP v1 API.

  • När du har verifierat att aviseringar fungerar korrekt för äldre appar med NPS-proxyn tar du bort FCM API-nyckeln för Android-appen och APN:s autentiseringsnyckel för iOS-appen.

APN HTTP/2

  • Om du har distribuerat några i-OS-appar som inte kommer från Cisco/BroadSoft ska du konfigurera dessa appar för att använda HTTP/2 APNS-protokollet innan du konfigurerar NPS för att använda NPS-proxyn.

  • XSP/ADP:er som redan har stöd för appen Collaborate eller SaaS BroadWorks måste migreras till HTTP/2. För detaljerad information om hur du konfigurerar HTTP/2, se HTTP/2 Support to Notification Push Server för APNS (migrering av NPS till stöd för dessa iOS-appar sammanfattas i den här artikeln).

Android FCMv1

  • Om du har distribuerat några Android-appar som inte kommer från Cisco/BroadSoft ska du konfigurera dessa appar för att använda FCMv1-knapparna innan du konfigurerar NPS för att använda NPS-proxyn.

  • Om XSP/ADP för närvarande har stöd för Connect- eller UC-One SaaS-appen ska du aktivera FCMv1-tangenterna efter att du har konfigurerat NPS-proxy. Vi rekommenderar att du migrerar alla ytterligare appar till FCMv1-nycklar, aktiverar och testar och sedan inaktiverar du tills du är redo att slutföra konfigurationsinstruktionerna (migreringsflödet dokumenteras i den här artikeln).

Figur 1. Visuell sammanfattning av migrering till NPS-autentiseringsproxy
Tabell 1. Sammanfattning av uppgifter som ska migreras till NPS-proxy

Sekvens

Uppgiftsrubrik

När/varför krävs uppgiften?

1

Migrera NPS till HTTP/2 för UC-One SaaS (eller Connect) i OS-appar.

Om NPS har stöd för dessa appar och de ännu inte har konfigurerats för HTTP/2.

2

Migrera NPS till FCMv1 för UC-One SaaS (eller Connect) Android-appar.

Om NPS har stöd för dessa appar och de ännu inte har konfigurerats för FCMv1.

3

Aktivera FCMv1-läge och testa push-aviseringar.

Om NPS har stöd för UC-One Connect och/eller andra (icke-Cisco) Android-appar.

4

Aktivera det gamla FCM-läget igen.

Om NPS stöder UC-One SaaS. Om du lämnar FCMv1 aktiverat innan du konfigurerar NPS-proxyn trycker du på aviseringar till UC-One SaaS börjar misslyckas.

5

Installera proxykorrigeringar för NPS-autentisering.

Om NPS är på XSP R22 eller XSP R23.

6

Konfigurera NPS för att använda NPS-autentiseringsproxyn:

  • Bifoga teknisk support från NPS

  • Begär CI OA uth-konto

  • Skapa CI-konto på NPS och konfigurera timeout för uppdatering av token

  • Lägg till ID för Android-appen

  • Lägg till OS-app-ID:n

  • Kontrollera/ange URL:er och anslutningstider

  • Lägg till appar i AS-tillståndslistan

  • (Återställ-)Aktivera FCMv1

  • Starta om XSP/ADP

  • Testa PN för iOS- och Android-appar

Krävs alltid.

7

Ta bort nycklarna till det äldre läget för FCM.

För appar som stöds av NPS på FCMv1.

Den här uppgiften är obligatorisk för push-meddelanden till UC-One SaaS- och Webex-appar på iOS-plattformar.

Innan du börjar

Om din XSP kör R22 måste du tillämpa ap354313 innan du kan konfigurera NPS-programmet för att använda HTTP/2 för APNS.

1

Ställ in parametrarna för produktion-URL och anslutning på XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Obs! Ställ inte in anslutningstiden under 1 000.

2

Lägg till program-ID:n i APNS-programkontexten, se till att du utelämnar Auth-nyckeln – ställ in den som tom.

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

För Webex-appen: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Kontrollera autentiseringsnycklarna med XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Om autentiseringsnyckeln inte är tom för com.broadsoft.uc-one, du kan rensa det med XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Aktivera HTTP/2:

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

6

Endast för UC-One SaaS-appar: Logga in på återförsäljarportalen och gå till Konfiguration > Broad > .

7

Bläddra ner till avsnittet Meddelandepush-servern och välj din version (t.ex. version 22) och följ sedan anvisningarna i portalen.

  • Den här uppgiften gäller NPS på XSP. Ignorera det om din NPS är på ADP.

  • Du kan använda den här proceduren för att migrera till FCMv1-aviseringar för UC-One Connect eller UC-One SaaS Android-appar.

  • Du måste använda FCMv1 om du vill använda NPS-proxyn för att autentisera push-aviseringar till UC-One eller Webex Android-appar.

  • Den här uppgiften förbereder NPS för FCMv1 så att du kan aktivera den som en del av konfigurationen av NPS-autentiseringsproxyn. Aktivera inte FCMv1 förrän du är redo att konfigurera NPS-autentiseringsproxy eller aviseringar till SaaS-klienter misslyckas.

1

Hämta projekt-ID från konsolen för brandbas:

  1. Logga in på console.firebase.google.com.

  2. Välj appen UC-One (Connect eller SaaS) och öppna dess projektinställningar.

  3. Öppna fliken Allmänt och spela in projekt-ID.

2

Hämta ditt tjänstkontos privata nyckel från Firebase:

  1. Navigera till fliken Tjänstekonton i projektinställningarna.

  2. Skapa antingen ett nytt tjänstkonto och få dess privata nyckel.

  3. Eller öppna ett befintligt tjänstkonto och skapa en ny privat nyckel för det.

    Obs! Tjänstekontot måste ha firebaseadmin-sdk behörighet.

  4. Hämta nyckeln till en säker plats.

3

Kopiera nyckeln till XSP som är värd för din NPS.

4

Lägg till projekt-ID och tillhörande privat nyckel i FCM-projektkontexten:

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

5

Lägg till UC-One-programmet (Connect eller SaaS) och tillhörande projekt-ID i FCM-programkontexten:

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

6

Kontrollera konfigurationen för FCM mot de attribut och rekommenderade värden som visas här. Använd set version av kommandot för att ändra värden vid behov:

Kör XSP_CLI/Applications/NotificationPushServer/FCM> get

Parameter

Rekommenderat värde

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

3 000

connectionIdleTimeoutInSeconds

600

  • Den här uppgiften gäller NPS på ADP. Ignorera det om din NPS är på XSP.

  • Du kan använda den här proceduren för att migrera till FCMv1-aviseringar för UC-One Connect eller UC-One SaaS Android-appar.

  • Du måste använda FCMv1 om du vill använda NPS-proxyn för att autentisera push-aviseringar till UC-One eller Webex Android-appar.

  • Den här uppgiften förbereder NPS för FCMv1 så att du kan aktivera den som en del av konfigurationen av NPS-autentiseringsproxyn. Aktivera inte FCMv1 förrän du är redo att konfigurera NPS-autentiseringsproxy eller aviseringar till SaaS-klienter misslyckas.

1

Hämta projekt-ID från konsolen för brandbas:

  1. Logga in på console.firebase.google.com.

  2. Välj appen UC-One (Connect eller SaaS) och öppna dess projektinställningar.

  3. Öppna fliken Allmänt och spela in projekt-ID.

2

Hämta ditt tjänstkontos privata nyckel från Firebase:

  1. Navigera till fliken Tjänstekonton i projektinställningarna.

  2. Skapa antingen ett nytt tjänstkonto och få dess privata nyckel.

  3. Eller öppna ett befintligt tjänstkonto och skapa en ny privat nyckel för det.

    Obs! Tjänstekontot måste ha firebaseadmin-sdk behörighet.

  4. Hämta nyckeln (.json-filen) till en säker plats.

3

Importera .json-filen till ADP-servern /bw/install.

4

Logga in på ADP CLI och lägg till projekt- och API-nyckeln i FCM-projektkontexten:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add connect-ucaas /bw/install/filename.json

5

Lägg till program- och projekt-ID i FCM-programkontexten:

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

6

Verifiera konfigurationen:

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

Du behöver bara göra detta (som en del av migreringen) om:

  • Din NPS används för UC-One SaaS eller BroadWorks Connect Android-appar.

  • Du har redan testat att aviseringar om uppringning till andra appar fungerar med FCMv1 API.

Du inaktiverar tillfälligt FCMv1 eftersom FCMv1-nycklarna för dessa appar endast måste aktiveras under konfigurationsprocessen för NPS-autentisering.

1

Logga in på XSP som är värd för din delade NPS.

2

Navigera till FCM-kontexten och inaktivera FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false för att återgå till att använda FCM äldre API-nyckel.

1

Skapa en tjänstebegäran med din registreringskontakt eller med TAC för att tillhandahålla ditt (Webex Common Identity) OAuth-klientkonto. Namnge din tjänstbegäran NPS-konfiguration för autentiseringsproxyinställning.

Cisco ger dig ett OAuth-klient-ID, en klienthemlighet och en uppdateringstoken som är giltig i 60 dagar. Om token upphör att gälla innan du använder den med din NPS kan du göra en annan begäran.
2

Skapa klientkontot på 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

Om du vill verifiera värdena som du angav matchar det du fick kör du XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Ange NPS-proxy-URL och ange uppdateringsintervall för token (30 minuter rekommenderas):

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-aviseringar) Lägg till Android-program-ID i FCM-programkontexten på NPS.

För Webex-appen på Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

För UC-One-appen på Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(För Apple iOS-aviseringar) Lägg till program-ID i APNS-programkontexten, se till att du utelämnar Auth-nyckeln – ställ in den som tom.

För Webex-appen på iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

För UC-One-appen på iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Konfigurera följande NPS-URL:er:

Tabell 2.

XSP CLI-sammanhang

Parameter

Värde

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

Konfigurera följande parametrar för NPS-anslutning till de rekommenderade värden som visas:

Tabell 3.

XSP CLI-sammanhang

Parameter

Värde

XSP_CLI/Applications/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3 000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

connectionTimeout

3 000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

Kontrollera om programservern håller på att granska program-ID:n, eftersom du kan behöva lägga till Webex-appar i listan med tillåtna tillstånd:

  1. Kör AS_CLI/System/PushNotification> get och kontrollera värdet på enforceAllowedApplicationList. Om det är true, du måste slutföra den här underuppgiften. Annars hoppar du över resten av underuppgiften.

  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

Starta om XSP:

bwrestart
2

Testa samtalsaviseringar till Android genom att ringa samtal från en BroadWorks-prenumerant till samtalsklienten på Android. Kontrollera att samtalsaviseringen visas på Android-enheten.

Obs! Om push-aviseringar börjar misslyckas för UC-One-android-programmet är det möjligt att det uppstår en felkonfiguration. Om detta är din situation kan du återgå till den äldre FCM enligt följande:

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

  2. Starta om XSP: bwrestart

  3. Kontrollera konfigurationen.

  4. Aktivera FCMv1 igen och starta om XSP.

  5. Upprepa testet.

3

Testa samtalsaviseringar till iOS genom att ringa samtal från en BroadWorks-prenumerant till samtalsklienten på iOS. Kontrollera att samtalsaviseringen visas på iOS-enheten.

Obs! Om push-aviseringar börjar misslyckas för UC-One iOS-programmet är det möjligt att det uppstår en felkonfiguration. Om detta är din situation kan du återgå till det äldre binära gränssnittet med set HTTP2Enabled false