Přehled ověřovacího proxy serveru NPS


Tento článek se věnuje konfiguraci sdíleného serveru NPS jako ověřovacího proxy serveru NPS, aby mohl mimo jiné nabízet oznámení hovorů aplikacím Webex. Pokud server NPS nepodporuje jiné aplikace, můžete použít zjednodušený postup popsaný v Průvodci řešením Webex pro BroadWorks https://help.webex.com/z9gt5j.

Přehled proxy serveru NPS

Jestliže má aplikace Webex fungovat s BroadWorks, na server NPS je třeba použít opravu, aby podporoval funkci proxy serveru NPS, viz Server nabízených oznámení pro VoIP v aplikaci UCaaS.

Tato funkce implementuje na server nabízených oznámení nový kód, který řeší nedostatečné zabezpečení při sdílení soukromých klíčů certifikátů nabízených oznámení s poskytovateli služeb pro mobilní klienty. Namísto sdílení certifikátů a klíčů nabízených oznámení s poskytovatelem služeb použije server NPS nové rozhraní API, s jehož pomocí získá krátkodobý token nabízeného oznámení z backendu UCaaS a tento token použije k ověření prostřednictvím služeb Apple APNs a Google FCM.

Tato funkce rovněž vylepšuje možnosti serveru ohledně nabízení oznámení zařízením Android prostřednictvím nového rozhraní HTTPv1 API pro Google Firebase Cloud Messaging (FCM).

Opravy platformy BroadWorks, které zavádějí tuto funkci, jsou dostupné na portálu Xchange: https://xchange.broadsoft.com/node/1046235

Další informace naleznete v popisu funkce serveru nabízených oznámení pro VoIP v aplikaci UCaaS v portálu Xchange: https://xchange.broadsoft.com/node/1045458

Platforma XSP (nebo platforma pro doručení aplikace ADP), která hostuje server NPS, musí splňovat následující požadavky:

Minimální verze a omezení spolurezidence

  • Server NPS musí být aktivován na vyhrazené platformě XSP/ADP a musí být jedinou hostovanou aplikací na serveru. Díky tomu nebude docházet ke konfliktům při doručování nabízených oznámení.

  • Může být nasazena pouze jedna aplikace NPS. Pokud používáte mobilní aplikaci UC-One Collaborate/Connect nebo UC-One SaaS a chcete implementovat aplikaci Webex pro BroadWorks, musíte tuto aplikaci NPS sdílet se všemi aplikacemi.

  • Server NPS musí běžet na platformě XSP nebo ADP verze R22 nebo novější.

    XSP verze R22/R23 je kompatibilní se zásobníkem R21, pokud na XSP běží pouze server NPS a AS je ve verzi R21.SP1. Další informace naleznete v části Matice kompatibility BroadWorks.

  • Další informace o serveru ADP naleznete na adrese https://xchange.broadsoft.com/node/1051580.

Sdílený server NPS

Před konfigurací sdíleného serveru NPS na proxy server si přečtěte následující poznámky:

  • Pokud používáte server NPS s jinými aplikacemi, než je aplikace Webex: před konfigurací proxy serveru NPS neměňte použití staršího rozhraní FCM API serverem NPS na rozhraní FCM HTTP v1 API.

    Server NPS můžete změnit na proxy server NPS během jeho konfigurace.

  • Jakmile ověříte, že oznámení správně fungují se staršími aplikacemi a proxy serverem NPS, pro aplikaci Android můžete odebrat klíč rozhraní FCM API a pro aplikaci iOS můžete odebrat ověřovací klíč APNs.

APNs HTTP/2

  • Pokud máte nasazeny některé aplikace iOS, které nejsou od společnosti Cisco/BroadSoft, před konfigurací proxy serveru NPS je nakonfigurujte tak, aby používaly protokol HTTP/2 APNS.

  • Platformy XSP/ADP, které již podporují aplikaci Collaborate nebo SaaS Boradworks, je třeba migrovat do protokolu HTTP/2. Podrobné informace o konfiguraci protokolu HTTP/2 naleznete v tématu Podpora protokolu HTTP/2 na serveru nabízených oznámení pro APNS (migrace serveru NPS kvůli podpoře těchto aplikací iOS je shrnuta v tomto článku).

