Este artículo describe cómo configurar un NPS compartido para utilizar el proxy de autenticación de NPS, para que también se pueda utilizar para enviar notificaciones de llamadas a aplicaciones de Webex. Si su NPS no admite otras aplicaciones, puede seguir el procedimiento simplificado en la Guía de la solución Webex para BroadWorks.

Descripción general del proxy de NPS

Para ser compatible con Webex para BroadWorks, se debe instalar una revisión de NPS para admitir la característica de proxy de NPS y el servidor push VoIP en UCaaS.

La característica implementa un nuevo diseño en el servidor de push de notificación para resolver la vulnerabilidad de seguridad de compartir claves privadas del certificado de notificación emergente con proveedores de servicios para clientes móviles. En lugar de compartir certificados y claves de notificación push con el proveedor de servicios, el NPS utiliza una nueva API para obtener un token de notificación push de corta duración del backend UCaaS y utiliza este token para la autenticación con los APN de Apple y los servicios FCM de Google.

La característica también mejora la capacidad del servidor de push de notificación para enviar notificaciones a los dispositivos Android a través de la nueva API de Mensajería en la nube de Google Firebase (FCM) HTTPv1.

El ADP de la plataforma de entrega de aplicaciones (XSP) que organiza NPS debe cumplir con los siguientes requisitos:

Restricciones de residencia en colaboración y versiones mínimas

  • NPS debe activarse en un XSP/ADP dedicado y NPS debe ser la única aplicación alojada en el servidor. Esto es para eliminar interferencia con la entrega de las notificaciones de Push.

  • Solo debe haber una aplicación NPS en una implementación. Si está usando saaS de colaboración/conexión de UC-One móviles o SaaS de UC-One, y está implementando Webex para BroadWorks, debe compartir este único NPS para todas las aplicaciones.

  • NPS debe estar en la versión R22 o posterior XSP, o ADP.

    R22/R23 XSP es compatible con una pila de R21 si XSP solo ejecuta NPS y el AS es R21. SP1. Consulte la Matriz de compatibilidad de BroadWorks para obtener más información.

  • Puede encontrar más información sobre el servidor ADP en Cisco BroadWorks Application Delivery Platform.

NPS compartidos

Lea estas notas antes de configurar el servidor NPS compartido para usar el proxy de NPS:

  • Si su NPS se utiliza con otras aplicaciones (no solo la aplicación Webex): Primero configure el proxy de NPS y, luego, cambie el NPS de uso de la API heredada de FCM a utilizar la API de FCM HTTP v1.

  • Después de haber verificado que las notificaciones funcionan correctamente para aplicaciones más antiguas con el proxy NPS, elimine la clave API de FCM para la aplicación de Android y la clave de autenticación de APN para la aplicación de iOS.

APNs HTTP/2

  • Si ha implementado alguna aplicación iOS que no sea de Cisco/BroadSoft, Configurar esas aplicaciones para usar el HTTP/2 Protocolo APNS antes de configurar NPS para utilizar el proxy NPS.

  • Los XSP/ADP que ya son compatibles con la aplicación Collaborate o SaaS BroadWorks deben migrarse a HTTP/2. Para obtener información detallada sobre la configuración de HTTP/2, consulte Soporte para el servidor de push de notificaciones de HTTP/2 para APNS (la migración de NPS para admitir estas aplicaciones de iOS se resume en este artículo).

Android FCMv1

  • Si ha implementado alguna aplicación de Android que no sea de Cisco/BroadSoft, Configure esas aplicaciones para usar las claves FCMv1 antes de configurar NPS para usar el proxy NPS.

  • Si XSP/ADP Actualmente es compatible con la aplicación Connect o UC-One SaaS, luego habilite las claves FCMv1 después de configurar el proxy NPS. Le recomendamos que migre todas las aplicaciones adicionales a claves FCMv1, las habilite y pruebe, y luego las deshabilite hasta que esté listo para completar las instrucciones de configuración (el flujo de migración está documentado en este artículo).

Resumen visual de la migración al proxy de autenticación de NPS
Tabla 1. Resumen de las tareas para migrar al proxy de NPS

Secuencia

Título de la tarea

¿Cuándo/por qué se requiere la tarea?

1

Migrar NPS a HTTP/2 para aplicaciones SaaS (o Connect) de UC-One para iOS.

Si NPS es compatible con esas aplicaciones, y todavía no están configuradas para HTTP/2.

2

Migrar NPS a FCMv1 para aplicaciones SaaS (o Connect) De UC-One para Android.

Si NPS es compatible con esas aplicaciones, y todavía no están configuradas para FCMv1.

3

Habilite el modo FCMv1 y pruebe las notificaciones de push.

Si NPS es compatible con UC-One Connect y/u otras aplicaciones de Android (que no son de Cisco).

4

Vuelva a habilitar el modo heredado de FCM.

Si NPS es compatible con SaaS para UC-One. Si deja FCMv1 habilitado, antes de configurar el proxy de NPS, las notificaciones de push a SaaS de UC-One comienzan a fallar.

