Översikt över NPS-autentiseringsproxy


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

Översikt över NPS-proxy

För kompatibilitet med Webex för BroadWorks måste NPS-servern korrigeras att ha stöd för funktionen NPS-proxy, Pushserver för VoIP i UCaaS.

Funktionen implementerar en ny design i aviseringspushservern för att lösa säkerhetsrisken med att dela privata nycklar för push-meddelandecertifikat med tjänstleverantörer för mobila klienter. I stället för att dela push-meddelandecertifikat och nycklar med tjänstleverantören använder NPS ett nytt API för att få en kortvarig push-meddelandetoken från UCaaS-backend och använder den här token för autentisering med Apple APN:er och Google FCM-tjänster.

Funktionen förbättrar också möjligheten för aviseringspush-servern att skicka aviseringar till Android-enheter via nya Google Firebase Cloud Messaging (FCM) HTTPV1 API.

BroadWorks-korrigeringarna för funktionen är tillgängliga på Xchange: https://xchange.broadsoft.com/node/1046235

Mer information finns i Funktionsbeskrivning för pushserver för VoIP i UCaaS på Xchange: https://xchange.broadsoft.com/node/1045458

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

Lägsta versioner och samplacerade begränsningar

  • NPS måste vara aktiverat i ett dedikerat XSP/ADP och NPS måste vara det enda värdbaserade programmet på servern. Det är för att eliminera störningar vid leverans av push-meddelanden.

  • Det ska bara finnas en NPS-app i en distribution. Om du använder mobil 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 version R22 eller senare XSP eller ADP.

    R22/R23 XSP är kompatibelt med en R21-stack om XSP enbart kör NPS och AS är R21.SP1. Mer information finns i BroadWorks kompatibilitetsmatris.

  • 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 så att den använder NPS-proxy:

  • Om NPS används med andra appar (inte bara Webex-appen) ska du inte ändra NPS från att använda FCM Legacy API till att använda FCM HTTP v1 API innan du konfigurerar NPS-proxyn.

    Du kan ändra det när du konfigurerar NPS för att använda NPS-proxyn.

  • När du har kontrollerat att aviseringar fungerar korrekt för äldre appar med NPS-proxyn kan du ta bort FCM API-nyckeln för Android-appen och APN-autentiseringsnyckeln för iOS-appen.

APN HTTP/2

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

  • XSP/ADP som redan har stöd för Collaborate eller SaaS BroadWorks-appen måste migreras till HTTP/2. Detaljerad information om hur du konfigurerar HTTP/2 finns i HTTP/2-stöd för aviseringspush-server för APNS (migrering av NPS för att ha stöd för dessa iOS-appar beskrivs i denna artikel).

Android FCMv1

  • Om du har distribuerat några Android-appar som inte kommer från Cisco/BroadSoft ska du konfigurera de apparna så att de använder FCMv1-nycklarna innan du konfigurerar NPS att använda NPS-proxyn.

  • Om XSP/ADP för närvarande stödjer Connect eller UC-One SaaS-appen kan FCMv1-nycklarna inte aktiveras innan du konfigurerar NPS-proxyn. Vi rekommenderar att du migrerar alla ytterligare appar till FCMv1-nycklar, aktiverar och testar för att sedan inaktivera tills du är klar att slutföra installationsanvisningarna (migreringsflödet finns dokumenteras i den här artikeln).

Bild 1. Visuell sammanfattning av migrering till NPS-autentiseringsproxy
Tabell 1. Sammanfattning av uppgifter för att migrera till NPS-proxy

Sekvens

Uppgiftsrubrik

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

1

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

Om NPS har stöd för de här apparna 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 de här apparna och de ännu inte har konfigurerats förFCMv1.

3

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

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

4

Aktivera FCM äldre läge igen.

Om NPS har stöd för UC-One SaaS. Om du lämnar FCMv1 aktiverad innan du konfigurerar NPS-proxyn kan du inte skicka push-meddelanden till UC-One SaaS.

5

Installera korrigeringar för NPS-autentiseringsproxy.

Om NPS finns på XSP R22 eller XSP R23.

6

Konfigurera NPS så att NPS-autentiseringsproxy används:

  • Bifoga techsupport från NPS

  • Begär CI OAuth-konto

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

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

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

  • Kontrollera/ange URL-adresser och timeout för anslutningar

  • Lägg till appar i AS Tillåt-lista

  • Aktivera FCMv1 (igen)

  • Starta om XSP/ADP

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

Alltid obligatoriskt.

7

Ta bort nycklar för FCM äldre läge.

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 att använda HTTP/2 för APNS.

1

Ställ in produktions-URL och anslutningsparametrar 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 tidsgränsen för anslutning under 1 000.

2

Lägg till program-ID i APNS programkontext och se till att du utelämnar autentiseringsnyckeln – ställ in den 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> hämta

4

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

5

Aktivera HTTP/2:

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

6

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

7

Bläddra ner till avsnittet om aviseringspush-servern och välj din utgåva (till exempel Version 22) och följ sedan anvisningarna på portalen.

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

  • Du kan använda den här metoden 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-proxy för att autentisera push-meddelanden till UC-One eller Webex Android-appar.

  • Uppgiften förbereder NPS för FCMv1 så du kan aktivera den som en del av konfigurationen av NPS-autentiseringsproxy. Aktivera inte FCMv1 innan du är klar att konfigurera NPS-autentiseringsproxyn, då kommer aviseringar till SaaS-klienter inte att fungera.

