Översikt över NPS-autentiseringsproxyn


Den här artikeln beskriver hur du konfigurerar ett delat NPS för att använda NPS-autentiseringsproxy, så att den också kan användas för att skicka samtalsaviseringar till Webex-appar. Om NPS inte har stöd för andra appar kan du följa det förenklade förfarandet i Webex för BroadWorks lösningsguide. https://help.webex.com/z9gt5j

NPS-proxy, översikt

För att vara kompatibel med Webex för BroadWorks måste nps-programmet korrigeras för att stödja NPS-proxyfunktionen, push-server för VoIP i UCaaS.

Funktionen implementerar en ny design i Aviserings push-servern för att lösa säkerhetsrisken för delning av certifikat för push-meddelande med privata nycklar med tjänsteleverantörer för mobilklienter. I stället för att dela push-aviseringscertifikat och -nycklar med tjänsteleverantören använder NPS en ny API för att få en token med kort fördröjning av push-avisering 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 push-servern för meddelanden att skicka meddelanden till Android-enheter via google Firebase Cloud Messaging (FCM) HTTPv1 API.

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

För mer information, se Push-servern för VoIP i UCaaS-beskrivning på Xchange: https://xchange.broadsoft.com/node/1045458

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

Lägsta antal versioner och begränsningar för sametr?de

  • 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 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 detta enskilda NPS för alla appar.

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

    R22/R23 XSP är kompatibel med en R21-stapel om XSP endast kör NPS och AS är R21. SP1. Se BroadWorks kompatibilitetsmatris för mer information.

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

Delade NPS

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

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

    Du kan ändra under konfigurering av NPS för att använda NPS-proxy.

  • När du har verifierat 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.

HTTP/2 för API:er

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

  • XSP/ADPs som redan har stöd för Appen Collaborate eller SaaS BroadWorks måste migreras till HTTP/2. Detaljerad information om hur HTTP/2 konfigureras finns i Http/2 Support to Notification Push Server för APNS (migrering av NPS för stöd av dessa iOS-appar sammanfattas i den här artikeln).

Android FCMv1

  • Om du har distribuerat några Android-appar som inte är från Cisco/BroadSoft ska du konfigurera apparna till att använda FCMv1-tangenterna 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 kan INTE FCMv1-tangenterna aktiveras innan du konfigurerar NPS-proxy. Vi rekommenderar att du migrerar alla ytterligare appar till FCMv1 nycklar, aktiverar och testar och sedan inaktiverar tills du är redo att slutföra installationsanvisningarna (migreringsflödet beskrivs i den här artikeln).

Figur 1. Visuell sammanfattning av migrering till NPS-autentiseringsproxyn
Tabell 1. Sammanfattning av uppgifter att migrera till NPS-proxy

Sekvens

Uppgiftstitel

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

1

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

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

2

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

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

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

Återaktivera FCM-äldre läge.

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

5

Installera proxypatkar 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 OAuth-konto

  • Skapa CI-konto på NPS och konfigurera uppdateringens tokens timeout

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

  • Lägg till iOS app-ID

  • Kontrollera/ange URL:er och tidsgräns för anslutning

  • Lägg till appar till listan AS allow

  • (På annat sätt) Aktivera FCMv1

  • Starta om XSP/ADP

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

Alltid obligatoriskt.

7

Ta bort FCM-äldre lägesnycklar.

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

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

Innan du börjar

Om din XSP körs med 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 produktions-URL och anslutningsparametrar i XSP_CLI/Applications/NotificationPserverServer/APNS/Production>

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

ställ in anslutningspoolErize 2

ställ in connectionTimeout 3000

ställ in connectionIdleTimeoutInSeconds 600

Obs! Ställ inte in timeout för anslutningen under 1 000.

2

Lägg till program-API:erna i kontexten för APNS-programmen och se till att utelämna autentiseringsnyckeln – ställ in den på tom.

För UC-One SaaS:XSP_CLI/Program/NotificationPserverServer/APNS/Production/Tokens> lägg till com.broadsoft.uc-one

För Webex-appen: XSP_CLI/Program/NotificationP fjärrserver/APNS/Production/Tokens> lägg till com.cisco.squared

3

Kontrollera autentiseringsnycklarna för XSP_CLI/Program/NotificationPserver/APNS/Production/Tokens> hämta

4

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

5

