Introducción al proxy de autenticación NPS


Este artículo describe cómo configurar un NPS compartido para usar el proxy de autenticación NPS, para que también se pueda usar para extender las notificaciones de llamadas a las aplicaciones de WebEx. Si el NPS no admite otras aplicaciones, puede seguir el procedimiento simplificado en la guía de solución de WebEx para BroadWorks https://help.webex.com/z9gt5j.

Introducción a proxy NPS

Por compatibilidad con WebEx para BroadWorks, el NPS debe estar revisado para ser compatible con la función de proxy NPS, el servidor de inserción para VoIP en UCaaS.

La función implementa un nuevo diseño en el servidor de envío de notificaciones para resolver la vulnerabilidad de seguridad del envío de claves privadas de certificado de notificaciones de inserción a proveedores de servicio para clientes móviles. En lugar de compartir los certificados y las claves de notificación de inserción con el proveedor de servicio, el NPS usa una API nueva para obtener un token de notificación de inserción de corta duración de UCaaS backend, y usa este token para autenticar los APN de Apple y los servicios de Google FCM.

La función también mejora la capacidad del servidor de envío de notificaciones para ingresar notificaciones a dispositivos Android a través de la nueva API HTTPv1 de Google Firebase Cloud Messaging (FCM).

Las revisiones BroadWorks para la función están disponibles en Xchange: https://xchange.broadsoft.com/node/1046235

Para obtener más información, consulte la descripción de la función servidor push para VoIP en UCaaS en Xchange: https://xchange.broadsoft.com/node/1045458

El XSP (o la plataforma de entrega de aplicaciones ADP) que hospeda a NPS debe cumplir los siguientes requisitos:

Restricciones mínimas de versiones y coresidencias

  • NPS debe estar activado en un XSP/ADP dedicado y NPS debe ser la única aplicación hospedada en el servidor. Esto es para eliminar interferencias con la entrega de notificaciones de inserción.

  • Solo debe haber una aplicación NPS en una implementación. Si está usando la tecnología de multicomunicaciones móvil: una comilla/conexión y o UC-una SaaS, y va a implementar WebEx para BroadWorks, debe compartir este NPS único para todas las aplicaciones.

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

    R22/R23 XSP es compatible con el stack de R21 si el XSP sólo ejecuta NPS y el as es la R21. SP1. Para obtener más información, consulte la matriz de compatibilidad de BroadWorks.

  • Para obtener más información sobre el servidor ADP, https://xchange.broadsoft.com/node/1051580.

NPS compartido

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

  • Si el NPS se usa con otras aplicaciones (no solo la aplicación WebEx): No cambie el NPS para que no use la API heredada de FCM para usar FCM API HTTP v1 antes de configurar el proxy NPS.

    Puede cambiar durante la configuración de NPS para usar el proxy NPS.

  • Cuando haya comprobado que las notificaciones funcionan correctamente para aplicaciones antiguas con el proxy NPS, puede quitar la clave API de FCM para la aplicación Android y la clave de autenticación de APNs para la aplicación de iOS.

APN HTTP/2

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

  • Los XSP/ADP que ya son compatibles con la aplicación de colaboración o SaaS BroadWorks deben migrarse a HTTP/2. Para obtener más información sobre cómo configurar HTTP/2, consulte compatibilidad con http/2 para notificar servidor de inserción para APNS (la migración de NPS para que admita estas aplicaciones de iOS se resume en este artículo).

FCMv1 de Android

  • Si ha implementado aplicaciones Android que no son de Cisco/BroadSoft, configure esas aplicaciones para que usen las claves FCMv1 antes de configurar NPS para usar el proxy NPS.

  • Si XSP/ADP actualmente es compatible con la aplicación SaaS de conexión o UC-una aplicación SaaS, entonces no se pueden habilitar las claves FCMv1 antes de configurar el proxy NPS. Se recomienda migrar todas las aplicaciones adicionales a FCMv1 teclas, activar y probar y, a continuación, deshabilitar hasta que esté preparado para completar las instrucciones de configuración (el flujo de migración se explica en este artículo).

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

