Общ преглед на NPS прокси за удостоверяване


Тази статия описва как да конфигурирате споделен NPS да използва прокси за удостоверяване на NPS, така че да може да се използва и за изпращане на известия за обаждания към приложенията на Webex . Ако вашият NPS не поддържа други приложения, можете да следвате опростената процедура в Ръководството за решение за Webex за BroadWorkshttps://help.webex.com/z9gt5j .

Общ преглед на NPS прокси

За съвместимост с Webex for BroadWorks, вашият NPS трябва да бъде пачкан, за да поддържа функцията NPS Proxy, Push сървър за VoIP в UCaaS .

Функцията внедрява нов дизайн в Notification Push Server, за да разреши уязвимостта на сигурността при споделяне на частни ключове на сертификат за push известия с доставчици на услуги за мобилни клиенти. Вместо да споделя сертификати и ключове за насочени известия с доставчик на услуги, NPS използва нов API за получаване на краткотраен маркер за насочено известие от бекенда на UCaaS и използва този токен за удостоверяване с Apple APN и услугите на Google FCM.

Функцията също така подобрява способността на Notification Push Server да изпраща известия към устройства с Android чрез новия API на Google Firebase Cloud съобщения (FCM) HTTPv1.

XSP (или ADP на платформата за доставка на приложения), който хоства NPS, трябва да отговаря на следните изисквания:

Минимални версии и ограничения за съвместно пребиваване

  • NPS трябва да бъде активиран на специален XSP/ADP и NPS трябва да бъде единственото хоствано приложение на сървъра. Това е с цел премахване на смущенията при доставката на Push известия.

  • Трябва да има само едно NPS приложение в разгръщане. Ако използвате мобилен UC-One Collaborate/Connect и/или UC-One SaaS и внедрявате Webex за BroadWorks, трябва да споделите този единичен NPS за всички приложения.

  • NPS трябва да е на версия R22 или по-нова XSP или ADP.

    R22/R23 XSP е съвместим със стек R21, ако XSP само изпълнява NPS и AS е R21.SP1. Вижте Матрица за Матрица на съвместимостта на BroadWorks за повече информация.

  • Повече информация за ADP сървъра можете да намерите на адресhttps://xchange.broadsoft.com/node/1051580 .

Споделен NPS

Прочетете тези бележки, преди да конфигурирате вашия споделен NPS да използва NPS прокси:

  • Ако вашият NPS се използва с други приложения (не само с Webex приложение): Първо конфигурирайте NPS прокси, след това променете NPS от използване на наследения API на FCM на използване на FCM HTTP v1 API.

  • След като сте потвърдили, че известията работят правилно за по-стари приложения с NPS прокси, след това премахнете FCM API ключа за приложението за Android и ключа за удостоверяване на APN за приложението за iOS.

APN HTTP/2

  • Ако сте внедрили приложения за iOS, които не са от Cisco/BroadSoft, конфигурирайте тези приложения да използват HTTP/2 APNS протокола, преди да конфигурирате NPS да използва NPS прокси.

  • XSP/ADP, които вече поддържат приложението Collaborate или SaaS BroadWorks, трябва да бъдат мигрирани към HTTP/2. За подробна информация относно конфигурирането на HTTP/2 вж HTTP/2 Поддръжка на известия Push сървър за APNS (миграцията на NPS за поддръжка на тези iOS приложения е обобщена в тази статия).

Android FCMv1

  • Ако сте внедрили приложения за Android , които не са от Cisco/BroadSoft, конфигурирайте тези приложения да използват ключовете FCMv1, преди да конфигурирате NPS да използва NPS прокси.

  • Ако XSP/ADP в момента поддържа приложението Connect или UC-One SaaS, тогава активирайте ключовете FCMv1 след конфигурирате NPS прокси. Препоръчваме ви да мигрирате всички допълнителни приложения към ключове FCMv1, да активирате и тествате, след което да деактивирате, докато не сте готови да завършите инструкциите за настройка (потокът на миграция е документиран в тази статия).

Фигура 1. Визуално обобщение на миграцията към NPS прокси за удостоверяване
Таблица 1. Резюме на задачите за мигриране към NPS прокси

Последователност

Заглавие на задачата

Кога/Защо е необходима задача?

1

Мигрирайте NPS към HTTP/2 за UC-One SaaS (или Connect) приложения за iOS.

Ако NPS поддържа тези приложения и те все още не са конфигурирани за HTTP/2.

2

Мигрирайте NPS към FCMv1 за UC-One SaaS (или Connect) приложения за Android .

Ако NPS поддържа тези приложения и те все още не са конфигурирани за FCMv1.

3

Активирайте режима FCMv1 и тествайте насочени известия.

Ако NPS поддържа UC-One Connect и/или други (не на Cisco) приложения за Android .

