W tym artykule opisano, jak skonfigurować udostępniony serwer NPS do korzystania z serwera proxy uwierzytelniania NPS, tak aby można go było również używać do wysyłania powiadomień o połączeniach do aplikacji Webex. Jeśli Twój serwer NPS nie obsługuje innych aplikacji, możesz postępować zgodnie z uproszczoną procedurą opisaną w Przewodniku https://help.webex.com/z9gt5jpo rozwiązaniach Webex dla BroadWorks .

Omówienie serwera proxy serwera NPS

Aby zapewnić zgodność z Webex dla BroadWorks, serwer NPS musi być poprawiony do obsługi funkcji serwera proxy NPS, serwera wypychania dla VoIP w UCaaS.

Ta funkcja implementuje nowy projekt na serwerze powiadomień push w celu usunięcia luki w zabezpieczeniach polegającej na udostępnianiu kluczy prywatnych certyfikatu powiadomień push dostawcom usług dla klientów mobilnych. Zamiast udostępniać dostawcy usług certyfikaty i klucze powiadomień wypychanych, serwer NPS używa nowego interfejsu API w celu uzyskania krótkotrwałego tokenu powiadomienia push z zaplecza UCaaS i używa tego tokenu do uwierzytelniania za pomocą usług APN firmy Apple i Google FCM.

Ta funkcja zwiększa również możliwości serwera powiadomień push do wysyłania powiadomień do urządzeń z systemem Android za pośrednictwem nowego interfejsu API HTTPv1 Google Firebase Cloud Messaging (FCM).

XSP (lub Application Delivery Platform ADP), który hostuje serwer NPS, musi spełniać następujące wymagania:

Minimalne wersje i ograniczenia dotyczące wspólnego zamieszkiwania

  • Serwer NPS musi być aktywowany w dedykowanym serwerze XSP/ADP, a serwer NPS musi być jedyną hostowaną aplikacją na serwerze. Ma to na celu wyeliminowanie zakłóceń w dostarczaniu powiadomień Push.

  • We wdrożeniu powinna znajdować się tylko jedna aplikacja serwera NPS. Jeśli korzystasz z mobilnego UC-One Collaborate/Connect i/lub UC-One SaaS i implementujesz Webex dla BroadWorks, musisz udostępnić ten pojedynczy serwer NPS dla wszystkich aplikacji.

  • Serwer NPS musi być w wersji R22 lub nowszej, XSP lub ADP.

    R22/R23 XSP jest zgodny ze stosem R21, jeśli XSP obsługuje tylko NPS, a AS to R21. Dodatek SP1. Aby uzyskać więcej informacji, zobacz Macierz zgodności BroadWorks.

  • Więcej informacji na temat serwera ADP można znaleźć na stronie https://xchange.broadsoft.com/node/1051580.

Udostępniony serwer NPS

Przed skonfigurowaniem udostępnionego serwera NPS do korzystania z serwera proxy NPS należy zapoznać się z poniższymi uwagami:

  • Jeśli serwer NPS jest używany z innymi aplikacjami (nie tylko z aplikacją Webex): Najpierw skonfiguruj serwer proxy serwera NPS, a następnie zmień serwer NPS z korzystania ze starszego interfejsu API usługi FCM na korzystanie z interfejsu API protokołu HTTP usługi FCM w wersji 1.

  • Po sprawdzeniu, czy powiadomienia działają prawidłowo w przypadku starszych aplikacji z serwerem proxy serwera NPS, usuń klucz interfejsu API FCM dla aplikacji systemu Android i klucz uwierzytelniania usługi APN dla aplikacji systemu iOS.

APNs HTTP/2

  • Jeśli wdrożono jakiekolwiek aplikacje systemu iOS, które nie pochodzą z firmy Cisco/BroadSoft, skonfiguruj te aplikacje do korzystania z protokołu HTTP/2 APNS przed skonfigurowaniem serwera NPS do korzystania z serwera proxy NPS.

  • Serwery XSP/ADP, które już obsługują aplikację Collaborate lub SaaS BroadWorks, muszą zostać zmigrowane do protokołu HTTP/2. Aby uzyskać szczegółowe informacje na temat konfigurowania protokołu HTTP/2, zobacz Obsługa protokołu HTTP/2 do serwera powiadomień wypychanych dla usługi APNS (migracja serwera NPS w celu obsługi tych aplikacji systemu iOS została podsumowana w tym artykule).

