Prezentare generală a proxy-ului de autentificare NPS


Acest articol descrie cum se configurează un NPS partajat pentru a utiliza proxy-ul de autentificare NPS, astfel încât să poată fi, de asemenea, utilizat pentru a transmite notificări de apeluri push în aplicațiile Webex. Dacă NPS nu acceptă alte aplicații, puteți să urmați procedura simplificată din Ghidul soluției Webex for BroadWorks https://help.webex.com/z9gt5j.

Prezentare generală a proxy-ului NPS

Pentru compatibilitate cu Webex for BroadWorks, NPS-ul dvs. trebuie să aibă patch-uri pentru a accepta caracteristica Proxy NPS, Server push pentru VoIP în UCaaS.

Caracteristica implementează un nou design pe serverul de notificări push pentru a rezolva vulnerabilitatea de securitate la partajarea cheilor private ale certificatelor de notificări push cu furnizorii de servicii pentru clienții mobili. În loc să partajați certificatele de notificări push și cheile cu furnizorul de servicii, NPS utilizează un nou API pentru a obține un token de notificări push de scurtă durată din backendul UCaaS și utilizează acest token pentru autentificarea la serviciile Apple APNs și Google FCM.

Caracteristica îmbunătățește, de asemenea, capacitatea serverului de notificări push de a transmite notificările către dispozitivele Android prin intermediul noului API Google Firebase Cloud Messaging (FCM) HTTPv1.

Patch-uri BroadWorks pentru caracteristică sunt disponibile în Xchange: https://xchange.broadsoft.com/node/1046235

Pentru mai multe informații, consultați Descrierea caracteristicii Server push pentru VoIP din UCaaS din Xchange: https://xchange.broadsoft.com/node/1045458

XSP (sau platforma de livrare a aplicațiilor - ADP) care găzduiește NPS trebuie să îndeplinească următoarele cerințe:

Versiunile minime și restricțiile de corezidență

  • NPS trebuie să fie activat pe un XSP/ADP dedicat și NPS trebuie să fie singura aplicație găzduită pe server. Acest lucru este de natură să elimine interferențele cu livrarea de notificări push.

  • Trebuie să existe o singură aplicație NPS într-o implementare. Dacă utilizați versiunile mobile UC-One Collaborate/Connect și/sau UC-One SaaS și implementați Webex for BroadWorks, trebuie să partajați acest NPS unic cu toate aplicațiile.

  • NPS trebuie să fie XSP sau ADP cu versiunea R22 sau o versiune mai recentă.

    XSP R22/R23 este compatibil cu o stivă R21 dacă XSP rulează doar NPS și AS are R21.SP1. Pentru mai multe informații, consultați Matricea de compatibilitate BroadWorks.

  • Mai multe informații despre serverul ADP pot fi găsite la https://xchange.broadsoft.com/node/1051580.

NPS partajat

Citiți aceste note înainte de a configura NPS-ul partajat să utilizeze proxy-ul NPS:

  • Dacă NPS-ul dvs. este utilizat cu alte aplicații (nu doar cu aplicația Webex): nu modificați NPS de la utilizarea API-ului FCM moștenit la utilizarea API-ului FCM HTTP v1 înainte de a configura proxy-ul NPS.

    Puteți modifica în cursul configurării NPS să utilizeze proxy-ul NPS.

  • Când confirmați că notificările funcționează corect pentru aplicațiile mai vechi cu proxy-ul NPS, puteți elimina cheia API-ului FCM pentru aplicația Android și cheia de autentificare APNs pentru aplicația iOS.

HTTP/2 pentru APNs

  • Dacă ați implementat aplicații iOS care nu sunt de la Cisco/BroadSoft, configurați aplicațiile respective să utilizeze protocolul APNS HTTP/2 înainte de a configura NPS-ul să utilizeze proxy-ul NPS.

  • XSP/ADPs care acceptă deja aplicația Collaborate sau SaaS BroadWorks trebuie să fie migrată la HTTP/2. Pentru informații detaliate despre configurarea HTTP/2, consultați Suport pentru HTTP/2 pe serverul de notificări push pentru APNS (migrarea NPS pentru a accepta aceste aplicații iOS este rezumată în acest articol).

