Pregled proxyja za preverjanje pristnosti NPS


Ta članek opisuje, kako konfigurirati NPS v skupni rabi za uporabo proxyja za preverjanje pristnosti NPS, tako da se lahko uporablja tudi za pošiljanje obvestil o klicih v aplikacije Webex. Če vaš NPS ne podpira drugih aplikacij, lahko sledite poenostavljenemu postopku v priročniku Webex for BroadWorks Solution Guide https://help.webex.com/z9gt5j.

Pregled proxyja NPS

Za združljivost z Webexom za BroadWorks mora biti vaš NPS popravljen za podporo funkcije NPS Proxy, Potisni strežnik za VoIP v UCaaS.

Funkcija implementira novo zasnovo v Notification Push Server za odpravo varnostne ranljivosti deljenja zasebnih ključev potrdila o potisnih obvestilih s ponudniki storitev za mobilne odjemalce. Namesto da bi potrdila in ključe za potisna obvestila delil s ponudnikom storitev, NPS uporablja nov API za pridobitev kratkotrajnega žetona za potisna obvestila iz ozadja UCaaS in ta žeton uporablja za preverjanje pristnosti s storitvami Apple APN in Google FCM.

Funkcija prav tako izboljša zmožnost strežnika Notification Push Server za pošiljanje obvestil napravam Android prek novega API-ja Google Firebase Cloud Messaging (FCM) HTTPv1.

XSP (ali platforma za dostavo aplikacij ADP), ki gosti NPS, mora izpolnjevati naslednje zahteve:

Minimalne različice in omejitve sobivanja

  • NPS mora biti aktiviran na namenskem XSP/ADP in NPS mora biti edina gostujoča aplikacija na strežniku. To je namenjeno odpravi motenj pri dostavi potisnih obvestil.

  • V uvedbi mora biti samo ena aplikacija NPS. Če uporabljate mobilni UC-One Collaborate/Connect in/ali UC-One SaaS in implementirate Webex za BroadWorks, morate ta enotni NPS dati v skupno rabo za vse aplikacije.

  • NPS mora biti na različici R22 ali novejši XSP ali ADP.

    R22/R23 XSP je združljiv s skladom R21, če je XSP samo izvaja NPS in AS je R21.SP1. Glej BroadWorks Compatibility Matrix za več informacij.

  • Več informacij o strežniku ADP najdete na https://xchange.broadsoft.com/node/1051580.

NPS v skupni rabi

Preberite te opombe, preden konfigurirate svoj NPS v skupni rabi za uporabo proxyja NPS:

  • Če se vaš NPS uporablja z drugimi aplikacijami (ne le z aplikacijo Webex): Najprej konfigurirajte proxy NPS, nato spremenite NPS z uporabe starega API-ja FCM na uporabo API-ja FCM HTTP v1.

  • Ko preverite, ali obvestila za starejše aplikacije s proxyjem NPS delujejo pravilno, odstranite ključ API FCM za aplikacijo Android in ključ za preverjanje APN za aplikacijo iOS.

APN-ji HTTP/2

  • Če ste uvedli katero koli aplikacijo za iOS, ki ni od Cisco/BroadSoft, konfigurirajte te aplikacije za uporabo protokola HTTP/2 APNS, preden konfigurirate NPS za uporabo proxyja NPS.

  • XSP/ADP, ki že podpirajo aplikacijo Collaborate ali SaaS BroadWorks, je treba preseliti na HTTP/2. Za podrobne informacije o konfiguraciji HTTP/2 glejte HTTP/2 podpora za Notification Push Server za APNS (migracija NPS za podporo tem aplikacijam iOS je povzeta v tem članku).

Android FCMv1

  • Če ste uvedli katero koli aplikacijo za Android, ki ni od Cisco/BroadSoft, konfigurirajte te aplikacije za uporabo ključev FCMv1, preden konfigurirate NPS za uporabo proxyja NPS.

  • Če XSP/ADP trenutno podpira aplikacijo Connect ali UC-One SaaS, omogočite ključe FCMv1 po konfigurirate proxy NPS. Priporočamo, da preselite vse dodatne aplikacije na ključe FCMv1, omogočite in preizkusite ter nato onemogočite, dokler ne boste pripravljeni dokončati navodil za namestitev (potek selitve je dokumentiran v tem članku).

Slika 1. Vizualni povzetek selitve na proxy za preverjanje pristnosti NPS
Tabela 1. Povzetek nalog za selitev na proxy NPS

Zaporedje

Naslov naloge

Kdaj/zakaj je naloga potrebna?

1

Preselite NPS na HTTP/2 za aplikacije UC-One SaaS (ali Connect) iOS.

Če NPS podpira te aplikacije in še niso konfigurirane za HTTP/2.

2

Preselite NPS na FCMv1 za aplikacije UC-One SaaS (ali Connect) za Android.

Če NPS podpira te aplikacije in še niso konfigurirane za FCMv1.

3

Omogočite način FCMv1 in preizkusite potisna obvestila.

Če NPS podpira UC-One Connect in/ali druge (ki niso Ciscove) aplikacije za Android.