Salida

Título de la tarea

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

1

Migrar NPS a HTTP/2 para la aplicación UC-una SaaS (o conectarme) aplicaciones iOS.

Si el NPS admite esas aplicaciones y aún no se han configurado para HTTP/2.

2

Migrar NPS a FCMv1 para UC-una SaaS (o conectar) aplicaciones Android.

Si el NPS admite esas aplicaciones y aún no se han configurado para FCMv1.

3

Activar modo de FCMv1 y probar las notificaciones de inserción.

Si el NPS es compatible con las aplicaciones de UC-1 Connect y/o con otras aplicaciones de Android (que no sean de Cisco).

4

Volver a activar FCM modo heredado.

Si el NPS es compatible con la multiuc-One SaaS. Si deja FCMv1 habilitado, antes de configurar el proxy NPS, entonces las notificaciones de inserción a UC-una SaaS iniciarán errores.

5

Instale las revisiones de proxy de autenticación NPS.

Si NPS está en XSP R22 o XSP R23.

6

Configure NPS para que use el proxy de autenticación NPS:

  • Adjuntar techsupport de NPS

  • Solicitar cuenta de CI de OAuth

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

  • Agregar IDS App de Android

  • Agregar ID. de aplicaciones iOS

  • Comprobar/establecer direcciones URL y tiempos de espera de Connection

  • Agregar aplicaciones a la lista de permitidos

  • (Re-) Activar FCMv1

  • Reiniciar XSP/ADP

  • Probar PNs para aplicaciones de iOS y Android

Siempre se requiere.

7

Eliminar FCM teclas de modo heredado.

Para las aplicaciones que admite NPS correctamente en FCMv1.

Esta tarea es obligatoria para las notificaciones de inserción a UC-1 SaaS y las aplicaciones de WebEx en plataformas de iOS.

Antes de comenzar

Si XSP está ejecutando R22, necesita aplicar ap354313 para poder configurar la aplicación NPS para que use HTTP/2 para APNS.

1

Configure la dirección URL de producción y los parámetros de conexión en XSP_CLI/applications/notificationpushserver/apns/production >

establecer URL https://api.push.apple.com/3/device

establecer connectionPoolSize 2

Set connectionTimeout 3000

Set connectionIdleTimeoutInSeconds 600

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

2

Agregue los identificadores de aplicación al contexto de aplicaciones de APNS, asegurándose de omitir la clave de autorización: establézcalo como vacío.

Para UC-una SaaS: XSP_CLI/applications/notificationpushserver/apns/production/tokens > Agregar com. Broadsoft. UC-uno

Para la aplicación WebEx: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens > Agregar com. Cisco. Square

3

Compruebe las claves de autenticación con XSP_CLI/applications/notificationpushserver/apns/production/tokens > obtener

4

Si la clave auth no está vacía para com. Broadsoft. UC-uno , puede eliminarlo con XSP_CLI/Applications/notificationpushserver/APNs/Production/tokens > Borrar el-authkey

5

Activar HTTP/2:

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

6

Solo para UC-una aplicación SaaS: Inicie sesión en el portal de revendedores y vaya a configuración > BroadWorks > .

7

Desplácese a la sección servidor para inserción de notificaciones, seleccione su versión (por ejemplo, Release 22 ) y siga las instrucciones que se proporcionan en el portal.

  • Esta tarea se aplica a NPS en XSP. Omítalo si el NPS está activado ADP.

  • Puede usar este procedimiento para migrar a FCMv1 notificaciones para UC-una Connect o UC-una aplicación SaaS Android.

  • Debe usar FCMv1 si desea usar el proxy NPS para autenticar las notificaciones de inserción a UC-una o las aplicaciones de WebEx de WebEx.

  • Esta tarea prepara el NPS para FCMv1 de manera que pueda habilitarlo como parte de la configuración del proxy de autenticación NPS. No habilite FCMv1 hasta que esté preparado para configurar el proxy de autenticación NPS o se producirá un error en las notificaciones para clientes SaaS.