4

Активирайте отново наследения режим на FCM.

Ако NPS поддържа UC-One SaaS. Ако оставите FCMv1 активиран, преди да конфигурирате NPS прокси сървъра, тогава натискането на известия към UC-One SaaS започва да се проваля.

5

Инсталирайте прокси пачове за удостоверяване на NPS.

Ако NPS е на XSP R22 или XSP R23.

6

Конфигурирайте NPS да използва прокси за удостоверяване на NPS:

  • Прикачете техническа поддръжка от NPS

  • Заявете CI OAuth акаунт

  • Създайте CI акаунт на NPS и конфигурирайте времето за изчакване на токена за опресняване

  • Добавете идентификатори на приложения за Android

  • Добавете идентификатори на приложения за iOS

  • Проверете/задайте URL адреси и изчакване на връзката

  • Добавете приложения към списъка за разрешени AS

  • (Повторно) Активиране на FCMv1

  • Рестартирайте XSP / ADP

  • Тествайте PN за приложения за iOS и Android

Винаги се изисква.

7

Премахнете клавишите за наследен режим на FCM.

За приложения, които се поддържат успешно от NPS на FCMv1.

Тази задача е задължителна за push известия към UC-One SaaS и Webex приложения на iOS платформи.

Преди да започнете

Ако вашият XSP работи с R22, трябва да приложите ap354313, преди да можете да конфигурирате NPS приложението да използва HTTP/2 за APNS.

1

Задайте производствения URL и параметрите на връзката на XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Забележка: Не настройвайте времето за изчакване на връзката под 1000.

2

Добавете идентификаторите на приложения към контекста на APNS приложенията, като се уверите, че сте пропуснали ключа Auth – задайте го на празен.

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

За Webex приложение: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Проверете ключовете за удостоверяване с XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Ако ключът за удостоверяване не е празен за com.broadsoft.uc-one, можете да го изчистите с XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Активиране на HTTP/2:

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

6

Само за UC-One SaaS приложения: Влезте в портала за дистрибутори и отидете на Конфигурация > BroadWorks > .

7

Превъртете надолу до раздела Notification Push Server и изберете вашето издание (напр Издание 22 ), след това следвайте инструкциите, предоставени в портала.

  • Тази задача се отнася за NPS на XSP. Игнорирайте го, ако вашият NPS е на ADP.

  • Можете да използвате тази процедура за мигриране към FCMv1 известия за UC-One Connect или UC-One SaaS приложения за Android .

  • Трябва да използвате FCMv1, ако искате да използвате NPS прокси за удостоверяване на насочени известия към UC-One или приложенията за Android Webex .

  • Тази задача подготвя NPS за FCMv1, така че да можете да го активирате като част от конфигурацията на NPS прокси за удостоверяване. Не активирайте FCMv1, докато не сте готови да конфигурирате прокси за удостоверяване на NPS, в противен случай уведомленията до клиентите на SaaS ще не успеят.

1

Вземете ИД на проекта от конзолата на Firebase:

  1. Влезте в console.firebase.google.com.

  2. Изберете проекта на приложението UC-One (Connect или SaaS), отворете настройките на неговия проект.

  3. Отворете генерал раздел и запишете ИД на проекта.

2

Вземете частния ключ на вашия акаунт за услуги от Firebase:

  1. Придвижете се до раздела Сервизни акаунти в настройките на проекта.

  2. Или създайте нов акаунт на услуга и вземете неговия частен ключ.

  3. Или отворете съществуващ акаунт на услуга и генерирайте нов частен ключ за него.

    Забележка: акаунт на услуга трябва да има firebaseadmin-sdk разрешение.

  4. Изтеглете ключа на сигурно място.

3

Копирайте ключа към XSP, който хоства вашия NPS.

4

Добавете ИД на проекта и свързания частен ключ към контекста на FCM проекти:

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

5

Добавете приложението UC-One (Connect или SaaS) и ИД на асоциирания проект към контекста на FCM приложения:

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

6

Проверете конфигурацията за FCM спрямо атрибутите и препоръчителните стойности, показани тук. Използване set версия на командата за промяна на стойности, ако е необходимо:

Изпълнете XSP_CLI/Applications/NotificationPushServer/FCM> get

Параметър

Препоръчителна стойност

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

  • Тази задача се отнася за NPS на ADP. Игнорирайте го, ако вашият NPS е на XSP.

  • Можете да използвате тази процедура за мигриране към FCMv1 известия за UC-One Connect или UC-One SaaS приложения за Android .

  • Трябва да използвате FCMv1, ако искате да използвате NPS прокси за удостоверяване на насочени известия към UC-One или приложенията за Android Webex .

  • Тази задача подготвя NPS за FCMv1, така че да можете да го активирате като част от конфигурацията на NPS прокси за удостоверяване. Не активирайте FCMv1, докато не сте готови да конфигурирате прокси за удостоверяване на NPS, в противен случай уведомленията до клиентите на SaaS ще не успеят.

