У цій статті описано, як налаштувати спільний NPS на використання проксі-сервера автентифікації NPS, щоб його також можна було використовувати для надсилання сповіщень про дзвінки до програм Webex. Якщо ваш NPS не підтримує інші програми, ви можете виконати спрощену процедуру, описану в Посібнику з рішень Webex для BroadWorks.

Огляд проксі-сервера NPS

Для сумісності з Webex для BroadWorks ваш NPS повинен бути виправлений, щоб підтримувати функцію проксі-сервера NPS, Push Server for VoIP в UCaaS.

Ця функція реалізує новий дизайн у Push-сервері сповіщень для усунення вразливості безпеки спільного використання приватних ключів сертифіката push-сповіщення з постачальниками послуг для мобільних клієнтів. Замість того, щоб ділитися сертифікатами та ключами push-сповіщень з постачальником послуг, NPS використовує новий API для отримання короткочасного токена push-сповіщень від серверної частини UCaaS та використовує цей токен для автентифікації за допомогою Apple APN та сервісів Google FCM.

Ця функція також покращує можливості Push-сервера сповіщень для надсилання сповіщень на пристрої Android за допомогою нового API HTTPv1 для хмарних повідомлень Google Firebase (FCM).

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

Мінімальні версії та обмеження спільного проживання

  • NPS повинен бути активований на виділеному XSP / ADP, а NPS повинен бути єдиною розміщеною програмою на сервері. Це потрібно для усунення перешкод в доставці Push-повідомлень.

  • У розгортанні має бути лише один додаток NPS. Якщо ви використовуєте мобільний UC-One Collaborat/Connect і або UC-One SaaS, і впроваджуєте Webex для BroadWorks, ви повинні поділитися цим єдиним NPS для всіх додатків.

  • NPS має бути на версії R22 або новішій XSP, або ADP.

    R22/R23 XSP сумісний зі стеком R21, якщо XSP працює лише nps, а AS — R21. Пакет оновлень 1 (SP1). Перегляньте матрицю сумісності BroadWorks для отримання додаткової інформації.

  • Більше інформації про ADP-сервер можна знайти на Cisco BroadWorks Application Delivery Platform.

Спільні 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, які вже підтримують програму Collaborat або SaaS BroadWorks, потрібно перенести на HTTP / 2. Для отримання детальної інформації про налаштування HTTP / 2 дивіться HTTP / 2 Підтримка push-сервера сповіщень для APNS (міграція NPS для підтримки цих програм для iOS підсумовується в цій статті).

Андроїд FCMv1

  • Якщо ви розгорнули будь-які програми для Android, які не від Cisco/BroadSoft, Налаштуйте ці програми на використання ключів FCMv1, перш ніж налаштовувати NPS на використання проксі-сервера NPS.

  • Якщо XSP/ADP наразі підтримується програма Connect або UC-One SaaS, тоді увімкніть ключі FCMv1 після налаштування проксі-сервера NPS. Ми рекомендуємо вам перенести всі додаткові програми на ключі FCMv1, увімкнути та протестувати їх, а потім вимкнути, доки не будете готові виконати інструкції з налаштування (процес міграції описано в цій статті).

Візуальний підсумок міграції на проксі-сервер для автентифікації 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 і протестуйте push-повідомлення.

Якщо NPS підтримує UC-One Connect та/або інші (не Cisco) програми для Android.

4

Повторне включення застарілого режиму FCM.

Якщо NPS підтримує UC-One SaaS. Якщо ви залишите FCMv1 включеним, перш ніж налаштувати проксі NPS, то push-повідомлення на 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

Прокрутіть униз до розділу «Сервер push-сповіщень» і виберіть свій реліз (наприклад, Випуск 22), а потім дотримуйтесь інструкцій, наведених на порталі.

  • Це завдання відноситься до NPS на XSP. Ігноруйте його, якщо ваш NPS знаходиться на ADP.

  • Ви можете використовувати цю процедуру для переходу на сповіщення FCMv1 для додатків UC-One Connect або UC-One SaaS для Android.

  • Ви повинні використовувати FCMv1, якщо хочете використовувати проксі-сервер NPS для автентифікації push-сповіщень до програм 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 знаходиться на XSP.

  • Ви можете використовувати цю процедуру для переходу на сповіщення FCMv1 для додатків UC-One Connect або UC-One SaaS для Android.

  • Ви повинні використовувати FCMv1, якщо хочете використовувати проксі-сервер NPS для автентифікації push-сповіщень до програм 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 використовується для додатків UC-One SaaS або BroadWorks Connect для Android.

  • Ви вже перевірили, що push-повідомлення про дзвінки в інші програми працюють з 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). Назвіть свій службовий запит конфігурація NPS для налаштуванняпроксі-сервера Auth.

Ми надаємо вам ідентифікатор клієнта 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-запитів, замість поточного повного доменного імені nps.uc-one.broadsoft.com ми рекомендуємо використовувати відповідне повне доменне ім’я залежно від вашого регіону.

Повні доменні імена на основі регіону:

Схід США:

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

Захід США:

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

Європа:

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

Якщо час очікування push-сповіщень вичерпано через затримку в розв’язанні 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) Додайте ID програми в контекст додатків 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

Налаштуйте наступні URL-адреси NPS:

Контекст командного рядка XSP

Параметр

Значення

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 починають виходити з ладу push-повідомлення, можливо, відбувається неправильне налаштування. Якщо це ваша ситуація, ви можете повернутися до застарілої 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 почнуть виходити з ладу push-повідомлення, можливо, відбудеться неправильне налаштування. Якщо це ваша ситуація, ви можете повернутися до застарілого бінарного інтерфейсу з set HTTP2Enabled false