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

Omówienie serwera proxy serwera NPS

Aby zapewnić zgodność z Webex dla BroadWorks, serwer NPS musi zostać załatany w celu obsługi funkcji serwera proxy NPS, Push Server for VoIP w UCaaS.

Ta funkcja implementuje nowy projekt na serwerze wypychania powiadomień, aby rozwiązać lukę w zabezpieczeniach polegającą na udostępnianiu kluczy prywatnych certyfikatu powiadomień wypychanych dostawcom usług dla klientów mobilnych. Zamiast udostępniać certyfikaty i klucze powiadomień wypychanych usługodawcy, serwer NPS używa nowego interfejsu API do uzyskiwania krótkotrwałego tokenu powiadomień wypychanych z zaplecza UCaaS i używa tego tokenu do uwierzytelniania za pomocą usług Apple APNs 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 Google Firebase Cloud Messaging (FCM) HTTPv1.

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

Minimalne wersje i ograniczenia dotyczące wspólnego pobytu

  • Serwer NPS musi być aktywowany na 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 być tylko jedna aplikacja NPS. Jeśli używasz 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ć zainstalowany w wersji R22 lub nowszej XSP albo ADP.

    R22/R23 XSP jest kompatybilny ze stosem R21, jeśli XSP działa tylko na NPS, a AS to R21. Dodatek SP1. Zobacz Macierz zgodności BroadWorks, aby uzyskać więcej informacji.

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

Współdzielony serwer NPS

Przeczytaj te uwagi przed skonfigurowaniem udostępnionego serwera NPS do korzystania z serwera proxy SERWERA PROXY:

  • Jeśli serwer NPS jest używany z innymi aplikacjami (nie tylko z aplikacją Webex): Najpierw skonfiguruj serwer proxy SERWERA PROXY SERWERA NPS, a następnie zmień serwer NPS z używania starszego interfejsu API FCM na korzystanie z interfejsu API FCM HTTP v1.

  • Po sprawdzeniu, czy powiadomienia działają poprawnie dla starszych aplikacji z serwerem proxy NPS, usuń klucz interfejsu API FCM dla aplikacji na Androida i klucz uwierzytelniania APN dla aplikacji na iOS.

APNs HTTP/2

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

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

Android FCMv1

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

  • Jeśli 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ędzie gotowe do wykonania 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 zadanie jest wymagane?

1

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

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

2

Przeprowadź migrację serwera NPS do FCMv1 dla aplikacji UC-One SaaS (lub Connect) na Androida.

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

3

Włącz tryb FCMv1 i testuj powiadomienia push.

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

4

Ponownie włącz starszy tryb FCM.

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

5

Zainstaluj poprawki serwera proxy uwierzytelniania serwera NPS.

Jeśli serwer NPS jest włączony na XSP R22 lub XSP R23.

6

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

  • Dołącz wsparcie techniczne 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 na iOS

  • Sprawdzanie/ustawianie adresów URL i limitów czasu połączenia

  • Dodawanie aplikacji do listy dozwolonych jako

  • (Ponownie-) Włącz FCMv1

  • Uruchom ponownie XSP / ADP

  • Testowanie pn dla aplikacji na iOS i Androida

Zawsze wymagane.

7

Usuń starsze trybu FCM.

W przypadku aplikacji, które są pomyślnie obsługiwane przez serwer NPS w 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 na komputerze XSP jest uruchomiony program R22, przed skonfigurowaniem aplikacji NPS do korzystania z protokołu HTTP/2 dla usługi APNS należy zastosować ap354313.

1

Ustaw adres URL produkcji i parametry połączenia w XSP_CLI/Applications/NotificationPushServer/APNS/Production>

ustaw adres URL https://api.push.apple.com/3/device

ustaw connectionPoolSize 2

ustaw connectionTimeout 3000

ustaw connectionIdleTimeoutInSeconds 600

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

2

Dodaj identyfikatory aplikacji do kontekstu aplikacji APNS, pomijając klucz uwierzytelniania — ustaw go na pusty.

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

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

3

Sprawdź klucze uwierzytelniania przy użyciu 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 HTTP/2:

XSP_CLI/Applications/NotificationPushServer/APNS/GeneralSettings> ustaw wartość true HTTP2Enable

6

Tylko dla aplikacji UC-One SaaS: Zaloguj się do portalu resellera i przejdź do Konfiguracja > BroadWorks > .

7

Przewiń w dół do sekcji Serwer wypychania powiadomień i wybierz wydanie (np. Wydanie 22), a następnie postępuj zgodnie z instrukcjami podanymi w portalu.

  • To zadanie dotyczy serwera NPS na serwerze XSP. Zignoruj go, jeśli serwer NPS jest włączony przy użyciu protokołu ADP.

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

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

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

1

Uzyskaj identyfikator projektu z konsoli Firebase:

  1. Zaloguj się do 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

Uzyskaj klucz prywatny konta usługi z Firebase:

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

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

  3. Lub otwórz istniejące konto usługi i wygeneruj dla niego nowy klucz prywatny.

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

  4. Pobierz klucz do bezpiecznej lokalizacji.