Android FCMv1

  • Pokud máte nasazeny některé aplikace Android, které nejsou od společnosti Cisco/BroadSoft, před konfigurací proxy serveru NPS je nakonfigurujte tak, aby používaly klíče FCMv1.

  • Pokud platforma XSP/ADP aktuálně podporuje aplikaci Connect nebo UC-One SaaS, před konfigurací proxy serveru NPS nelze povolit klíče FCMv1. Všechny dodatečné aplikace doporučujeme migrovat do klíčů FCMv1, pak je povolit, otestovat a zakázat, dokud nezačnete s pokyny pro nastavení (tok migrace je zdokumentován v tomto článku).

Obrázek 1. Vizuální souhrn migrace ověřovacího proxy serveru NPS
Tabulka 1. Souhrn úloh migrace na proxy server NPS

Pořadí

Název úlohy

Kdy je úloha požadována?

1

Migrace serveru NPS na HTTP/2 pro aplikace UC-One SaaS nebo Connect pro iOS.

Když server NPS tyto aplikace podporuje, ale zatím nejsou konfigurovány pro HTTP/2.

2

Migrace serveru NPS na FCMv1 pro aplikace UC-One SaaS nebo Connect pro Android.

Když server NPS tyto aplikace podporuje, ale zatím nejsou konfigurovány pro FCMv1.

3

Povolení režimu FCMv1 a testování nabízených oznámení.

Když server NPS podporuje aplikaci UC-One Connect nebo jiné aplikace pro Android, které nejsou od společnosti Cisco.

4

Opětovné povolení staršího režimu FCM.

Když server NPS podporuje aplikaci UC-One SaaS. Jestliže před nastavením proxy serveru NPS ponecháte povolen režim FCMv1, nabízená oznámení pro aplikaci UC-One SaaS selžou.

5

Instalace oprav ověřovacího proxy serveru NPS.

Když server NPS běží na XSP verze R22 nebo R23.

6

Konfigurace serveru NPS pro použití ověřovacího proxy serveru NPS:

  • Připojte technickou podporu ze serveru NPS

  • Požádejte o účet CI OAuth

  • Na serveru NPS vytvořte účet CI a nakonfigurujte časový limit obnovovacího tokenu

  • Přidejte ID aplikací Android

  • Přidejte ID aplikací iOS

  • Zkontrolujte/nastavte adresy URL a časové limity připojení

  • Přidejte aplikace do seznamu povolených AS

  • (Opětovně) povolte FCMv1

  • Restartujte XSP/ADP

  • Otestujte PN pro aplikace iOS a Android

Vždy povinné.

7

Odebrání klíčů staršího režimu FCM.

Pro aplikace, které jsou úspěšně podporovány serverem NPS na FCMv1.

Tato úloha je potřeba pro nabízení oznámení aplikacím UC-One SaaS a Webex na platformách iOS.

Než začnete

Pokud na XSP běží R22, před konfigurací aplikace NPS pro použití HTTP/2 pro APNS musíte použít opravu ap354313.

1

Nastavte provozní adresu URL a parametry připojení v XSP_CLI/Applications/notificationpushserver/APNs/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Poznámka: Časový limit připojení nesmí menší než 1000.

2

Do kontextu aplikací APNS přidejte ID aplikace a vynechejte ověřovací klíč – nastavte jej jako prázdný.

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

Pro aplikaci Webex: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Zkontrolujte ověřovací klíče pomocí XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Pokud není ověřovací klíč prázdný pro com.broadsoft.uc-one, můžete jej vymazat příkazem XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear ověřovací-klíč

5

Povolení HTTP/2:

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

6

Pouze pro aplikace UC-One SaaS: Přihlaste se k portálu prodejce a přejděte na Konfigurace > BroadWorks > .

7