Aktivera HTTP/2:

XSP_CLI/Program/NotificationPserverServer/APNS/GeneralSettings> ställ in HTTP2Enabled true

6

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

7

Bläddra ner till avsnittet Meddelande-push-server och välj din version (t.ex. version 22) och följ sedan instruktionerna på portalen.

  • Denna uppgift gäller för NPS på XSP. Ignorera det om ditt NPS är på ADP.

  • Du kan använda denna procedur för migrering 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-meddelanden till UC-One eller Webex Android-appar.

  • Denna uppgift förbereder NPS för FCMv1 så att du kan aktivera den som en del av konfigurationen av NPS-verifieringsproxy. Aktivera inte FCMv1 förrän du är redo att konfigurera NPS-autentiseringsproxy, eller så kommer aviseringar för SaaS-klienter att misslyckas.

1

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

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

  2. Välj app projekt för UC-One (Connect eller SaaS) och öppna dess projektinställningar.

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

2

Skaffa ditt tjänstekontos privata nyckel från Firebase:

  1. Gå till fliken Tjänstekonton i projektinställningarna.

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

  3. Eller öppna ett befintligt tjänstekonto och generera en ny privat nyckel till det.

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

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

3

Kopiera nyckeln till XSP-värd för ditt NPS.

4

Lägg till projekt-ID och tillhörande privat nyckel till kontexten för FCM-projekt:

XSP_CLI/Program/NotificationPserver/FCM/Projects> lägg till sökväg för projekt-id/till/keyfile

5

Lägg till UC-One-programmet (Connect eller SaaS) och associerat projekt-ID i kontexten för FCM-program:

XSP_CLI/Program/NotisServer/FCM/Applications> lägg till applicationId com.broadsoft.connect projectId projekt-id

6

Kontrollera konfigurationen för FCM mot attributen och rekommenderade värden som visas här. Använd den inställda kommandoversionen för att ändra värden om det behövs:

Kör XSP_CLI/program/NotificationP fjärrserver/FCM> hämta

Parametern

Rekommenderat värde

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects/PROJECT-ID/meddelanden:skicka

Omfattning

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

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMillisekunder

3 000

connectionIdleTimeoutInSeconds

600

  • Denna uppgift gäller för NPS på ADP. Ignorera det om din NPS är på XSP.

  • Du kan använda denna procedur för migrering 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-meddelanden till UC-One eller Webex Android-appar.

  • Denna uppgift förbereder NPS för FCMv1 så att du kan aktivera den som en del av konfigurationen av NPS-verifieringsproxy. Aktivera inte FCMv1 förrän du är redo att konfigurera NPS-autentiseringsproxy, eller så kommer aviseringar för SaaS-klienter att misslyckas.

1

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

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

  2. Välj app projekt för UC-One (Connect eller SaaS) och öppna dess projektinställningar.

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

2

Skaffa ditt tjänstekontos privata nyckel från Firebase:

  1. Gå till fliken Tjänstekonton i projektinställningarna.

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

  3. Eller öppna ett befintligt tjänstekonto och generera en ny privat nyckel till det.

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

  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 till kontexten för FCM-projekt:

ADP_CLI/Applications/NotificationPkroserver/FCM/Projects> lägg till connect-ucaas /bw/install/filename.json

5

Lägg till programmet och projekt-ID till FCM-program kontexten:

ADP_CLI/Program/NotificationPpoolServer/FCM/Applications> lägg till applicationId com.broadsoft.ucaas.connect projectId projekt-id

6

Verifiera din konfiguration:


  ADP_CLI/Applications/NotificationPkommandoServer/FCM/Projects> hämta Project ID Accountkey 
 = 
 connect-ucaas ********

  ADP_CLI/Applications/NotificationPpoolServer/FCM/Applications> get Application ID 
 Project ID 
 
 =com.broadsoft.ucaas.connect-ucaas

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

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

  • Du har redan testat att samtalsaviseringar till andra appar fungerar med FCMv1 API.

Du inaktiverar tillfälligt FCMv1 eftersom FCMv1-nycklar för dessa appar endast får aktiveras under proxykonfigurationsprocessen för NPS-verifiering.

1

Logga in på XSP-värd för ditt delade NPS.

2

Navigera till FCM-kontexten och inaktivera FCM v1: XSP_CLI/Applications/NotificationP vpServer/FCM> ange V1enabled false för att återgå till att använda den äldre API-nyckeln för FCM.