FCMv1 pentru Android

  • Dacă ați implementat aplicații Android care nu sunt de la Cisco/BroadSoft, configurați aplicațiile respective să utilizeze cheile FCMv1 înainte de a configura NPS-ul să utilizeze proxy-ul NPS.

  • Dacă XSP/ADP acceptă în prezent aplicația Connect sau UC-One SaaS, cheile FCMv1 nu pot fi activate înainte de a configura proxy-ul NPS. Vă recomandăm să migrați toate aplicațiile suplimentare la chei FCMv1, să le activați și să le testați, apoi să le dezactivați până când sunteți gata să finalizați instrucțiunile de configurare (fluxul de migrare este documentat în acest articol).

Figura 1. Rezumatul vizual al migrării la proxy-ul de autentificare NPS
Tabelul 1. Rezumatul sarcinilor pentru migrarea la proxy-ul NPS

Nr. de secvență

Titlu sarcină

Când/de ce este necesară sarcina?

1

Migrați NPS la HTTP/2 pentru aplicațiile iOS UC-One SaaS (sau Connect).

Dacă NPS acceptă aceste aplicații și nu sunt încă configurate pentru HTTP/2.

2

Migrați NPS la FCMv1 pentru aplicațiile Android UC-One SaaS (sau Connect).

Dacă NPS acceptă aceste aplicații și nu sunt încă configurate pentru FCMv1.

3

Activați modul FCMv1 și testați notificările push.

Dacă NPS acceptă UC-One Connect și/sau alte aplicații Android (non-Cisco).

4

Reactivați modul FCM moștenit.

Dacă NPS acceptă UC-One SaaS. Dacă lăsați FCMv1 activată înainte de a configura proxy-ul NPS, notificările push către UC-o SaaS încep să eșueze.

5

Instalați patch-urile proxy-ului de autentificare NPS.

Dacă NPS este pe XSP R22 sau XSP R23.

6

Configurați NPS să utilizeze proxy-ul de autentificare NPS:

  • Atașați techsupport de la NPS

  • Solicitați contul CI OAuth

  • Creați contul CI pe NPS și configurați timeoutul pentru tokenul cu reîmprospătare

  • Adăugați ID-urile aplicațiilor Android

  • Adăugați ID-urile aplicațiilor iOS

  • Verificați/setați adresele URL și timeouturile de conectare

  • Adăugați aplicațiile în lista de permisiuni AS

  • (Re-)activați FCMv1

  • Reporniți XSP/ADP

  • Testați PN-urile pentru aplicațiile iOS și Android

Obligatorii întotdeauna.

7

Eliminați cheile modului FCM moștenit.

Pentru aplicații care sunt acceptate cu succes de NPS pe FCMv1.

Această sarcină este obligatorie pentru notificările push către aplicații UC-One SaaS și Webex pe platforme iOS.

Înainte de a începe

Dacă XSP rulează pe R22, trebuie să aplicați ap354313 înainte de a putea configura aplicația NPS să utilizeze HTTP/2 pentru APNS.

1

Setați URL-ul de producție și parametrii de conectare la XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Notă: Nu setați timeoutul conexiunii sub 1000.

2

Adăugați ID-urile aplicațiilor în contextul aplicațiilor APNS, asigurându-vă că omiteți cheia de autentificare – setați-o la empty.

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

Pentru aplicația Webex: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Verificați cheile de autentificare cu XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Când cheia de autentificare nu este necompletată pentru com.broadsoft.uc-one, puteți s-o ștergeți cu XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Activați HTTP/2:

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

6

Doar pentru aplicațiile UC-One SaaS: conectați-vă la portalul resellerului și accesați Configurație > BroadWorks >.

7

