Prezentare generală a proxy-ului de autentificare NPS


Acest articol descrie modul de configurare a unui NPS partajat pentru a utiliza proxy-ul de autentificare NPS, astfel încât să poată fi utilizat și pentru a împinge notificările de apel către aplicațiile Webex. Dacă NPS-ul dvs. nu acceptă alte aplicații, puteți urma procedura simplificată din Ghidul de soluții Webex pentru BroadWorks https://help.webex.com/z9gt5j.

Prezentare generală proxy NPS

Pentru compatibilitate cu Webex pentru BroadWorks, NPS-ul dvs. trebuie să fie patch-uri pentru a sprijini caracteristica proxy NPS, Push Server pentru VoIP în UCaaS.

Funcția implementează un nou design în serverul Notification Push pentru a rezolva vulnerabilitatea de securitate a partajării cheilor private pentru certificatul de notificare push cu furnizorii de servicii pentru clienții mobili. În loc să partajeze certificate de notificare push și chei cu furnizorul de servicii, NPS utilizează un nou API pentru a obține un token de notificare push de scurtă durată de la UCaaS backend și utilizează acest token pentru autentificare cu APN-urile Apple și serviciile Google FCM.

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

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

Versiuni minime și restricții privind co-rezidența

  • NPS trebuie să fie activat pe un XSP/ADP dedicat, iar NPS trebuie să fie singura aplicație găzduită pe server. Acest lucru are ca scop eliminarea interferențelor în livrarea notificărilor push.

  • Ar trebui să existe o singură aplicație NPS într-o implementare. Dacă utilizați mobil UC-One Collaborate/Connect și UC-One SaaS și implementați Webex for BroadWorks, trebuie să partajați acest singur NPS pentru toate aplicațiile.

  • NPS trebuie să fie în versiunea R22 sau mai târziu XSP, sau ADP.

    R22/R23 XSP este compatibil cu o stivă R21 dacă XSP rulează numai NPS, iar AS este R21.SP1. Consultați Matricea de compatibilitate BroadWorks pentru mai multe informații.

  • 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 pentru a utiliza proxy-ul NPS:

  • Dacă NPS este utilizat cu alte aplicații (nu doar aplicația Webex): Mai întâi configurați proxy-ul NPS, apoi schimbați NPS de la utilizarea API-ului FCM moștenit la utilizarea API-ului FCM HTTP v1.

  • După ce ați verificat că notificările funcționează corect pentru aplicații mai vechi cu proxy-ul NPS, apoi eliminați cheia API FCM pentru aplicația Android, și cheia automată APN pentru aplicația iOS.

HTTP/2 APN-uri

  • Dacă ați implementat orice aplicații iOS care nu sunt de la Cisco/BroadSoft, configurați acele aplicații pentru a utiliza protocolul HTTP/2 APNS înainte de a configura NPS pentru a utiliza proxy-ul NPS.

  • XSP/ADP-urile care acceptă deja aplicația Collaborate sau SaaS BroadWorks trebuie migrate către HTTP/2. Pentru informații detaliate despre configurarea HTTP/2, consultați HTTP/2 Support to Notification Push Server for APNS (migrarea NPS pentru a sprijini aceste aplicații iOS este rezumată în acest articol).

FCMv1 pentru Android

  • Dacă ați implementat orice aplicații Android care nu sunt de la Cisco/BroadSoft, configurați acele aplicații pentru a utiliza tastele FCMv1 înainte de a configura NPS pentru a utiliza proxy-ul NPS.

  • Dacă XSP/ADP acceptă în prezent aplicația Connect sau UC-One SaaS, activați tastele FCMv1 după ce configurați proxy-ul NPS. Vă recomandăm să migrați toate aplicațiile suplimentare la tastele FCMv1, să activați și să testați, apoi să 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. Rezumat vizual al migrării către proxy-ul de autentificare NPS
Tabelul 1. Rezumatul sarcinilor pentru migrare în proxy-ul NPS

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 moștenire FCM.

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

5

Instalați patch-uri proxy de autentificare NPS.

Dacă NPS este pe XSP R22 sau XSP R23.

6