Android FCMv1

  • Jeśli wdrożono jakiekolwiek aplikacje systemu Android, które nie pochodzą z firmy Cisco/BroadSoft, skonfiguruj te aplikacje do używania kluczy FCMv1 przed skonfigurowaniem serwera NPS do korzystania z serwera proxy NPS.

  • Jeśli protokół XSP/ADP obsługuje obecnie aplikację Connect lub UC-One SaaS, włącz klucze FCMv1 po skonfigurowaniu serwera proxy NPS. Zalecamy migrację wszystkich dodatkowych aplikacji do kluczy FCMv1, włączenie i przetestowanie, a następnie wyłączenie, dopóki nie będziesz gotowy do ukończenia instrukcji konfiguracji (przepływ migracji jest udokumentowany w tym artykule).

Wizualne podsumowanie migracji do serwera proxy uwierzytelniania serwera NPS
Tabela 1. Podsumowanie zadań związanych z migracją do serwera proxy serwera NPS

Kolejność

Tytuł zadania

Kiedy/dlaczego wymagane jest zadanie?

1

Migracja serwera NPS do protokołu HTTP/2 dla aplikacji UC-One SaaS (lub Connect) systemu iOS.

Jeśli serwer NPS obsługuje te aplikacje i nie są one jeszcze skonfigurowane do obsługi protokołu HTTP/2.

2

Przeprowadź migrację serwera NPS do protokołu FCMv1 dla aplikacji UC-One SaaS (lub Connect) dla systemu Android.

Jeśli serwer NPS obsługuje te aplikacje i nie są one jeszcze skonfigurowane dla protokołu FCMv1.

3

Włącz tryb FCMv1 i przetestuj powiadomienia push.

Jeśli serwer NPS obsługuje UC-One Connect i/lub inne (inne niż Cisco) aplikacje systemu Android.

4

Ponownie włącz starszy tryb FCM.

Jeśli serwer NPS obsługuje usługę UC-One SaaS. Jeśli pozostawisz włączoną wersję FCMv1, przed skonfigurowaniem serwera proxy serwera NPS powiadomienia wypychane do usługi UC-One SaaS zaczną kończyć się niepowodzeniem.

5

Zainstaluj poprawki serwera proxy uwierzytelniania serwera NPS.

Jeśli serwer NPS znajduje się w XSP R22 lub XSP R23.

6

Skonfiguruj serwer NPS do korzystania z serwera proxy uwierzytelniania serwera NPS:

  • Dołączanie pomocy technicznej z serwera NPS

  • Poproś o konto CI OAuth

  • Tworzenie konta ciągłej integracji na serwerze NPS i konfigurowanie limitu czasu tokenu odświeżania

  • Dodawanie identyfikatorów aplikacji na Androida

  • Dodawanie identyfikatorów aplikacji systemu iOS

  • Sprawdź/ustaw adresy URL i limity czasu połączenia

  • Dodawanie aplikacji do listy dozwolonych aplikacji AS

  • (Ponownie)Włącz FCMv1

  • Uruchom ponownie XSP / ADP

  • Testowanie PN dla aplikacji na iOS i Androida

Zawsze wymagane.

7

Usuń klucze trybu starszej wersji FCM.

W przypadku aplikacji, które są pomyślnie obsługiwane przez serwer NPS w programie FCMv1.

To zadanie jest obowiązkowe w przypadku powiadomień push do aplikacji UC-One SaaS i Webex na platformach iOS.

Przed rozpoczęciem

Jeśli w witrynie XSP jest uruchomiona wersja R22, należy zastosować ap354313, aby można było skonfigurować aplikację NPS do używania protokołu HTTP/2 dla usługi APNS.

1

Ustaw produkcyjny adres URL i parametry połączenia pod adresem XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Uwaga: Nie ustawiaj limitu czasu połączenia poniżej 1000.

2

Dodaj identyfikatory aplikacji do kontekstu aplikacji APNS, pamiętając o pominięciu klucza uwierzytelniania — ustaw go na pusty.

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

W przypadku aplikacji Webex: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Sprawdź klucze uwierzytelniania za pomocą XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Jeśli klucz auth nie jest pusty dla com.broadsoft.uc-one, możesz go wyczyścić za pomocą XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Włącz protokół HTTP/2:

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

6

Tylko w przypadku aplikacji UC-One SaaS: Zaloguj się do portalu dla sprzedawców i przejdź do pozycji Konfiguracja > BroadWorks > .

7

