Prezentare generală a proxy 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 de soluții WebEx pentru BroadWorks https://help.webex.com/z9gt5j.

Prezentare generală a caracteristicilor proxy 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.

BroadWorks patch-uri pentru caracteristica sunt disponibile pe Xchange: https://xchange.broadsoft.com/node/1046235

Pentru mai multe informații, consultați Push server pentru VoIP în UCaaS caracteristică Descriere pe 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 co-rezidență

  • 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 comun

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

  • Dacă dvs. NPS este utilizat cu alte aplicații (nu numai WebEx App): Nu modificați NPS de la utilizarea FCM Legacy API pentru a utiliza FCM HTTP v1 API înainte de a configura NPS proxy.

    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.

APNs HTTP/2

  • 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 pentru notificare Push server pentru APNs (migrarea NPS pentru a sprijini aceste aplicații iOS este rezumată în acest articol).

FCMv1 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 migrației la NPS proxy de autentificare
Tabelul 1. Rezumat al activităților pentru a migra la NPS proxy

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 expirarea 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 WebEx App: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens > Adăugare 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

Numai pentru aplicații UC-One SaaS: Faceți login la portalul Reseller și mergeți la 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 setată a comenzii pentru a schimba 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 > a lua proiect ID Accountkey = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
ADP_CLI/Applications/NotificationPushServer/FCM/Applications > a lua a aplica identitate proiect identitate = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =  = = = BroadSoft. Connect

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 > Setați V1enabled false pentru a reveni la utilizarea cheii FCM Legacy API.

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

Patch-uri R22

R23 patch-uri

1

Creați o solicitare de serviciu cu contactul de inițiere sau cu TAC pentru a vă seta contul de clientOAuth (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 > Setați clientSecret noua parolă: client-secret-de la-Pasul1
XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client > Setați RefreshToken noua parolă: Reîmprospătare-token-de la-Pasul1

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 WebEx App pe Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications > Adăugați applicationId com. Cisco. WX2. Android

Pentru UC-One App pe Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications > Adăugați 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 WebEx App pe iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens > Adăugare com. Cisco. squared

Pentru aplicația UC-One pe iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens > Adăugare 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 > Adăugați 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 începe să eșueze pentru aplicația UC-One Android, 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 începe să eșueze pentru aplicația UC-One iOS, este posibil să existe o configurație greșită. Dacă aceasta este situația dvs., puteți reveni la interfața binare moștenite cu set HTTP2Enabled false