4

Znova omogočite stari način FCM.

Če NPS podpira UC-One SaaS. Če pustite FCMv1 omogočen, preden konfigurirate proxy NPS, nato potisna obvestila v UC-One SaaS začnejo odpovedovati.

5

Namestite popravke proxyja za preverjanje pristnosti NPS.

Če je NPS na XSP R22 ali XSP R23.

6

Konfigurirajte NPS za uporabo proxyja za preverjanje pristnosti NPS:

  • Priložite tehnično podporo NPS

  • Zahtevajte račun CI OAuth

  • Ustvarite račun CI na NPS in konfigurirajte časovno omejitev žetona za osvežitev

  • Dodajte ID-je aplikacij za Android

  • Dodajte ID-je aplikacij za iOS

  • Preverite/nastavite URL-je in časovne omejitve povezave

  • Dodajte aplikacije na seznam dovoljenih AS

  • (Znova) omogoči FCMv1

  • Znova zaženite XSP / ADP

  • Preizkusite PN za aplikacije za iOS in Android

Vedno zahtevano.

7

Odstranite ključe starega načina FCM.

Za aplikacije, ki jih NPS uspešno podpira na FCMv1.

Ta naloga je obvezna za potisna obvestila aplikacijam UC-One SaaS in Webex na platformah iOS.

Preden začneš

Če vaš XSP uporablja R22, morate uporabiti ap354313, preden lahko konfigurirate aplikacijo NPS za uporabo HTTP/2 za APNS.

1

Nastavite produkcijski URL in parametre povezave na XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Opomba: Ne nastavite časovne omejitve povezave pod 1000.

2

Dodajte ID-je aplikacij v kontekst aplikacij APNS, pri čemer pazite, da izpustite ključ za preverjanje – nastavite ga na prazno.

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

Za aplikacijo Webex: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Preverite ključe za avtorizacijo z XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Če ključ za avtorizacijo ni prazen za com.broadsoft.uc-one, lahko ga počistite z XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Omogoči HTTP/2:

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

6

Samo za aplikacije UC-One SaaS: Prijavite se v portal preprodajalcev in pojdite na Konfiguracija > BroadWorks > .

7

Pomaknite se navzdol do razdelka Notification Push Server in izberite svojo izdajo (npr Izdaja 22), nato sledite navodilom na portalu.

  • Ta naloga velja za NPS na XSP. Ignorirajte ga, če je vaš NPS na ADP.

  • Ta postopek lahko uporabite za selitev na obvestila FCMv1 za aplikacije UC-One Connect ali UC-One SaaS za Android.

  • FCMv1 morate uporabiti, če želite uporabiti proxy NPS za preverjanje pristnosti potisnih obvestil za UC-One ali aplikacije Webex za Android.

  • Ta naloga pripravi NPS za FCMv1, tako da ga lahko omogočite kot del konfiguracije proxyja za preverjanje pristnosti NPS. Ne omogočite FCMv1, dokler niste pripravljeni konfigurirati proxyja za preverjanje pristnosti NPS, sicer obvestila odjemalcem SaaS ne bodo uspela.

1

Pridobite ID projekta iz konzole Firebase:

  1. Prijavite se na console.firebase.google.com.

  2. Izberite projekt aplikacije UC-One (Connect ali SaaS), odprite nastavitve projekta.

  3. Odprite Splošno in zabeležite ID projekta.

2

Pridobite zasebni ključ storitvenega računa iz Firebase:

  1. Pomaknite se do zavihka Storitveni računi v nastavitvah projekta.

  2. Ustvarite nov storitveni račun in pridobite njegov zasebni ključ.

  3. Ali pa odprite obstoječi storitveni račun in ustvarite nov zasebni ključ zanj.

    Opomba: Račun storitve mora imeti firebaseadmin-sdk dovoljenje.

  4. Prenesite ključ do varne lokacije.

3

Kopirajte ključ v XSP, ki gosti vaš NPS.

4

Dodajte ID projekta in povezani zasebni ključ v kontekst projektov FCM:

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> add project-id path/to/keyfile

5

Dodajte aplikacijo UC-One (Connect ali SaaS) in povezan ID projekta v kontekst aplikacij FCM:

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

6

Preverite konfiguracijo za FCM glede na atribute in priporočene vrednosti, prikazane tukaj. Uporaba set različica ukaza za spreminjanje vrednosti, če je potrebno:

Teči XSP_CLI/Applications/NotificationPushServer/FCM> get

Parameter

Priporočena vrednost

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

  • Ta naloga velja za NPS na ADP. Ignorirajte ga, če je vaš NPS na XSP.

  • Ta postopek lahko uporabite za selitev na obvestila FCMv1 za aplikacije UC-One Connect ali UC-One SaaS za Android.

  • FCMv1 morate uporabiti, če želite uporabiti proxy NPS za preverjanje pristnosti potisnih obvestil za UC-One ali aplikacije Webex za Android.

  • Ta naloga pripravi NPS za FCMv1, tako da ga lahko omogočite kot del konfiguracije proxyja za preverjanje pristnosti NPS. Ne omogočite FCMv1, dokler niste pripravljeni konfigurirati proxyja za preverjanje pristnosti NPS, sicer obvestila odjemalcem SaaS ne bodo uspela.