1

Obtenga el ID de proyecto de la consola de Firebase:

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

  2. Seleccione el proyecto de aplicación UC-uno (conectar o SaaS), abra la configuración del proyecto.

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

2

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

  1. Navegue hasta la ficha cuentas de servicio de la configuración del proyecto.

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

  3. O bien, abra una cuenta de servicio existente y genere una nueva clave privada para el mismo.

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

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

3

Copie la clave en XSP que hospeda su NPS.

4

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

XSP_CLI/Applications/NotificationPushServer/FCM/Projects > Add Project-ruta path/a/keyfile

5

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

XSP_CLI/Applications/NotificationPushServer/FCM/Applications > Agregar ApplicationID com. Broadsoft. Connect Projectid Project-ID

6

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

Ejecute XSP_CLI/applications/notificationpushserver/fcm > obtener

Parámetro

Valor recomendado

authURL

https://www.googleapis.com/oauth2/v4/token

pushURL

https://fcm.googleapis.com/v1/projects/ Project-ID /Messages: enviar

alcance

https://www.googleapis.com/auth/firebase.messaging

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3000

connectionIdleTimeoutInSeconds

600

  • Esta tarea se aplica a NPS en ADP. Omítalo si el NPS se encuentra en XSP.

  • Puede usar este procedimiento para migrar a FCMv1 notificaciones para UC-una Connect o UC-una aplicación SaaS Android.

  • Debe usar FCMv1 si desea usar el proxy NPS para autenticar las notificaciones de inserción a UC-una o las aplicaciones de WebEx de WebEx.

  • Esta tarea prepara el NPS para FCMv1 de manera que pueda habilitarlo como parte de la configuración del proxy de autenticación NPS. No habilite FCMv1 hasta que esté preparado para configurar el proxy de autenticación NPS o se producirá un error en las notificaciones para clientes SaaS.

1

Obtenga el ID de proyecto de la consola de Firebase:

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

  2. Seleccione el proyecto de aplicación UC-uno (conectar o SaaS), abra la configuración del proyecto.

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

2

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

  1. Navegue hasta la ficha cuentas de servicio de la configuración del proyecto.

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

  3. O bien, abra una cuenta de servicio existente y genere una nueva clave privada para el mismo.

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

  4. Descargue la tecla (archivo. JSON) a una ubicación segura.

3

Importe el archivo. JSON al servidor ADP /BW/install.

4

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

ADP_CLI/Applications/NotificationPushServer/FCM/Projects > Add Connect-ucaas/BW/install/ nombrearchivo. JSON

5

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

ADP_CLI/Applications/NotificationPushServer/FCM/Applications > Agregar ApplicationID com. Broadsoft. ucaas. Connect Projectid proyecto-ID

6

Verifique su configuración:

ADP_CLI/Applications/NotificationPushServer/FCM/Projects > obtener ID. de proyecto Accountkey = = = = = = = = = = = = = = = = = = = = = = = = Connect-ucaas * * * * * * * *
ADP_CLI/Applications/NotificationPushServer/FCM/Applications > obtener ID. de proyecto ID de aplicación = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = com. Broadsoft. ucaas. conectar conectar-ucaas

Sólo necesita hacer esto (como parte de la migración) si:

  • Su NPS se usa para la teleuc-One SaaS o BroadWorks conectar aplicaciones Android.

  • Ya ha comprobado que las notificaciones de inserción de llamadas a otras aplicaciones trabajan con FCMv1 API.

Está desactivando FCMv1 temporalmente porque las teclas FCMv1 para estas aplicaciones solo se deben habilitar durante el proceso de configuración del proxy de autenticación NPS.

1