Przewiń w dół do sekcji Serwer powiadomień wypychanych i wybierz swoją wersję (np. Wersja 22), a następnie postępuj zgodnie z instrukcjami podanymi w portalu.

  • To zadanie dotyczy serwera NPS w środowisku XSP. Zignoruj go, jeśli Twój serwer NPS jest w ADP.

  • Tej procedury można użyć do migracji do powiadomień FCMv1 dla aplikacji UC-One Connect lub UC-One SaaS dla systemu Android.

  • Musisz użyć FCMv1, jeśli chcesz używać serwera proxy NPS do uwierzytelniania powiadomień push do UC-One lub aplikacji Webex dla systemu Android.

  • To zadanie przygotowuje serwer NPS dla protokołu FCMv1, tak aby można go było włączyć w ramach konfiguracji serwera proxy uwierzytelniania serwera NPS. Nie włączaj protokołu FCMv1, dopóki nie będziesz gotowy do skonfigurowania serwera proxy uwierzytelniania serwera NPS, w przeciwnym razie powiadomienia dla klientów SaaS zakończą się niepowodzeniem.

1

Pobierz identyfikator projektu z konsoli Firebase:

  1. Zaloguj się w console.firebase.google.com.

  2. Wybierz projekt aplikacji UC-One (Connect lub SaaS), otwórz jego ustawienia projektu.

  3. Otwórz kartę Ogólne i zapisz identyfikator projektu.

2

Pobierz klucz prywatny konta usługi z Firebase:

  1. Przejdź do zakładki Konta usług w ustawieniach projektu.

  2. Utwórz nowe konto usługi i uzyskaj jego klucz prywatny.

  3. Możesz też otworzyć istniejące konto usługi i wygenerować dla niego nowy klucz prywatny.

    Uwaga: Konto usługi musi mieć uprawnienie firebaseadmin-sdk .

  4. Pobierz klucz do bezpiecznej lokalizacji.

3

Skopiuj klucz do serwera XSP hostującego serwer NPS.

4

Dodaj identyfikator projektu i skojarzony klucz prywatny do kontekstu projektów FCM:

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

5

Dodaj aplikację UC-One (Connect lub SaaS) i skojarzony identyfikator projektu do kontekstu aplikacji FCM:

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

6

Sprawdź konfigurację FCM pod kątem atrybutów i zalecanych wartości pokazanych tutaj. Użyj set wersja polecenia, aby zmienić wartości w razie potrzeby:

Uruchom XSP_CLI/Applications/NotificationPushServer/FCM> get

Parametr

Zalecana wartość

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

  • To zadanie dotyczy serwera NPS w usłudze ADP. Zignoruj go, jeśli Twój serwer NPS jest w XSP.

  • Tej procedury można użyć do migracji do powiadomień FCMv1 dla aplikacji UC-One Connect lub UC-One SaaS dla systemu Android.

  • Musisz użyć FCMv1, jeśli chcesz używać serwera proxy NPS do uwierzytelniania powiadomień push do UC-One lub aplikacji Webex dla systemu Android.

  • To zadanie przygotowuje serwer NPS dla protokołu FCMv1, tak aby można go było włączyć w ramach konfiguracji serwera proxy uwierzytelniania serwera NPS. Nie włączaj protokołu FCMv1, dopóki nie będziesz gotowy do skonfigurowania serwera proxy uwierzytelniania serwera NPS, w przeciwnym razie powiadomienia dla klientów SaaS zakończą się niepowodzeniem.

1

Pobierz identyfikator projektu z konsoli Firebase:

  1. Zaloguj się w console.firebase.google.com.

  2. Wybierz projekt aplikacji UC-One (Connect lub SaaS), otwórz jego ustawienia projektu.

  3. Otwórz kartę Ogólne i zapisz identyfikator projektu.

2

Pobierz klucz prywatny konta usługi z Firebase:

  1. Przejdź do zakładki Konta usług w ustawieniach projektu.

  2. Utwórz nowe konto usługi i uzyskaj jego klucz prywatny.

  3. Możesz też otworzyć istniejące konto usługi i wygenerować dla niego nowy klucz prywatny.

    Uwaga: Konto usługi musi mieć uprawnienie firebaseadmin-sdk .

  4. Pobierz klucz (plik .json) do bezpiecznej lokalizacji.

3

Zaimportuj plik .json na serwer ADP /bw/install.

4

Zaloguj się do interfejsu wiersza polecenia ADP i dodaj projekt oraz klucz interfejsu API do kontekstu projektów FCM:

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

5

Dodaj identyfikator aplikacji i projektu do kontekstu aplikacji FCM:

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

