Descripción general del proxy de autenticación de NPS


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 es compatible con otras aplicaciones, puede seguir el procedimiento simplificado de la Guía de solución de Webex para BroadWorks https://help.webex.com/z9gt5j.

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 de push con el proveedor de servicios, NPS utiliza una nueva API para obtener un token de notificación de push emergente breve del backend de UCaaS y usa este token para la autenticación con los servicios API de Apple y Google FCM.

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 https://xchange.broadsoft.com/node/1051580.

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 de 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 están funcionando correctamente para las aplicaciones más antiguas con el proxy NPS, elimine la clave API FCM para la aplicación Android y la clave de autenticación APN para la aplicación iOS.

APNs HTTP/2

  • Si ha implementado cualquier aplicación de iOS que no sea de Cisco/BroadSoft, configure esas aplicaciones para que utilicen el protocolo APNS HTTP/2 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 que utilicen las claves FCMv1 antes de configurar NPS para utilizar el proxy NPS.

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

Figura 1. 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 borrarlo 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 de revendedores y vaya a Configuración > BroadWorks > .

7

Desplácese hacia abajo hasta la sección Servidor de push de notificación y seleccione su versión (p. ej.: versión 22) y, a continuación, siga las instrucciones que se proporcionan 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í. Utilizar set versión 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 de 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.

Cisco le proporciona un ID de cliente de autenticación automática, un secreto del cliente y un token de actualización que es válido durante 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

Para verificar que los valores que introdujo coinciden con lo que se le ha dado, ejecute 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/

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

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 de 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 de 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:

Tabla 2.

Contexto de 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:

Tabla 3.

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. Ejecutar AS_CLI/System/PushNotification> get y compruebe el valor de enforceAllowedApplicationList. Si es true, debe completar esta subtación. 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