5

Instale revisiones de proxy de autenticación de NPS.

Si NPS está en XSP R22 o XSP R23.

6

Configure NPS para usar el proxy de autenticación de NPS:

  • Adjuntar soporte técnico de NPS

  • Solicitar cuenta de autenticación de CI

  • Crear cuenta de CI en NPS y configurar el tiempo de espera del token de actualización

  • Agregar ID de la aplicación de Android

  • Agregar ID de aplicación de iOS

  • Comprobar/establecer direcciones URL y tiempos de espera de conexión

  • Agregar aplicaciones a la lista de permitidos de AS

  • (Volver a) Activar FCMv1

  • Reiniciar XSP/ADP

  • Probar las PC para aplicaciones iOS y Android

Siempre necesario.

7

Elimine las claves de los modo heredados de FCM.

Para aplicaciones que son compatibles con éxito por NPS en FCMv1.

Esta tarea es obligatoria para las notificaciones de push en saaS de UC-One y aplicaciones Webex en plataformas iOS.

Antes de comenzar

Si su XSP está ejecutando R22, debe aplicar ap354313 antes de configurar la aplicación de NPS para utilizar HTTP/2 para APNS.

1

Defina la URL de producción y los parámetros de conexión en XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Nota: No establezca el tiempo de espera de conexión por debajo de 1000.

2

Agregue los IDs de la aplicación al contexto de las aplicaciones APNS, asegúrese de omitir la clave de autenticación y descúbala en vacía.

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

Para la aplicación de Webex: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Compruebe las claves de autenticación con XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Si la clave de autenticación no está vacía para com.broadsoft.uc-one, puede borrarla con XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Habilitar HTTP/2:

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

6

Solo para aplicaciones SaaS UC-One: Inicie sesión en el portal del revendedor y vaya a Configuración > BroadWorks > .

7

Desplácese hacia abajo hasta la sección Servidor de notificaciones push y seleccione su versión (por ejemplo, Versión 22), luego siga las instrucciones proporcionadas en el portal.

  • Esta tarea se aplica a NPS en XSP. Omitirlo si su NPS está en ADP.

  • Puede utilizar este procedimiento para migrar a las notificaciones FCMv1 para las aplicaciones UC-One Connect o UC-One SaaS para Android.

  • Debe usar FCMv1 si quiere usar el proxy NPS para autenticar las notificaciones emergentes a UC-One o a las aplicaciones Webex para Android.

  • Esta tarea prepara NPS para FCMv1 para que pueda habilitarlo como parte de la configuración del proxy de autenticación de NPS. No habilite FCMv1 hasta que esté listo para configurar el proxy de autenticación de NPS, o las notificaciones a clientes SaaS fallarán.

1

Obtenga el ID del proyecto de la consola de Firebase:

  1. Inicie sesión en console.firebase.google.com.

  2. Seleccione el proyecto de la aplicación UC-One (Connect o SaaS) y abra la configuración del proyecto.

  3. Abra la ficha General y grabe el ID del proyecto.

2

Obtenga la clave privada de su cuenta de servicio de Firebase:

  1. Diríjase a la ficha Cuentas de servicio en la configuración del proyecto.

  2. Cree una cuenta de servicio nueva y obtenga su clave privada.

  3. O abra una cuenta de servicio existente y genere una nueva clave privada para ella.

    Nota: La cuenta de servicio debe tener el permiso firebaseadmin-sdk.

  4. Descargue la clave en una ubicación segura.

3

Copie la clave en el XSP que aloja sus NPS.

4

Agregue el ID del proyecto y la clave privada asociada al contexto de los proyectos FCM:

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

5

Agregue la aplicación UC-One (Connect o SaaS) y el ID de proyecto asociado al contexto de las aplicaciones FCM:

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

6

Verifique la configuración de FCM con respecto a los atributos y los valores recomendados que se muestran aquí. Utilice la versión set del comando para cambiar los valores si es necesario:

Ejecutar XSP_CLI/Applications/NotificationPushServer/FCM> get

Parámetro

Valor recomendado

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

  • Esta tarea se aplica a NPS en ADP. Omitirlo si su NPS está en XSP.

  • Puede utilizar este procedimiento para migrar a las notificaciones FCMv1 para las aplicaciones UC-One Connect o UC-One SaaS para Android.

  • Debe usar FCMv1 si quiere usar el proxy NPS para autenticar las notificaciones emergentes a UC-One o a las aplicaciones Webex para Android.

  • Esta tarea prepara NPS para FCMv1 para que pueda habilitarlo como parte de la configuración del proxy de autenticación de NPS. No habilite FCMv1 hasta que esté listo para configurar el proxy de autenticación de NPS, o las notificaciones a clientes SaaS fallarán.

1

Obtenga el ID del proyecto de la consola de Firebase:

  1. Inicie sesión en console.firebase.google.com.

  2. Seleccione el proyecto de la aplicación UC-One (Connect o SaaS) y abra la configuración del proyecto.

  3. Abra la ficha General y grabe el ID del proyecto.