Přejděte k sekci Server nabízených oznámení, vyberte verzi (například Release 22) a postupujte podle pokynů na portálu.

  • Tato úloha platí pro server NPS na XSP. Ignorujte ji, pokud je server NPS běží na ADP.

  • Tímto postupem můžete migrovat aplikace UC-One Connect nebo UC-One SaaS do oznámení FCMv1.

  • Pokud chcete proxy server NPS používat k ověřování oznámení nabízených aplikacím UC-One nebo Webex pro Android, musíte použít FCMv1.

  • Tato úloha připraví server NPS pro službu FCMv1, takže ji budete moci povolit jako součást konfigurace proxy serveru NPS. Dokud nejste připraveni konfigurovat ověřovací proxy server NPS, nezapínejte FCMv1, jinak selžou oznámení do klientů SaaS.

1

Získání ID projektu z konzoly Firebase:

  1. Přihlaste se k console.firebase.google.com.

  2. Zvolte projekt aplikace UC-One (Connect nebo SaaS) a otevřete jeho nastavení.

  3. Otevřete kartu General (Obecné) a poznamenejte si ID projektu.

2

Získání soukromého klíče účtu služby z konzoly Firebase:

  1. V nastavení projektu přejděte na kartu Service Accounts (Účty služby).

  2. Vytvořte nový účet služby a získejte jeho soukromý klíč.

  3. Případně otevřete existující účet služby a vygenerujte pro něj nový soukromý klíč.

    Poznámka: Účet služby musí mít oprávnění firebaseadmin-sdk.

  4. Stáhněte klíč do zabezpečeného umístění.

3

Zkopírujte klíč do platformy XSP hostující server NPS.

4

Do kontextu projektů FCM přidejte ID projektu a přidružený soukromý klíč:

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> add ID-projektu cesta/k/souboru/klíče

5

Do kontextu aplikací FCM přidejte aplikaci UC-One (Connect nebo SaaS) a přidružené ID projektu:

XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect projectId ID-projektu

6

Zkontrolujte konfiguraci FCM podle níže uvedených atributů a doporučených hodnot. V případě potřeby změňte hodnoty příkazem set:

Spusťte XSP_CLI/Applications/NotificationPushServer/FCM> get

Parametr

Doporučená hodnota

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects/ID-projektu/messages:send

scope

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

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • Tato úloha platí pro server NPS na ADP. Ignorujte ji, pokud server NPS běží na XSP.

  • Tímto postupem můžete migrovat aplikace UC-One Connect nebo UC-One SaaS do oznámení FCMv1.

  • Pokud chcete proxy server NPS používat k ověřování oznámení nabízených aplikacím UC-One nebo Webex pro Android, musíte použít FCMv1.

  • Tato úloha připraví server NPS pro službu FCMv1, takže ji budete moci povolit jako součást konfigurace proxy serveru NPS. Dokud nejste připraveni konfigurovat ověřovací proxy server NPS, nezapínejte FCMv1, jinak selžou oznámení do klientů SaaS.

1

Získání ID projektu z konzoly Firebase:

  1. Přihlaste se k console.firebase.google.com.

  2. Zvolte projekt aplikace UC-One (Connect nebo SaaS) a otevřete jeho nastavení.

  3. Otevřete kartu General (Obecné) a poznamenejte si ID projektu.

2

Získání soukromého klíče účtu služby z konzoly Firebase:

  1. V nastavení projektu přejděte na kartu Service Accounts (Účty služby).

  2. Vytvořte nový účet služby a získejte jeho soukromý klíč.

  3. Případně otevřete existující účet služby a vygenerujte pro něj nový soukromý klíč.

    Poznámka: Účet služby musí mít oprávnění firebaseadmin-sdk.

  4. Stáhněte klíč (soubor .json) do zabezpečeného umístění.

3

Importujte soubor .json na server ADP /bw/install.

4

Přihlaste se k příkazovému řádku ADP a do kontextu projektů FCM přidejte projekt a klíč rozhraní API:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add connect-ucaas /bw/install/název-souboru.json

5

Do kontextu aplikací FCM přidejte aplikaci a ID projektu:

ADP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.ucaas.connect projectId ID-projektu

6