Derulați în jos la secțiunea Server de notificări push și selectați versiunea dvs. (de ex., Versiunea 22), apoi urmați instrucțiunile furnizate în portal.

  • Această sarcină se aplică pentru NPS pe XSP. Ignorați-o dacă NPS este pe ADP.

  • Puteți utiliza această procedură pentru migrarea la notificări FCMv1 pentru aplicațiile Android UC-One Connect sau UC-One SaaS.

  • Trebuie să utilizați FCMv1 dacă doriți să utilizați proxy-ul NPS pentru a autentifica notificările push pentru aplicațiile Android UC-One sau Webex.

  • Această sarcină pregătește NPS-ul pentru FCMv1, astfel încât să-l puteți activa ca parte din configurarea proxy-ului de autentificare NPS. Nu activați FCMv1 până când nu sunteți gata să configurați proxy-ul de autentificare NPS sau notificările către clienții SaaS vor eșua.

1

Preluați ID-ul proiectului de la consola Firebase:

  1. Conectați-vă la console.firebase.google.com.

  2. Selectați proiectul aplicației UC-One (Connect sau SaaS), deschideți setările proiectului.

  3. Deschideți fila General și înregistrați ID-ul proiectului.

2

Preluați cheia privată a contului dvs. de serviciu din Firebase:

  1. Navigați la fila Conturi serviciu din setările proiectului.

  2. Fie creați un nou cont de serviciu și preluați cheia sa privată,

  3. fie deschideți un cont de serviciu existent și generați o nouă cheie privată.

    Notă: Contul de serviciu trebuie să aibă permisiunea firebaseadmin-sdk.

  4. Descărcați cheia într-o locație sigură.

3

Copiați cheia pe XSP care găzduiește NPS-ul dvs.

4

Adăugați ID-ul proiectului și cheia privată asociată în contextul proiectelor FCM:

XSP_CLI/Applications/NotificationPushServer/FCM/Projects > Add Project-ID cale/to/keyfile

5

Adăugați aplicația UC-One (Connect sau SaaS) și ID-ul de proiect asociat în contextul aplicațiilor FCM:

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

6

Verificați configurația pentru FCM în ce privește atributele și valorile recomandate afișate aici. Utilizați versiunea set a comenzii pentru a modifica valorile dacă este necesar:

Rulați XSP_CLI/Applications/NotificationPushServer/FCM> get

Parametru

Valoare recomandată

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

  • Această sarcină se aplică pentru NPS pe ADP. Ignorați-o dacă NPS este pe XSP.

  • Puteți utiliza această procedură pentru migrarea la notificări FCMv1 pentru aplicațiile Android UC-One Connect sau UC-One SaaS.

  • Trebuie să utilizați FCMv1 dacă doriți să utilizați proxy-ul NPS pentru a autentifica notificările push pentru aplicațiile Android UC-One sau Webex.

  • Această sarcină pregătește NPS-ul pentru FCMv1, astfel încât să-l puteți activa ca parte din configurarea proxy-ului de autentificare NPS. Nu activați FCMv1 până când nu sunteți gata să configurați proxy-ul de autentificare NPS sau notificările către clienții SaaS vor eșua.

1

Preluați ID-ul proiectului de la consola Firebase:

  1. Conectați-vă la console.firebase.google.com.

  2. Selectați proiectul aplicației UC-One (Connect sau SaaS), deschideți setările proiectului.

  3. Deschideți fila General și înregistrați ID-ul proiectului.

2

Preluați cheia privată a contului dvs. de serviciu din Firebase:

  1. Navigați la fila Conturi serviciu din setările proiectului.

  2. Fie creați un nou cont de serviciu și preluați cheia sa privată,

  3. fie deschideți un cont de serviciu existent și generați o nouă cheie privată.

    Notă: Contul de serviciu trebuie să aibă permisiunea firebaseadmin-sdk.

  4. Descărcați cheia (fișierul .json) într-o locație sigură.

3

Importați fișierul .json pe serverul ADP /bw/install.

4

Conectați-vă la CLI ADP și adăugați proiectul și cheia API-ului în contextul proiectelor FCM:

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