2

Obtenga la clave privada de su cuenta de servicio de Firebase:

  1. Diríjase a la ficha Cuentas de servicio en la configuración del proyecto.

  2. Cree una cuenta de servicio nueva y obtenga su clave privada.

  3. O abra una cuenta de servicio existente y genere una nueva clave privada para ella.

    Nota: La cuenta de servicio debe tener el permiso firebaseadmin-sdk.

  4. Descargue la clave (archivo .json) en una ubicación segura.

3

Importe el archivo .json al servidor ADP /bw/install.

4

Inicie sesión en la CLI de ADP y agregue el proyecto y la clave API al contexto de los proyectos FCM:

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

5

Agregue el ID de la aplicación y del proyecto al contexto de las aplicaciones FCM:

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

6

Verifique su configuración:

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

Solo debe hacerlo (como parte de la migración) si:

  • Sus NPS se utilizan para las aplicaciones SaaS de UC-One o BroadWorks Connect para Android.

  • Ya probó que las notificaciones de push de llamadas a otras aplicaciones están funcionando con la API FCMv1.

Está deshabilitando temporalmente FCMv1 porque las claves FCMv1 para estas aplicaciones solo deben estar habilitadas durante el proceso de configuración del proxy de autenticación de NPS.

1

Inicie sesión en el XSP que aloja sus NPS compartidos.

2

Navegue hasta el contexto DE FCM y deshabilite FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false para volver a utilizar la clave API heredada de FCM.

1

Cree una solicitud de servicio con su contacto de incorporación, o con TAC, para aprovisionar su cuenta de cliente de autenticación OAuth (Common Identity Webex Common Identity tac). Título de su solicitud de servicio Configuración de NPS para la configuración del proxy de autenticación.

Le proporcionamos un ID de cliente OAuth, un secreto de cliente y un token de actualización válido por 60 días. Si el token caduca antes de que usted lo utilice con su NPS, puede generar otra solicitud.
2

Cree la cuenta de cliente en 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

Ejecute el comando para verificar que los valores ingresados coincidan con los que se le proporcionaron. XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Introduzca la URL del proxy de NPS y defina el intervalo de actualización del token (se recomiendan 30 minutos):

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

Para mejorar la velocidad de resolución de DNS, en lugar del FQDN actual nps.uc-one.broadsoft.com le recomendamos que utilice el FQDN apropiado según su región.

FQDN basados en regiones:

Este de EE. UU.:

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

Oeste de EE. UU.:

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

Europa:

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

Si las notificaciones push expiran debido a un retraso en la resolución de DNS, aumente el valor del tiempo de espera en el "/etc/resolv.conf" archivo en el servidor BroadWorks.

4

(Para notificaciones de Android) Agregue los IDs de la aplicación de Android al contexto de las aplicaciones FCM en nps.

Para la aplicación Webex en Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Para la aplicación UC-One en Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Para notificaciones de Apple iOS) Agregue el ID de aplicación al contexto de las aplicaciones de APNS, asegúrese de omitir la clave de autenticación y descúbala en vacía.

Para la aplicación Webex en iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Para la aplicación UC-One en iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Configure las siguientes URL de NPS:

Contexto de la CLI de XSP

Parámetro

Valor

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

Configure los siguientes parámetros de conexión NPS con los valores recomendados:

Contexto de CLI de XSP

Parámetro

Valor

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

Compruebe si el servidor de aplicaciones es un IDs de aplicación móviles, ya que es posible que deba agregar las aplicaciones Webex a la lista de permitidos:

  1. Ejecute AS_CLI/System/PushNotification> get y verifique el valor de enforceAllowedApplicationList. Si es true, debes completar esta subtarea. De lo contrario, omita el resto de la subtación.

  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

Reinicie XSP:

bwrestart
2

Pruebe las notificaciones de llamadas a Android mediante la realización de llamadas de un suscriptor de BroadWorks al cliente de llamadas en Android. Verifique que la notificación de llamada aparezca en el dispositivo Android.

Nota: Si las notificaciones emergentes comienzan a fallar para la aplicación uc-one para Android, es posible que se haya un error de configuración. Si esta es su situación, puede volver a la FCM heredada de la siguiente manera:

  1. Desactivar FCMv1: XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Reiniciar XSP: bwrestart

  3. Compruebe su configuración.

  4. Vuelva a activar FCMv1 y reinicie XSP.

  5. Repita la prueba.

3

Pruebe las notificaciones de llamadas a iOS mediante la realización de llamadas desde un suscriptor de BroadWorks al cliente de llamadas en iOS. Verifique que la notificación de llamada aparezca en el dispositivo iOS.

Nota: Si las notificaciones de push comienzan a fallar para la aplicación de iOS UC-One, es posible que se haya un error de configuración. Si esta es su situación, puede volver a la interfaz binario heredada con set HTTP2Enabled false