Inicie sesión en la XSP que hospeda su NPS compartido.

2

Navegue hasta el contexto FCM y deshabilite FCM v1: XSP_CLI/Applications/NotificationPushServer/FCM > establecer V1enabled falso para volver a utilizar la tecla de API heredada de FCM.

Instale las siguientes revisiones para admitir la función de proxy de autenticación NPS:

Revisiones de R22

Revisiones de R23

1

Cree una solicitud de servicio con su contacto de incorporación, o con TAC, para suministrar su cuenta de cliente de OAuth (identidad común de WebEx). Title su configuración de NPS de solicitud de servicio para la configuración de proxy de autenticación.

Cisco proporciona un ID de cliente de OAuth, un secreto de cliente y un token de actualización válido durante 60 días. Si el token expira antes de usarlo con su NPS, puede iniciar otra solicitud.
2

Cree la cuenta de cliente en el NPS:

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client > set clientId Client-ID-from-STEP1

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client > establecer clientSecret New password: Secreto de cliente a partir de STEP1
XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client > establecer RefreshToken contraseña nueva: Actualización: token desde-STEP1

Para verificar que los valores introducidos coincidan con lo que se le dio, ejecute XSP_CLI/applications/notificationpushserver/ciscoci/client > obtener

3

Ingrese la URL de proxy NPS y defina el intervalo de actualización de token (se recomienda 30 minutos):

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService > set VOIPTokenRefreshInterval 1800

4

(Para notificaciones de Android) Agregue los ID de aplicación de Android al contexto de aplicaciones de FCM en el NPS.

Para aplicación Webex en Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications > Agregar ApplicationID com. Cisco. WX2. Android

Para UC-una aplicación en Android: XSP_CLI/Applications/NotificationPushServer/FCM/Applications > Agregar ApplicationID com. Broadsoft. Connect

5

(Para notificaciones de iOS de Apple) Agregue el ID. de aplicación al contexto de aplicaciones de APNS, asegurándose de omitir la clave de autorización: establézcalo como vacío.

Para la aplicación Webex en iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens > Agregar com. Cisco. Square

Para UC-una aplicación en iOS: XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens > Agregar com. Cisco. Square

6

Configure las siguientes URL de NPS:

Tabla 2.

Contexto 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

alcance

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 a los valores recomendados que se muestran:

Tabla 3.

Contexto 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 está filtrando los ID de aplicación, porque es posible que necesite agregar las aplicaciones de WebEx a la lista de permitidos:

  1. Ejecute AS_CLI/system/pushnotification > obtener y comprobar el valor de enforceAllowedApplicationList. Si es verdadero , debe completar esta subtarea. De lo contrario, omita el resto de la subtarea.

  2. AS_CLI/System/PushNotification/AllowedApplications > Agregar com. Cisco. WX2. Android "WebEx Android"

  3. AS_CLI/System/PushNotification/AllowedApplications > Agregar com. Cisco. Square "WebEx iOS"

1

Reinicie el de XSP:

bwrestart
2

Para probar las notificaciones de llamadas en Android, realice llamadas de un suscriptor de BroadWorks al cliente que llama en Android. Verifique que la notificación de llamada aparezca en el dispositivo Android.

Nota: Si las notificaciones de inserción empiezan a fallar para la aplicación de Android UC-1, es posible que 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. Reinicie XSP: bwrestart

  3. Compruebe la configuración.

  4. Vuelva a activar FCMv1 y reinicie el de XSP.

  5. Repita la prueba.

3

Para probar las notificaciones de llamadas en iOS, realice llamadas de un suscriptor de BroadWorks al cliente que llama en iOS. Verifique que la notificación de llamada aparezca en el dispositivo iOS.

Nota: Si las notificaciones de inserción no se inician correctamente para la aplicación UC-1 de iOS, es posible que haya un error de configuración. Si esta es su situación, puede volver a la interfaz binaria heredada con set HTTP2Enabled false