Panoramica del proxy di autenticazione NPS


Questo articolo descrive come configurare un NPS condiviso per utilizzare il proxy di autenticazione NPS, in modo che possa essere utilizzato anche per eseguire il push delle notifiche di chiamata alle app Webex. Se il sistema NPS non supporta altre app, è possibile seguire la procedura semplificata nella Guida alla soluzione Webex per https://help.webex.com/z9gt5jBroadWorks.

Panoramica proxy NPS

Per la compatibilità con Webex per BroadWorks, l'NPS deve essere patchto per supportare la funzione proxy NPS, Server di push per VoIP in UCaaS.

La funzione implementa un nuovo design nel server push di notifica per risolvere la vulnerabilità di sicurezza delle chiavi private del certificato di notifica push condivisione con provider di servizi per client mobili. Anziché condividere i certificati e le chiavi di notifica push con il provider di servizi, il server NPS utilizza una nuova API per ottenere un token di notifica push breve dal backend UCaaS e utilizza questo token per l'autenticazione con gli APNs Apple e i servizi Google FCM.

La funzione migliora anche la funzionalità del server push di notifica per eseguire il push delle notifiche sui dispositivi Android attraverso la nuova API HTTPv1 di Google Firebase Cloud Messaging (FCM).

Le patch BroadWorks per la funzione sono disponibili in Xchange: https://xchange.broadsoft.com/node/1046235

Per ulteriori informazioni, vedere la Descrizione della funzionalità Push del server per VoIP UCaaS su Xchange: https://xchange.broadsoft.com/node/1045458

Il XSP (o la piattaforma di consegna applicazioni ADP) che host NPS deve soddisfare i seguenti requisiti:

Versioni minime e limitazioni di co-residenza

  • NPS deve essere attivato su un XSP/ADP dedicato e NPS deve essere l'unica applicazione ospitata sul server. In questo modo, si eliminano le interferenze con l'invio delle notifiche push.

  • Deve essere presente una sola app NPS in una distribuzione. Se si sta utilizzando la funzionalità mobile UC-One Collaborate/Connect e UC-One SaaS e si sta implementando Webex per BroadWorks, è necessario condividere questo singolo NPS per tutte le app.

  • NPS deve essere su versione R22 o successiva XSP o ADP.

    R22/R23 XSP è compatibile con uno stack R21 se XSP esegue solo NPS e AS è R21. La versione SP1. Per ulteriori informazioni, vedere la Matrice di compatibilità BroadWorks.

  • Ulteriori informazioni sul server ADP sono disponibili su https://xchange.broadsoft.com/node/1051580.

NPS condiviso