1

Hämta projekt-ID från Firebase-konsolen:

  1. Logga in till console.firebase.google.com.

  2. Markera approjektet UC-One (Connect eller SaaS) och öppna dess projektinställningar.

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

2

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

  1. Navigera till fliken med tjänstkonton i projektinställningarna.

  2. Antingen kan du skapa ett nytt tjänstkonto och hämta dess privata nyckel.

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

    Obs! Tjänstkontot måste ha behörigheten firebaseadmin-sdk.

  4. Ladda ner nyckeln till en säker plats.

3

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

4

Lägg till projekt-ID och tillhörande privata nyckel i FCM projektkontext:

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

5

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

XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect projectId projekt-ID

6

Kontrollera konfigurationen för FCM mot attribut och rekommenderade värden som visas här. Använd inställd version av kommandot för att ändra värdena 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/PROJEKT-ID/messages:send

scope

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

tokenTimeToLiveInSeconds

3 600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3 000

connectionIdleTimeoutInSeconds

600

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

  • Du kan använda den här metoden 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-proxy för att autentisera push-meddelanden till UC-One eller Webex Android-appar.

  • Uppgiften förbereder NPS för FCMv1 så du kan aktivera den som en del av konfigurationen av NPS-autentiseringsproxy. Aktivera inte FCMv1 innan du är klar att konfigurera NPS-autentiseringsproxyn, då kommer aviseringar till SaaS-klienter inte att fungera.

1

Hämta projekt-ID från Firebase-konsolen:

  1. Logga in till console.firebase.google.com.

  2. Markera approjektet UC-One (Connect eller SaaS) och öppna dess projektinställningar.

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

2

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

  1. Navigera till fliken med tjänstkonton i projektinställningarna.

  2. Antingen kan du skapa ett nytt tjänstkonto och hämta dess privata nyckel.

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

    Obs! Tjänstkontot måste ha behörigheten firebaseadmin-sdk.

  4. Ladda ner nyckeln (.json-fil) till en säker plats.

3

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

4

Logga in på ADP CLI och lägg till projektet and API-nyckeln i FCM projektkontext:

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

5

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

ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.ucaas.connect projectId projekt-ID

6

Kontrollera 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 samtalspush-meddelanden till andra appar fungerar med FCMv1 API.

Du inaktiverar tillfälligt FCMv1 eftersom FCMv1-nycklarna för de här apparna endast får aktiveras under konfigurationsprocessen för NPS-autentiseringsproxy.

1

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

2

Navigera till FCM-kontext och inaktivera FCM V1: XSP_CLI/Applications/NotificationPushServer/FCM> ställ in V1enabled false för att återgå till att använda FCM äldre API-nyckel.

Installera följande korrigeringsfiler för att stödja funktionen för NPS-autentiseringsproxy:

R22 korrigeringsfiler

R23 korrigeringsfiler

1

Skapa en tjänstbegäran med introduktionskontakten, eller med TAC, för att reservera ditt (Webex Common Identity) OAuth-klientkonto. Namnge din tjänstbegäran NPS-konfiguration för auktoriseringsproxy.

Cisco ger dig ett OAuth-klient-ID, en klienthemlighet och en uppdateringstoken som gäller 60 dagar. Om token utgår innan du använder den i NPS kan du göra en ny begäran.
2

Skapa klientkontot på NPS:

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> ställ in clientId klient-ID-från-steg1

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ör att kontrollera att de värden du angav stämmer med de du fick ska du köra XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Ange NPS proxy-URL och ställ in uppdateringsintervall för token (30 minuter rekommenderas).

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> ställ in url https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> ställ in VOIPTokenRefreshInterval 1800

4

(För Android-aviseringar) Lägg till program-ID:n för Android i FCM programkontext på NPS.

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

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

5

(För Apple-iOS-aviseringar) add program-ID i APNS programkontext och se till att du utelämnar autentiseringsnyckeln – ställ in den tom.

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

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

6

Konfigurera följande NPS-URL:

Tabell 2.

XSP CLI-kontext

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 NPS anslutningsparametrar med rekommenderade värden:

Tabell 3.

XSP CLI-kontext

Parameter

Värde

XSP_CLI/Applications/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3 600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3 000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

connectionTimeout

3 000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

Kontrollera om programservern har kontroll över program-ID:n, eftersom du kan behöva lägga till Webex-apparna i Tillåt-listan.

  1. Kör AS_CLI/System/PushNotification> get och kontrollera värdet för enforceAllowedApplicationList. Om det är true måste du slutföra den här underuppgiften. Annars kan du hoppa ö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 från en BroadWorks-abonnent till samtalsklienten i Android. Kontrollera att samtalsaviseringen visas på Android-enheten.

Obs! Om push-meddelande slutar fungera för UC-One Android-program kanske det finns en felaktig konfiguration. I så fall kan du återgå till äldre FCM på följande sätt:

  1. Inaktivera FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> ställ in 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-abonnent till samtalsklienten i iOS. Kontrollera att samtalsaviseringen visas på iOS-enheten.

Obs! Om push-meddelande slutar fungera för UC-One iOS-program kanske det finns en felaktig konfiguration. Om så är fallet kan du återgå till det äldre binära gränssnittet genom att set HTTP2Enabled false