Installera följande programfixar för att stödja proxyfunktionen för NPS-verifiering:

R22-korrigeringar

R23-programfixar

1

Skapa en tjänsteförfrågan med din introduktionskontakt eller med TAC för att tillhandahålla ditt (Webex Common Identity) OAuth-klientkonto. Ge din servicebegäran NPS-konfiguration för konfiguration av autentiseringsproxy.

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

Skapa klientkontot på NPS:

XSP_CLI/Program/NotificationP fjärrserver/CiscoCI/Client> ange clientId client-Id-From-Step1


  XSP_CLI/program/NotificationP fjärrserver/CiscoCI/client> ange clientSecret nytt lösenord: klient-hemlighet-från-steg 1

  XSP_CLI/program/NotificationP fjärrserver/CiscoCI/client> ange UppdateraToken nytt lösenord: Uppdatera -Token-From-Step1

För att verifiera de värden som du angav stämmer överens med vad du fick ska du köra XSP_CLI/Program/NotificationPserver/CiscoCI/Client> hämta

3

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

XSP_CLI/Program/NotificationP fjärrserver/CloudNPSService> ange url https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/program/NotificationP fjärrserver/CloudNPSService> ställ in VoIPTokenRefreshInterval 1800

4

(För Android-aviseringar) Lägg till Android-program-ID:et till FCM-programsammanhanget i NPS.

För Webex-appen på Android: XSP_CLI/Program/NotificationPpoolServer/FCM/Applications> lägg till applicationId com.cisco.wx2.android

För UC-One-appen på Android: XSP_CLI/Program/NotificationPpoolServer/FCM/Applications> lägg till applicationId com.broadsoft.connect

5

(För Apple iOS-aviseringar) Lägg till program-ID i APNS-programsammanhanget och se till att utelämna autentiseringsnyckeln – ställ in den på tom.

För Webex-appen på iOS: XSP_CLI/Program/NotificationP fjärrserver/APNS/Production/Tokens> lägg till com.cisco.squared

För UC-One-app på iOS: XSP_CLI/Program/NotificationP fjärrserver/APNS/Production/Tokens> lägg till com.cisco.squared

6

Konfigurera följande NPS-URL:er:

Tabell 2.

XSP CLI-kontext

Parametern

Värde

XSP_CLI/program/NotificationP fjärrserver/FCM>

authURL

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

pushURL

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

Omfattning

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

XSP_CLI/program/NotificationP fjärrserver/APNS/production>

url

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

7

Konfigurera följande NPS-anslutningsparametrar till de rekommenderade värden som visas:

Tabell 3.

XSP CLI-kontext

Parametern

Värde

XSP_CLI/program/NotificationP fjärrserver/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMillisekunder

3 000

connectionIdleTimeoutInSeconds

600

XSP_CLI/program/NotificationP fjärrserver/APNS/production>

connectionTimeout

3 000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

Kontrollera om programservern är ett program-ID eftersom du kan behöva lägga till Webex-apparna i listan över tillåtna program:

  1. Kör AS_CLI/System/PushNotification> hämta och kontrollera värdet för enforceAllowedApplicationList. Om det är sant måste du slutföra dennadeluppgift. Annars kan du hoppa över resten av deluppgiften.

  2. AS_CLI/System/PushNotification/AllowedApplications> add com.cisco.wx2.android "Webex Android"

  3. AS_CLI/System/PushNotification/AllowedApplications> lägg till com.cisco.squared "Webex iOS"

1

Starta om XSP:

bwrestart
2

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

Obs! Om push-meddelanden inte börjar misslyckas för androidprogrammet UC-One kan det finnas en felkonfiguration. Om detta är din situation kan du återgå till den äldre FCM enligt följande:

  1. Inaktivera FCMv1: XSP_CLI/program/NotificationP vpServer/FCM> ange V1Enabled false

  2. Starta om XSP: bwrestart

  3. Kontrollera din konfiguration.

  4. Återaktivera FCMv1 och starta om XSP.

  5. Upprepa testet.

3

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

Obs! Om push-meddelanden inte börjar misslyckas i UC-One iOS-programmet kan det finnas en felaktig konfiguration. Om detta är din situation kan du återgå till det äldre binär gränssnittet med inställt HTTP2Enabled false