Ověřte konfiguraci:

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

Tuto akci musíte (v rámci migrace) provést, pouze pokud:

  • Aplikace UC-One SaaS nebo BroadWorks Connect pro Android používají server NPS.

  • Otestovali jste, že oznámení hovorů nabízená ostatním aplikacím fungují s rozhraním FCMv1 API.

Musíte dočasně zakázat FCMv1, protože klíče FCMv1 pro tyto aplikace musí být povoleny pouze během procesu konfigurace ověřovacího proxy serveru NPS.

1

Přihlaste se k platformě XSP hostující sdílený server NPS.

2

Přejděte do kontextu FCM a zakažte FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false, čímž se vrátíte k použití klíče staršího rozhraní FCM API.

Nainstalujte následující opravy podporující funkci ověřovacího proxy serveru NPS:

Opravy R22

Opravy R23

1

Vytvořte žádost o služby pro svůj kontakt pro nábor nebo TAC a zřiďte účet klienta OAuth (Webex Common Identity). Žádost o služby pojmenujte Konfigurace serveru NPS pro nastavení ověřovacího proxy serveru.

Cisco vám poskytne ID klienta OAuth, tajný klíč klienta a obnovovací token, který je platný po 60 dní. Pokud obnovovací token vyprší před jeho použitím na serveru NPS, můžete vznést další žádost.
2

Na serveru NPS vytvořte účet klienta:

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> set clientId ID-klienta-z-kroku-1

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

Shodu zadaných hodnot s poskytnutými hodnotami ověříte příkazem XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Zadejte adresu URL proxy serveru NPS a nastavte interval obnovovacího tokenu (doporuč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

(Pro oznámení Android) Do kontextu aplikací na serveru NPS přidejte ID aplikace Android.

Pro aplikaci Webex pro Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.cisco.wx2.android

Pro aplikaci UC-One pro Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add applicationId com.broadsoft.connect

5

(Pro oznámení v systému Apple iOS) Do kontextu aplikací APNS přidejte ID aplikace a vynechejte ověřovací klíč – nastavte jej jako prázdný.

Pro aplikaci Webex v iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Pro aplikaci UC-One v iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Nakonfigurujte následující adresy URL serveru NPS:

Tabulka 2.

Kontext příkazového řádku XSP

Parametr

Hodnota

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

Následující parametry připojení serveru NPS nakonfigurujte na níže uvedené doporučené hodnoty:

Tabulka 3.

Kontext příkazového řádku XSP

Parametr

Hodnota

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

Zkontrolujte, zda aplikační server monitoruje ID aplikace, protože možná budete muset aplikaci Webex přidat do seznamu povolených aplikací:

  1. Spusťte AS_CLI/System/PushNotification> get a zkontrolujte hodnotu enforceAllowedApplicationList. Pokud má hodnotu true, musíte provést tuto dílčí úlohu. V opačném případě přeskočte zbytek dílčí úlohy.

  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

Restartujte XSP:

bwrestart
2

Otestujte oznámení hovorů pro Android zavoláním od odběratele BroadWorks do volacího klienta v systému Android. Ověřte, zda zařízení Android zobrazilo oznámení o hovoru.

Poznámka: Pokud se v aplikaci UC-One pro Android nezobrazují nabízená oznámení, možná došlo k chybě konfigurace. Pokud je to váš případ, následujícícm způsobem se vrátíte ke starší verzi FCM:

  1. Zakažte FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Restartujte XSP: bwrestart

  3. Zkontrolujte konfiguraci.

  4. Znovu povolte FCMv1 a restartujte XSP.

  5. Opakujte test.

3

Otestujte oznámení hovorů pro iOS zavoláním od předplatitele BroadWorks do volacího klienta v systému iOS. Ověřte, zda zařízení iOS zobrazilo oznámení o hovoru.

Poznámka: Pokud se v aplikaci UC-One pro iOS nezobrazují nabízená oznámení, možná došlo k chybě konfigurace. Pokud je to váš případ, můžete se vrátit ke staršímu binárnímu rozhraní příkazem set HTTP2Enabled false