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

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

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

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

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

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

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

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

  • Трябва да има само едно 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 прокси, след това премахнете API на FCM ключа за приложението Android и APN ключа за удостоверяване за приложението iOS.

APN HTTP/2

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

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

Android FCMv1

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

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

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

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

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

Кога/Защо се изисква задачата?

1

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

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

2

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

Ако 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.

Тази задача е задължителна за пуш известия до 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 приложенията, като се уверите, че пропускате ключа за удостоверяване – задайте го да се изпразни.

За 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

Превъртете надолу до раздела „Пуш сървър за известия“ и изберете своето издание (напр. Версия 22), след което следвайте инструкциите, предоставени в портала.

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

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

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

  • Тази задача подготвя 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 известия за приложения за Android на UC-One Connect или UC-One SaaS.

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

  • Тази задача подготвя 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 се използва за приложения за Android UC-One SaaS или BroadWorks Connect.

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

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

1

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

2

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

1

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

Даваме ви ИД на клиент на 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/

За да подобрите скоростта на разделителна способност на DNS, вместо текущия FQDN nps.uc-one.broadsoft.com ви препоръчваме да използвате подходящ FQDN въз основа на вашия регион.

FQDN, базирани на регион:

САЩ, изток:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-a.wbx2.coms

САЩ, Запад:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-r.wbx2.com

Европа:

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set url https://broadworks-idp-proxy-k.wbx2.com

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

Ако времето на изчакване на пуш известията изтече поради забавяне в разделителната способност на DNS, увеличете стойността за изчакване във файла "/etc/resolv.conf" на сървъра на BroadWorks.

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, като се уверите, че пропускате ключа за удостоверяване – задайте го да се изпразни.

За приложение 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

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

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 връзката към показаните препоръчителни стойности:

Контекст на 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.

Забележка: Ако пуш известията започнат да са неуспешни за приложението за Android UC-One, възможно е да има неправилно конфигуриране. Ако това е вашата ситуация, можете да се върнете към стария 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