1

Pridobite ID projekta iz konzole Firebase:

  1. Prijavite se na console.firebase.google.com.

  2. Izberite projekt aplikacije UC-One (Connect ali SaaS), odprite nastavitve projekta.

  3. Odprite Splošno in zabeležite ID projekta.

2

Pridobite zasebni ključ storitvenega računa iz Firebase:

  1. Pomaknite se do zavihka Storitveni računi v nastavitvah projekta.

  2. Ustvarite nov storitveni račun in pridobite njegov zasebni ključ.

  3. Ali pa odprite obstoječi storitveni račun in ustvarite nov zasebni ključ zanj.

    Opomba: Račun storitve mora imeti firebaseadmin-sdk dovoljenje.

  4. Prenesite ključ (.json datoteko) na varno mesto.

3

Uvozite datoteko .json na strežnik ADP /bw/install.

4

Prijavite se v ADP CLI in dodajte ključ projekta in API-ja v kontekst projektov FCM:

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

5

Dodajte ID aplikacije in projekta v kontekst aplikacij FCM:

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

6

Preverite svojo konfiguracijo:

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

To morate storiti samo (kot del selitve), če:

  • Vaš NPS se uporablja za aplikacije UC-One SaaS ali BroadWorks Connect za Android.

  • Preizkusili ste že, da potisna obvestila o klicih v druge aplikacije delujejo z API-jem FCMv1.

FCMv1 začasno onemogočate, ker FCMv1 ključi za te aplikacije mora samo omogočiti med postopkom konfiguracije proxyja za preverjanje pristnosti NPS.

1

Prijavite se v XSP, ki gosti vaš skupni NPS.

2

Pomaknite se do konteksta FCM in onemogočite FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false da se vrnete na uporabo podedovanega ključa API FCM.

1

Ustvarite zahtevo za storitev s svojim stikom za vkrcanje ali s TAC, da zagotovite svoj (Webex Common Identity) račun stranke OAuth. Naslovite svojo zahtevo za storitev Konfiguracija NPS za nastavitev posrednika za preverjanje avtorizacije.

Cisco vam da ID odjemalca OAuth, skrivnost odjemalca in žeton za osvežitev, ki velja 60 dni. Če žeton poteče, preden ga uporabite s svojim NPS, lahko vložite novo zahtevo.
2

Ustvarite račun stranke na 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

Če želite preveriti, ali se vrednosti, ki ste jih vnesli, ujemajo s tem, kar ste dobili, zaženite XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Vnesite URL posrednika NPS in nastavite interval osveževanja žetona (priporočeno 30 minut):

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

(Za obvestila Android) Dodajte ID-je aplikacij Android v kontekst aplikacij FCM na NPS.

Za aplikacijo Webex v sistemu Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Za aplikacijo UC-One v sistemu Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Za obvestila Apple iOS) Dodajte ID aplikacije v kontekst aplikacij APNS, pri tem pazite, da izpustite ključ Auth – nastavite ga na prazno.

Za aplikacijo Webex v sistemu iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Za aplikacijo UC-One v sistemu iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Konfigurirajte naslednje URL-je NPS:

Tabela 2.

Kontekst XSP CLI

Parameter

Vrednost

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

Konfigurirajte naslednje parametre povezave NPS na prikazane priporočene vrednosti:

Tabela 3.

Kontekst XSP CLI

Parameter

Vrednost

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

Preverite, ali aplikacijski strežnik pregleduje ID-je aplikacij, ker boste morda morali dodati aplikacije Webex na seznam dovoljenih:

  1. Teči AS_CLI/System/PushNotification> get in preverite vrednost enforceAllowedApplicationList. Če je true, morate dokončati to podnalogo. V nasprotnem primeru preskočite preostali del podnaloge.

  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

Znova zaženite XSP:

bwrestart
2

Preizkusite obvestila o klicih v sistemu Android tako, da pokličete naročnika BroadWorks v klicajočega odjemalca v sistemu Android. Preverite, ali se v napravi Android prikaže obvestilo o klicu.

Opomba: Če potisna obvestila za Android aplikacijo UC-One začnejo odpovedovati, je možno, da je prišlo do napačne konfiguracije. Če je to vaša situacija, se lahko vrnete na stari FCM na naslednji način:

  1. Onemogoči FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Znova zaženite XSP: bwrestart

  3. Preverite svojo konfiguracijo.

  4. Znova omogočite FCMv1 in znova zaženite XSP.

  5. Ponovite test.

3

Preizkusite obvestila o klicih v iOS tako, da pokličete naročnika BroadWorks v klicajočega odjemalca v sistemu iOS. Preverite, ali se obvestilo o klicu prikaže v napravi iOS.

Opomba: Če potisna obvestila za aplikacijo UC-One iOS začnejo odpovedovati, je možno, da je prišlo do napačne konfiguracije. Če je to vaša situacija, se lahko vrnete na stari binarni vmesnik z set HTTP2Enabled false