1

Вземете ИД на проекта от конзолата на Firebase:

  1. Влезте в console.firebase.google.com.

  2. Изберете проекта на приложението UC-One (Connect или SaaS), отворете настройките на неговия проект.

  3. Отворете генерал раздел и запишете ИД на проекта.

2

Вземете частния ключ на вашия акаунт за услуги от Firebase:

  1. Придвижете се до раздела Сервизни акаунти в настройките на проекта.

  2. Или създайте нов акаунт на услуга и вземете неговия частен ключ.

  3. Или отворете съществуващ акаунт на услуга и генерирайте нов частен ключ за него.

    Забележка: акаунт на услуга трябва да има firebaseadmin-sdk разрешение.

  4. Изтеглете ключа (.json файл) на сигурно място.

3

Импортирайте .json файла в ADP сървъра /bw/install.

4

Влезте в ADP CLI и добавете проекта и ключа за API към контекста на FCM проекти:

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

5

Добавете ИД на приложението и проекта към контекста на FCM приложенията:

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

6

Проверете конфигурацията си:

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

Трябва да направите това (като част от миграцията), ако:

  • Вашият NPS се използва за UC-One SaaS или BroadWorks Connect приложения за Android .

  • Вече тествахте, че насочените известия за обаждания към други приложения работят с FCMv1 API.

Временно деактивирате FCMv1, защото FCMv1 ключове за тези приложения трябва само да бъде активиран по време на процеса на конфигуриране на прокси за удостоверяване на NPS.

1

Влезте в XSP, който хоства вашия споделен NPS.

2

Отидете до контекста на FCM и деактивирайте FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false за да се върнете към използването на наследения API ключ на FCM.

1

Създайте заявка за услуга с вашия контакт за включване или с TAC, за да предоставите вашия клиентски акаунт (Webex Common Identity) OAuth. Заглавете заявката си за заявка за услуга NPS конфигурация за настройка на прокси за удостоверяване .

Cisco ви дава клиентски ИД за OAuth, клиентска тайна и токен за опресняване, който е валиден за 60 дни. Ако токенът изтече, преди да го използвате с вашия NPS, можете да повдигнете друга заявка.
2

Създайте клиентския акаунт в 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

За да проверите, че въведените от вас стойности съвпадат с това, което сте получили, стартирайте XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Въведете URL на NPS прокси и задайте интервала за опресняване на токена (препоръчително е 30 минути):

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

(За известия за Android ) Добавете идентификаторите на приложения за Android към контекста на FCM приложенията в NPS.

За Webex приложение на Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

За приложение UC-One за Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(За известия на Apple iOS ) Добавете ИД на приложението към контекста на APNS приложенията, като не забравяйте да пропуснете ключа Auth – задайте го на празен.

За Webex приложение на iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

За приложение UC-One на iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Конфигурирайте следните NPS URL адреси:

Таблица 2.

XSP CLI контекст

Параметър

Стойност

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

Конфигурирайте следните параметри на NPS връзка към показаните препоръчителни стойности:

Таблица 3.

XSP CLI контекст

Параметър

Стойност

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

Проверете дали сървърът на приложения проверява идентификаторите на приложения, защото може да се наложи да добавите приложенията на Webex към списъка с разрешени:

  1. Изпълнете AS_CLI/System/PushNotification> get и проверете стойността на enforceAllowedApplicationList. ако е така true, трябва да изпълните тази подзадача. В противен случай пропуснете останалата част от подзадачата.

  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

Рестартирайте XSP:

bwrestart
2

Тествайте известията за обаждания до Android , като извършвате обаждания от абонат на BroadWorks към клиента за повикване на Android. Уверете се, че известието за обаждане се появява на устройство с Android.

Забележка: Ако насочените известия започнат да се провалят за приложението UC-One за android, е възможно да има неправилна конфигурация. Ако това е вашата ситуация, можете да се върнете към наследения FCM, както следва:

  1. Деактивиране на FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Рестартирайте XSP: bwrestart

  3. Проверете конфигурацията си.

  4. Активирайте отново FCMv1 и рестартирайте XSP.

  5. Повторете теста.

3

Тествайте известията за обаждания до iOS, като извършвате обаждания от абонат на BroadWorks към обаждащия се клиент на iOS. Уверете се, че известието за повикване се появява на устройство с iOS.

Забележка: Ако насочените известия започнат да се провалят за приложението UC-One iOS, е възможно да има неправилна конфигурация. Ако това е вашата ситуация, можете да се върнете към наследения двоичен интерфейс с set HTTP2Enabled false