Leggere queste note prima di configurare il server NPS condiviso per l'uso del proxy NPS:

  • Se il server NPS viene utilizzato con altre app (non solo l'app Webex): Non modificare il valore NPS dall'uso dell'API FCM precedente all'uso dell'API HTTP v1 FCM prima di configurare il proxy NPS.

    È possibile modificare durante la configurazione NPS per l'uso del proxy NPS.

  • Dopo aver verificato che le notifiche funzionano correttamente per le app meno recenti con il proxy NPS, è possibile rimuovere la chiave API FCM per l'app Android e la chiave di autenticazione APNs per l'app iOS.

APNs HTTP/2

  • Se sono state distribuite app iOS non da Cisco/BroadSoft, configurare tali app in modo che utilizzino il protocollo HTTP/2 APNS prima di configurare NPS per l'uso del proxy NPS.

  • Gli XSP/ADP che già supportano l'app Collaborate o SaaS BroadWorks devono essere migrati a HTTP/2. Per informazioni dettagliate sulla configurazione di HTTP/2, vedere Supporto HTTP/2 per il server push di notifica per APNS (la migrazione di NPS per supportare queste app iOS è riepilogata in questo articolo).

Android FCMv1

  • Se sono state distribuite app Android non da Cisco/BroadSoft, configurare tali app per l'uso delle chiavi FCMv1 prima di configurare NPS per l'uso del proxy NPS.

  • Se il XSP/ADP attualmente supporta l'app Connect o UC-One SaaS, le chiavi FCMv1 non possono essere abilitate prima di configurare il proxy NPS. Si consiglia di eseguire la migrazione di tutte le app aggiuntive alle chiavi FCMv1, abilitare e testare, quindi disabilitare fino a quando non si è pronti a completare le istruzioni di impostazione (il flusso di migrazione è documentato in questo articolo).

Figura 1. Riepilogo visivo della migrazione al proxy di autenticazione NPS
Tabella 1. Riepilogo delle attività da eseguire per la migrazione al proxy NPS

Sequenza

Titolo attività

Quando/perché è richiesta un'attività?

1

Eseguire la migrazione da NPS a HTTP/2 per le app UC-One SaaS (o Connect) iOS.

Se il server NPS supporta tali app e non è ancora configurato per HTTP/2.

2

Eseguire la migrazione da NPS a FCMv1 per le app UC-One SaaS (o Connect) Android.

Se il server NPS supporta tali app e non è ancora configurato per FCMv1.

3

Abilitare la modalità FCMv1 e testare le notifiche push.

Se il server NPS supporta UC-One Connect e/o altre app (non Cisco) Android.

4

Ri abilitare la modalità FCM preesiste.

Se il server NPS supporta UC-One SaaS. Se si lascia abilitato FCMv1, prima di configurare il proxy NPS, le notifiche push a UC-One SaaS iniziano a non riuscire.

5

Installare patch proxy di autenticazione NPS.

Se NPS è su XSP R22 o XSP R23.

6

Configurare NPS per utilizzare il proxy di autenticazione NPS:

  • Allega supporto tecnico da NPS

  • Richiedi account OAuth CI

  • Creare l'account CI su NPS e configurare il timeout di aggiornamento del token

  • Aggiungi ID app Android

  • Aggiungi ID app iOS

  • Controllo/impostazione di URL e timeout di connessione

  • Aggiungi app a elenco utenti consentiti AS

  • (Ri-) Abilita FCMv1

  • Riavvia XSP / ADP

  • Test dei PC per le app iOS e Android

Sempre richiesto.

7

Rimuovere le chiavi della modalità FCM preesiste.

Per le app supportate correttamente da NPS su FCMv1.

Questa attività è obbligatoria per le notifiche push alle app UC-One SaaS e Webex su piattaforme iOS.

Operazioni preliminari

Se XSP utilizza R22, è necessario applicare ap354313 prima di configurare l'applicazione NPS per l'uso di HTTP/2 per APNS.

1

Impostare l'URL di produzione e i parametri di connessione in XSP_CLI/Applications/NotificationPserver/APNS/Production>

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

imposta connessioneDimensione 2

imposta connectionTimeout 3000

imposta connectionIdleTimeoutInSeconds 600

Nota: Non impostare il timeout di connessione sotto 1000.

2

Aggiungere gli ID applicazione al contesto delle applicazioni APNS, facendo in modo di omettere la chiave di autenticazione, impostarlo come vuoto.

Per UC-One SaaS:XSP_CLI/Applications/NotificationPserver/APNS/Production/Tokens> aggiungere com.broadsoft.uc-one

Per l'app Webex: XSP_CLI/Applications/NotificationPserver/APNS/Production/Tokens> com.cisco.squared

3

Controllare le chiavi di autenticazione con XSP_CLI/Applications/NotificationPserver/APNS/Production/Token> get

4

Se la chiave di autenticazione non è vuota per com.broadsoft.uc-one, è possibile cancellarla con XSP_CLI/Applications/NotificationPserver/APNS/Production/Tokens>cancellare la chiave di autorizzazione

5

Abilitare HTTP/2:

XSP_CLI/Applications/NotificationPserver/APNS/GeneralSettings> http2(Vero)

6

Solo per le app UC-One SaaS: Accedere al portale rivenditore e andare a Configurazione > BroadWorks > .

7

Scorrere fino alla sezione Server push di notifica e selezionare la release in uso (ad esempio, release 22), quindi seguire le istruzioni fornite nel portale.

  • Questa attività si applica a NPS su XSP. Ignora se il NPS è su ADP.

  • È possibile utilizzare questa procedura per la migrazione alle notifiche FCMv1 per UC-One Connect o UC-One SaaS Android.

  • È necessario utilizzare FCMv1 se si desidera utilizzare il proxy NPS per autenticare le notifiche push in UC-One o nelle app Webex Android.

  • Questa attività prepara l'NPS per FCMv1 in modo che sia possibile abilitarlo come parte della configurazione del proxy di autenticazione NPS. Non abilitare FCMv1 finché non si è pronti a configurare il proxy di autenticazione NPS, in caso di errore delle notifiche ai client SaaS.

1

Ottenere l'ID progetto dalla console Firebase:

  1. Eseguire l'accesso console.firebase.google.com.

  2. Selezionare il progetto dell'app UC-One (Connect o SaaS), aprire le relative impostazioni di progetto.

  3. Aprire la scheda Generale e registrare l'ID progetto.

2

Ottenere la chiave privata dell'account di servizio da Firebase:

  1. Passare alla scheda Account di servizio nelle impostazioni del progetto.

  2. Creare un nuovo account di servizio e ottenere la relativa chiave privata.

  3. Oppure aprire un account di servizio esistente e generare una nuova chiave privata.

    Nota: L'account di servizio deve disporre dell'autorizzazione firebaseadmin-sdk.

  4. Scaricare la chiave in una posizione protetta.

3

Copiare la chiave nel provider XSP che ospita il server NPS.

4

Aggiungere l'ID progetto e la chiave privata associata al contesto del progetto FCM:

XSP_CLI/Applications/NotificationPserver/FCM/Projects>percorso/id progetto/to/keyfile

5

Aggiungere l'applicazione UC-One (Connect o SaaS) e l'ID progetto associato al contesto delle applicazioni FCM:

XSP_CLI/Applications/NotificationPicaServer/FCM/Applications> aggiungere applicationId com.broadsoft.connect projectId project-id

6

Controllare la configurazione di FCM in base agli attributi e ai valori consigliati qui. Utilizzare la versione impostata del comando per modificare i valori, se necessario:

Eseguire XSP_CLI/Applications/NotificationPserver/FCM> ottenere

Parametro

Valore consigliato

URL autenticazione

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

URL push

https://fcm.googleapis.com/v1/projects/ID/messaggiPROJECT:invio

Ambito

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

tokenTimeToLiveInSeconds

3600

Dimensione dimensione connessione

10

connessioneTimeoutInReiseconds

3000

IDleTimeoutInSeconds connectionIdleTimeoutInSeconds

600

  • Questa attività si applica a NPS su ADP. Ignora se il server NPS è su XSP.

  • È possibile utilizzare questa procedura per la migrazione alle notifiche FCMv1 per UC-One Connect o UC-One SaaS Android.

  • È necessario utilizzare FCMv1 se si desidera utilizzare il proxy NPS per autenticare le notifiche push in UC-One o nelle app Webex Android.

  • Questa attività prepara l'NPS per FCMv1 in modo che sia possibile abilitarlo come parte della configurazione del proxy di autenticazione NPS. Non abilitare FCMv1 finché non si è pronti a configurare il proxy di autenticazione NPS, in caso di errore delle notifiche ai client SaaS.

1

Ottenere l'ID progetto dalla console Firebase:

  1. Eseguire l'accesso console.firebase.google.com.

  2. Selezionare il progetto dell'app UC-One (Connect o SaaS), aprire le relative impostazioni di progetto.

  3. Aprire la scheda Generale e registrare l'ID progetto.

2

Ottenere la chiave privata dell'account di servizio da Firebase:

  1. Passare alla scheda Account di servizio nelle impostazioni del progetto.

  2. Creare un nuovo account di servizio e ottenere la relativa chiave privata.

  3. Oppure aprire un account di servizio esistente e generare una nuova chiave privata.

    Nota: L'account di servizio deve disporre dell'autorizzazione firebaseadmin-sdk.

  4. Scaricare la chiave (file .json) in una posizione protetta.

3

Importare il file .json nel server ADP /bw/install.

4

Accedere alla CLI ADP e aggiungere il progetto e la chiave API al contesto dei progetti FCM:

ADP_CLI/Applications/NotificationPserver/FCM/Projects> aggiungere connect-ucaas /bw/install/filename.json

5

Aggiungere l'ID applicazione e il progetto al contesto delle applicazioni FCM:

ADP_CLI/Applications/NotificationPheServer/FCM/Applications> aggiungere applicationId com.broadsoft.ucaas.connect projectId project-id

6

Verificare la configurazione:


  ADP_CLI/Applications/NotificationPsureServer/FCM/Projects> ottenere 
 l'ID progetto Accountkey 
 == 
 connect-ucaas **

  ADP_CLI/Applications/NotificationPheServer/FCM/Applications> ottenere l'ID 
 progetto = 
 
 com.broadsoft.ucaas.connect-ucaas

È necessario effettuare questa operazione (come parte della migrazione) solo se:

  • NPS viene utilizzato per le app UC-One SaaS o BroadWorks Connect Android.

  • È già stato collaudato che le notifiche di call push ad altre app funzionino con l'API FCMv1.

Si sta disabilitando temporaneamente FCMv1 poiché le chiavi FCMv1 per queste app devono essere abilitate solo durante il processo di configurazione del proxy di autenticazione NPS.

1

Accedere al provider di servizi di rete NPS condiviso.

2

Passare al contesto FCM e disabilitare FCM v1: XSP_CLI/Applications/NotificationPsureServer/FCM> impostare V1 vm false per ripristinare l'uso della chiave API FCM preesiste.

Installare le seguenti patch per supportare la funzione proxy di autenticazione NPS:

Patch R22

Patch R23

1

Creare una richiesta di servizio con il contatto di onboarding o con TAC per premettere l'account client OAuth (Webex Common Identity). Titolo della richiesta di servizio Configurazione NPS per impostazione proxy autorizzazione.

Cisco fornisce un ID client OAuth, un segreto client e un token di aggiornamento validi per 60 giorni. Se il token scade prima di utilizzarlo con il server NPS, è possibile generare un'altra richiesta.
2

Creare l'account client su NPS:

XSP_CLI/Applicazioni/NotificationP ilServer/CiscoCI/Client> clientId client-Id-From-Step1


  XSP_CLI/Applications/NotificationPserver/CiscoCI/Client> clientSecret Nuova password: client-Secret-From-Step1

  XSP_CLI/Applications/NotificationPserver/CiscoCI/Client> refreshToken Nuova password: Aggiorna-Token-Da-Passo 1

Per verificare che i valori immessi corrispondano a quanto fornito, eseguire XSP_CLI/Applications/NotificationPserver/CiscoCI/Client> ottenere

3

Inserire l'URL proxy NPS e impostare l'intervallo di aggiornamento del token (è consigliato 30 minuti):

XSP_CLI/Applications/NotificationPserver/CloudNPSService> url impostato https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Applications/NotificationPserver/CloudNPSService> impostare VOIPTokenRefreshInterval 1800

4

(Per notifiche Android) Aggiungere gli ID dell'applicazione Android al contesto delle applicazioni FCM su NPS.

Per l'app Webex su Android: XSP_CLI/Applications/NotificationPserver/FCM/Applications> aggiungere applicationId com.cisco.wx2.android

Per l'app UC-One su Android: XSP_CLI/Applications/NotificationPicaServer/FCM/Applications> aggiungere applicationId com.broadsoft.connect

5

(Per notifiche Apple iOS) Aggiungere l'ID applicazione al contesto delle applicazioni APNS, assicurando di omettere la chiave di autenticazione, impostarlo come vuoto.

Per l'app Webex su iOS: XSP_CLI/Applications/NotificationPserver/APNS/Production/Tokens> com.cisco.squared

Per l'app UC-One su iOS: XSP_CLI/Applications/NotificationPserver/APNS/Production/Tokens> com.cisco.squared

6

Configurare i seguenti URL NPS:

Tabella 2.

Contesto CLI XSP

Parametro

Valore

XSP_CLI/Applicazioni/NotificationPserver/FCM>

URL autenticazione

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

URL push

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

Ambito

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

XSP_CLI/Applicazioni/NotificationPserver/APNS/Production>

url

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

7

Configurare i seguenti parametri di connessione NPS in base ai valori consigliati riportati:

Tabella 3.

Contesto CLI XSP

Parametro

Valore

XSP_CLI/Applicazioni/NotificationPserver/FCM>

tokenTimeToLiveInSeconds

3600

Dimensione dimensione connessione

10

connessioneTimeoutInReiseconds

3000

IDleTimeoutInSeconds connectionIdleTimeoutInSeconds

600

XSP_CLI/Applicazioni/NotificationPserver/APNS/Production>

Connectiontimeout

3000

Dimensione dimensione connessione

2

IDleTimeoutInSeconds connectionIdleTimeoutInSeconds

600

8

Controllare se il server dell'applicazione è gli ID dell'applicazione, perché potrebbe essere necessario aggiungere le app Webex all'elenco dei consentiti:

  1. Eseguire AS_CLI/System/PushNotification> ottenere e selezionare il valore di enforceAllowedApplicationList. Se è vero , è necessario completare questa attività secondaria. Altrimenti, saltare il resto dell'attività secondaria.

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

  3. AS_CLI/System/PushNotification/AllowedApplications> aggiungere com.cisco.squared "Webex iOS"

1

Riavviare XSP:

bwrestart
2

Testare le notifiche di chiamata in Android effettuando chiamate da un abbonato BroadWorks al client di chiamata su Android. Verificare che la notifica di chiamata venga visualizzata sul dispositivo Android.

Nota: Se le notifiche push non riescono per l'applicazione UC-One Android, è possibile che si sia in caso di configurazione errata. In tal caso, è possibile ripristinare il FCM precedente come segue:

  1. Disabilitare FCMv1: XSP_CLI/Applications/NotificationPserver/FCM> v1 Vpn false

  2. Riavvia XSP: bwrestart

  3. Controllare la configurazione.

  4. Ri abilitare FCMv1 e riavviare XSP.

  5. Ripetere il test.

3

Testare le notifiche di chiamata a iOS effettuando chiamate da un abbonato BroadWorks al client chiamante su iOS. Verificare che la notifica di chiamata venga visualizzata sul dispositivo iOS.

Nota: Se le notifiche push non riescono per l'applicazione iOS UC-One, è possibile che si sia in caso di configurazione errata. In tal caso, è possibile ripristinare l'interfaccia binaria precedente con l'impostazione HTTP2 Binary false