3

Skopiuj klucz do XSP hostującego serwer NPS.

4

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

XSP_CLI/Applications/NotificationPushServer/FCM/Projects> dodaj ścieżkę identyfikatora projektu/do/keyfile

5

Dodaj aplikację UC-One (Connect lub SaaS) i powiązany 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 wersji set polecenia, aby zmienić wartości, jeśli to konieczne:

Uruchom interfejs XSP_CLI/Applications/NotificationPushServer/FCM> get

Parametr

Zalecana wartość

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects/IDENTYFIKATOR PROJEKTU/wiadomości:wyślij

zakres

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

tokenTimeToLiveInSeconds (Czas tokenTimeToLiveInSeconds)

3600

Łączność w rozmiarze

10

connectionTimeoutInMilliseconds

3000

ConnectionIdleTimeoutInSeconds

600

  • To zadanie dotyczy serwera NPS w ADP. Zignoruj go, jeśli serwer NPS jest włączony na XSP.

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

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

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

1

Uzyskaj identyfikator projektu z konsoli Firebase:

  1. Zaloguj się do 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

Uzyskaj klucz prywatny konta usługi z Firebase:

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

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

  3. Lub otwórz istniejące konto usługi i wygeneruj 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 klucz projektu i API do kontekstu projektów FCM:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects> add connect-ucaas /bw/install/nazwapliku.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 =================================== com.broadsoft.ucaas.connect connect-ucaas

Musisz to zrobić tylko (w ramach migracji), jeśli:

  • Twój NPS jest używany dla aplikacji UC-One SaaS lub BroadWorks Connect Android.

  • Przetestowano już, że powiadomienia wypychane o połączeniach do innych aplikacji działają z interfejsem API FCMv1.

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

1

Zaloguj się do XSP hostującego twój 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 używania klucza starszego interfejsu API FCM.

1

Utwórz zgłoszenie serwisowe z kontaktem onboardingowym lub TAC, aby udostępnić swoje konto klienta OAuth (Webex Common Identity). Nadaj nazwę konfiguracji serwera NPS żądania usługi dla Auth Proxy Setup.

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> ustaw clientId client-Id-From-Step1

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> ustaw clientSecret Nowe hasło: klient-Secret-From-Step1

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> ustaw nowe hasło RefreshToken : Odśwież-Token-From-Step1

Aby sprawdzić, czy wprowadzone wartości odpowiadają podanemu wartościom, uruchom 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/Aplikacje/NotificationPushServer/CloudNPSService> ustaw adres URL https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> ustaw VOIPTokenRefreshInterval 1800

4

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

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

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

5

(W przypadku powiadomień Apple iOS) Dodaj identyfikator aplikacji do kontekstu aplikacji APNS, pomijając klucz Auth – ustaw go na pusty.

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

Dla 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ść

Interfejs wiersza polecenia XSP_/aplikacje/NotificationPushServer/FCM>

authURL

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

pushURL

https://fcm.googleapis.com/v1/projects//messages:send

zakres

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

XSP_CLI/Aplikacje/NotificationPushServer/APNS/Production>

adres url

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

7

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

Kontekst interfejsu wiersza polecenia XSP

Parametr

Wartość

Interfejs wiersza polecenia XSP_/aplikacje/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds (Czas tokenTimeToLiveInSeconds)

3600

Łączność w rozmiarze

10

connectionTimeoutInMilliseconds

3000

ConnectionIdleTimeoutInSeconds

600

XSP_CLI/Aplikacje/NotificationPushServer/APNS/Production>

connectionTimeout

3000

Łączność w rozmiarze

2

ConnectionIdleTimeoutInSeconds

600

8

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

  1. Uruchom AS_CLI/System/PushNotification> pobierz i sprawdź wartość enforceAllowedApplicationList. Jeśli jest to prawda, musisz wykonać to zadanie podrzędne. W przeciwnym razie pomiń resztę zadania podrzędnego.

  2. AS_CLI/System/PushNotification/AllowedApplications> dodaj com.cisco.wx2.android „Webex Android”

  3. AS_CLI/System/PushNotification/AllowedApplications> dodaj com.cisco.squared „Webex iOS”

1

Uruchom ponownie XSP:

bwrestart
2

Przetestuj powiadomienia o połączeniach z Androidem, wykonując połączenia od subskrybenta BroadWorks do klienta wywołującego na Androidzie. Sprawdź, czy powiadomienie o połączeniu pojawia się na urządzeniu z Androidem.

Uwaga: Jeśli powiadomienia push zaczną kończyć się niepowodzeniem dla aplikacji UC-One na Androida, możliwe jest, że nastąpiła błędna konfiguracja. Jeśli tak jest w Twojej sytuacji, możesz powrócić do starszego 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, wykonując połączenia od subskrybenta BroadWorks do klienta wywołującego w systemie iOS. Sprawdź, czy powiadomienie o połączeniu jest wyświetlane na urządzeniu z systemem iOS.

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