Configurați NPS pentru a utiliza proxy-ul de autentificare NPS:

  • Atașați asistența tehnică de la NPS

  • Solicitare cont CI OAuth

  • Creați un cont CI pe NPS și configurați perioada de reîmprospătare a tokenului

  • Adăugați Android App ids

  • Adăugați id-uri pentru aplicația iOS

  • Verificați/setați URL-urile și perioadele de conectare

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

  • (Reactivare)Activare FCMv1

  • Reporniți XSP / ADP

  • Testați PNs pentru aplicațiile iOS și Android

Întotdeauna este necesar.

7

Eliminați tastele Mod moștenit FCM.

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

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

Înainte de a începe

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

1

Setați URL-ul de producție și parametrii de conexiune 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 intervalul de timp al conexiunii sub 1000.

2

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

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 tastele automate cu XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Dacă cheia de autentificare nu este goală pentru com.broadsoft.uc-one, îl puteți șterge 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

Numai pentru aplicațiile UC-One SaaS: Conectați-vă la portalul de revânzător și accesați Configurare > BroadWorks > .

7

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

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

  • Puteți utiliza această procedură pentru migrarea la notificările 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 către UC-One sau aplicațiile Android Webex.

  • Această sarcină pregătește NPS pentru FCMv1, astfel încât să îl puteți activa ca parte a configurării 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

Obțineți ID-ul proiectului de pe 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

Obțineți cheia privată a contului dvs. de serviciu de la Firebase:

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

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

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

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

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

3

Copiați cheia pentru a găzdui XSP dvs. NPS.

4

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

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> add project-id path/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 funcție de atributele și valorile recomandate afișate aici. Utilizați set versiune 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ă la NPS pe ADP. Ignorați-l dacă NPS este pe XSP.

  • Puteți utiliza această procedură pentru migrarea la notificările 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 către UC-One sau aplicațiile Android Webex.

  • Această sarcină pregătește NPS pentru FCMv1, astfel încât să îl puteți activa ca parte a configurării 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

Obțineți ID-ul proiectului de pe 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

Obțineți cheia privată a contului dvs. de serviciu de la Firebase:

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

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

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

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

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

3

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

4

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

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

5

Adăugați ID-ul aplicației și 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 doar să faceți acest lucru (ca parte a migrării) dacă:

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

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

Dezactivați temporar FCMv1 deoarece cheile FCMv1 pentru aceste aplicații trebuie să fie activate numai în timpul procesului de configurare proxy de autentificare NPS.

1

Conectați-vă la găzduirea XSP a NPS-ului 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 moștenite FCM.

1

Creați o solicitare de serviciu cu contactul dvs. de integrare sau cu TAC pentru a vă furniza contul de client OAuth (Webex Common Identity). Titlați cererea dvs. de serviciu Configurația NPS pentru configurarea proxy-ului Auth.

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

Creați contul clientului 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 valorile pe care le-ați introdus în concordanță cu ceea ce ați primit, rulați XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Introduceți URL-ul proxy 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ări Android) Adăugați ID-urile aplicației Android în contextul aplicațiilor FCM de pe NPS.

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

Pentru aplicația UC-One pe Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add 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ă pentru a omite cheia Auth – setați-l la gol.

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 parametri de conexiune 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 selectează ID-urile aplicației, deoarece este posibil să fie 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, săriți restul sarcinii secundare.

  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 apelurilor către Android prin efectuarea de apeluri de la un abonat BroadWorks la clientul de apelare de pe Android. Verificați dacă apare notificarea de apel pe dispozitivul Android.

Notă: Dacă notificările push încep să eșueze pentru aplicația Android UC-One, este posibil să existe o configurare greșită. Dacă aceasta este situația dvs., 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. Reactivați FCMv1 și reporniți XSP.

  5. Repetaţi testul.

3

Testați notificările apelurilor către iOS prin efectuarea de apeluri de la un abonat BroadWorks la clientul de apelare de pe iOS. Verificați dacă apare notificarea de apel pe dispozitivul iOS.

Notă: Dacă notificările push încep să eșueze pentru aplicația iOS UC-One, este posibil să existe o configurare greșită. Dacă aceasta este situația dumneavoastră, puteți reveni la interfața binară moștenită cu set HTTP2Enabled false