5

Adăugați aplicația și ID-ul proiectului în contextul aplicațiilor FCM:

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

6

Verificați configurația:

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

Trebuie să efectuați această sarcină (ca parte din migrare) dacă:

  • NPS-ul dvs. este utilizat pentru aplicații Android UC-One SaaS sau BroadWorks Connect.

  • Ați testat deja faptul că notificările push de apeluri către alte aplicații funcționează cu API-ul FCMv1.

Dezactivați temporar FCMv1, deoarece cheile FCMv1 pentru aceste aplicații trebuie să fie activate doar în cursul procesului de configurare a proxy-ului de autentificare NPS.

1

Conectați-vă la XSP care găzduiește NPS-ul dvs. partajat.

2

Navigați la contextul FCM și dezactivați FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false pentru a reveni la utilizarea cheii API-ului FCM moștenit.

Instalați următoarele patch-uri pentru a accepta caracteristica proxy-ului de autentificare NPS:

Patch-urile R22

Patch-urile R23

1

Creați o solicitare de serviciu cu contactul de inițiere sau cu TAC pentru a vă seta contul de client OAuth (Webex Common Identity). Introduceți titlul pentru solicitarea de serviciu Configurare configurație NPS pentru proxy de autentificare.

Cisco vă oferă un ID de client OAuth, un secret al clientului și un token cu reîmprospătare, valabil timp de 60 de zile. Dacă tokenul expiră înainte de a-l utiliza cu NPS, puteți trimite altă solicitare.
2

Creați contul de client pe 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

Pentru a verifica faptul că valorile pe care le-ați introdus se potrivesc cu cele primite, rulați XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Introduceți URL-ul proxy-ului NPS și setați intervalul de reîmprospătare a tokenului (se recomandă 30 de minute):

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

(Pentru notificările Android) Adăugați ID-urile aplicațiilor Android în contextul aplicațiilor FCM pe NPS.

Pentru aplicația Webex pe Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.cisco.wx2.android

Pentru aplicația UC-One pe Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect

5

(Pentru notificările Apple iOS) Adăugați ID-ul aplicației în contextul aplicațiilor APNS, asigurându-vă că omiteți cheia de autentificare - setați-o la empty.

Pentru aplicația Webex pe iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Pentru aplicația UC-One pe iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Configurați următoarele URL-uri NPS:

Tabelul 2.

Context CLI XSP

Parametru

Valoare

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

Configurați următorii parametrii ai conexiunii NPS la valorile recomandate afișate:

Tabelul 3.

Context CLI XSP

Parametru

Valoare

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

Verificați dacă serverul de aplicații preselectează ID-urile aplicațiilor, deoarece poate fi necesar să adăugați aplicațiile Webex în lista de permisiuni:

  1. Rulați AS_CLI/System/PushNotification> get și verificați valoarea enforceAllowedApplicationList. Dacă este true, trebuie să finalizați această subsarcină. În caz contrar, omiteți restul subsarcinii.

  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

Reporniți XSP:

bwrestart
2

Testați notificările de apeluri către Android efectuând apeluri de la un abonat BroadWorks către clientul Calling de pe Android. Verificați dacă notificarea apelurilor apare pe dispozitivul Android.

Notă: Dacă notificările push încep să eșueze pentru aplicația Android UC-One, este posibil să existe o configurație greșită. În acest caz, puteți reveni la FCM moștenit, după cum urmează:

  1. Dezactivați FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Reporniți XSP: bwrestart

  3. Verificați configurația.

  4. Re-activați FCMv1 și reporniți XSP.

  5. Repetați testul.

3

Testați notificările de apeluri către iOS efectuând apeluri de la un abonat BroadWorks către clientul Calling de pe iOS. Verificați dacă notificarea apelurilor apare pe dispozitivul iOS.

Notă: Dacă notificările push încep să eșueze pentru aplicația iOS UC-One, este posibil să existe o configurație greșită. În acest caz, puteți reveni la interfața binară moștenită, cu setHTTP2Enabled false