6

Sprawdź konfigurację:

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

Musisz to zrobić (w ramach migracji) tylko wtedy, gdy:

  • Twój serwer NPS jest używany w aplikacjach UC-One SaaS lub BroadWorks Connect dla systemu Android.

  • Przetestowano już, że powiadomienia push o połączeniach z innymi aplikacjami współpracują z interfejsem API FCMv1.

Tymczasowo wyłączasz protokół FCMv1, ponieważ klucze FCMv1 dla tych aplikacji muszą być włączone tylko podczas procesu konfiguracji serwera proxy uwierzytelniania serwera NPS.

1

Zaloguj się do serwera XSP hostującego udostępniony serwer NPS.

2

Przejdź do kontekstu FCM i wyłącz FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false, aby powrócić do korzystania ze starszego klucza interfejsu API FCM.

1

Utwórz zgłoszenie serwisowe z osobą kontaktową ds. wdrażania lub z TAC, aby aprowizować konto klienta OAuth (Webex Common Identity). Nadaj swojemu żądaniu obsługi tytuł Konfiguracja serwera NPS dla konfiguracjiserwera proxy uwierzytelniania.

Firma Cisco udostępnia identyfikator klienta OAuth, klucz tajny klienta i token odświeżania, który jest ważny przez 60 dni. Jeśli token wygaśnie przed użyciem go z serwerem NPS, możesz zgłosić kolejne żądanie.
2

Utwórz konto klienta na serwerze 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

Aby sprawdzić, czy wprowadzone wartości są zgodne z tym, co otrzymałeś, uruchom polecenie XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Wprowadź adres URL serwera proxy serwera NPS i ustaw interwał odświeżania tokenu (zalecane 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

(Dla powiadomień systemu Android) Dodaj identyfikatory aplikacji systemu Android do kontekstu aplikacji FCM na serwerze NPS.

W przypadku aplikacji Webex na Androida: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

W przypadku aplikacji UC-One na Androida: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Dla powiadomień Apple iOS) Dodaj identyfikator aplikacji do kontekstu aplikacji APNS, pamiętając o pominięciu klucza uwierzytelniania — ustaw go na pusty.

W przypadku aplikacji Webex na iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

W przypadku aplikacji UC-One na iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Skonfiguruj następujące adresy URL serwera NPS:

Kontekst interfejsu wiersza polecenia XSP

Parametr

Wartość

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

Skonfiguruj następujące parametry połączenia serwera NPS zgodnie z zalecanymi wartościami:

Kontekst interfejsu wiersza polecenia XSP

Parametr

Wartość

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

Sprawdź, czy serwer aplikacji filtruje identyfikatory aplikacji, ponieważ może być konieczne dodanie aplikacji Webex do listy dozwolonych:

  1. Uruchom AS_CLI/System/PushNotification> get i sprawdź wartość enforceAllowedApplicationList. Jeśli tak jest true, musisz wykonać to zadanie podrzędne. W przeciwnym razie pomiń pozostałą część zadania podrzędnego.

  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

Uruchom ponownie XSP:

bwrestart
2

Przetestuj powiadomienia o połączeniach z systemem Android, nawiązując połączenia od abonenta BroadWorks do klienta dzwoniącego w systemie Android. Sprawdź, czy na urządzeniu z Androidem pojawia się powiadomienie o połączeniu.

Uwaga: Jeśli powiadomienia push zaczną się kończyć niepowodzeniem dla aplikacji UC-One na Androida, możliwe, że wystąpiła błędna konfiguracja. Jeśli tak jest w Twojej sytuacji, możesz powrócić do starszej wersji FCM w następujący sposób:

  1. Wyłącz FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Uruchom ponownie XSP: bwrestart

  3. Sprawdź konfigurację.

  4. Ponownie włącz FCMv1 i uruchom ponownie XSP.

  5. Powtórz test.

3

Przetestuj powiadomienia o połączeniach z systemem iOS, nawiązując połączenia od subskrybenta BroadWorks do klienta wywołującego w systemie iOS. Sprawdź, czy na urządzeniu z systemem iOS pojawia się powiadomienie o połączeniu.

Uwaga: Jeśli powiadomienia push zaczną kończyć się niepowodzeniem dla aplikacji UC-One dla systemu iOS, możliwe, że wystąpiła błędna konfiguracja. Jeśli tak jest w Twojej sytuacji, możesz powrócić do starszego interfejsu binarnego za pomocą set HTTP2Enabled false