Présentation du proxy d'authentification NPS


Cet article décrit comment configurer un NPS partagé pour utiliser le proxy d'authentification NPS, afin qu'il puisse également être utilisé pour envoyer des notifications d'appel vers les applications Webex. Si votre NPS ne prend pas en charge d'autres applications, vous pouvez suivre la procédure simplifiée dans le Guide de la solution Webex pour BroadWorks https://help.webex.com/z9gt5j.

Présentation du proxy NPS

Pour être compatible avec Webex pour BroadWorks, votre NPS doit être corrigé pour prendre en charge la fonctionnalité proxy NPS, Push Server for VoIP in UCaaS.

La fonctionnalité met en œuvre une nouvelle conception dans le serveur de notification push pour résoudre la vulnérabilité de sécurité du partage de clés privées de certificat de notification push avec des fournisseurs de services pour les clients mobiles. Au lieu de partager des certificats et des clés de notification push avec le fournisseur de services, le NPS utilise une nouvelle API pour obtenir un jeton de notification push de courte durée à partir du backend UCaaS, et utilise ce jeton pour l’authentification avec les APN Apple et les services Google FCM.

La fonctionnalité améliore également la capacité du serveur Notification Push à envoyer des notifications vers des périphériques Android via la nouvelle API HTTPv1 de Google Firebase Cloud Messaging (FCM).

Le XSP (ou Application Delivery Platform ADP) qui héberge NPS doit répondre aux exigences suivantes :

Versions minimales et restrictions de co-résidence

  • NPS doit être activé sur un XSP/ADP dédié et NPS doit être la seule application hébergée sur le serveur. Ceci permet d'éliminer les interférences avec la livraison des notifications Push.

  • Il ne doit y avoir qu'une seule application NPS dans un déploiement. Si vous utilisez mobile UC-One Collaborate/Connect et ou UC-One SaaS et que vous implémentez Webex pour BroadWorks, vous devez partager ce NPS unique pour toutes les applications.

  • NPS doit être sur la version R22 ou ultérieure XSP, ou ADP.

    R22/R23 XSP est compatible avec une pile R21 si le XSP exécute uniquement NPS et que l'AS est R21.SP1. Reportez-vous à la Matrice de compatibilité BroadWorks pour plus d'informations.

  • Plus d'informations sur le serveur ADP sont disponibles sur https://xchange.broadsoft.com/node/1051580.

NPS partagé

Lisez ces notes avant de configurer votre NPS partagé pour utiliser le proxy NPS :

  • Si votre NPS est utilisé avec d’autres applications (pas seulement l’application Webex) : Configurez d'abord le proxy NPS, puis changez le NPS d'utiliser l'API FCM existante à l'API FCM HTTP v1.

  • Après avoir vérifié que les notifications fonctionnent correctement pour les anciennes applications avec le proxy NPS, supprimez la clé API FCM pour l'application Android et la clé d'authentification APN pour l'application iOS.

APN HTTP/2

  • Si vous avez déployé des applications iOS qui ne proviennent pas de Cisco/BroadSoft, configurez ces applications pour utiliser le protocole HTTP/2 APNS avant de configurer NPS pour utiliser le proxy NPS.

  • Les XSP/ADP qui prennent déjà en charge l’application Collaborate ou SaaS BroadWorks doivent être migrés vers HTTP/2. Pour des informations détaillées sur la configuration de HTTP/2, voir HTTP/2 Support to Notification Push Server for APNS (la migration de NPS pour prendre en charge ces applications iOS est résumée dans cet article).

Android FCMv1

  • Si vous avez déployé des applications Android qui ne proviennent pas de Cisco/BroadSoft, configurez ces applications pour utiliser les touches FCMv1 avant de configurer NPS pour utiliser le proxy NPS.

  • Si XSP/ADP prend actuellement en charge l'application Connect ou UC-One SaaS, alors activez les clés FCMv1 après avoir configuré le proxy NPS. Nous vous recommandons de migrer toutes les applications supplémentaires vers les clés FCMv1, d'activer et de tester, puis de désactiver jusqu'à ce que vous soyez prêt à terminer les instructions d'installation (le flux de migration est décrit dans cet article).

Figure 1. Résumé visuel de la migration vers le proxy d'authentification NPS
Tableau 1. Résumé des tâches à migrer vers le proxy NPS

Séquence

Titre de la tâche

Quand/pourquoi la tâche est-elle requise ?

1

Migrer NPS vers HTTP/2 pour les applications iOS UC-One SaaS (ou Connect).

Si le NPS prend en charge ces applications et qu'elles ne sont pas encore configurées pour HTTP/2.

2

Migrer NPS vers FCMv1 pour les applications Android UC-One SaaS (ou Connect).

Si le NPS prend en charge ces applications et qu'elles ne sont pas encore configurées pour FCMv1.

3

Activez le mode FCMv1 et testez les notifications push.

Si le NPS prend en charge UC-One Connect et/ou d'autres applications Android (non Cisco).

4

Réactivez le mode existant FCM.

Si le NPS prend en charge UC-One SaaS. Si vous laissez FCMv1 activé, avant de configurer le proxy NPS, les notifications push vers UC-One SaaS commencent à échouer.

5

Installer les patchs du proxy d'authentification NPS.

Si NPS est sur XSP R22 ou XSP R23.

6

Configurez NPS pour utiliser le proxy d'authentification NPS :

  • Joindre l’assistance technique de NPS

  • Demander un compte CI OAuth

  • Créer un compte CI sur NPS et configurer le délai d’expiration du jeton d’actualisation

  • Ajouter les identifiants de l’application Android

  • Ajouter les identifiants de l’application iOS

  • Vérifier/configurer les URL et les délais de connexion

  • Ajouter des applications à la liste autorisée AS

  • (Ré)activer FCMv1

  • Redémarrer XSP / ADP

  • Tester les PN pour les applications iOS et Android

Toujours obligatoire.

7

Retirer les touches de mode existantes du FCM.

Pour les applications prises en charge avec succès par NPS sur FCMv1.

Cette tâche est obligatoire pour les notifications push vers les applications UC-One SaaS et Webex sur les plateformes iOS.

Avant de commencer

Si votre XSP exécute R22, vous devez appliquer ap354313 avant de pouvoir configurer l'application NPS pour utiliser HTTP/2 pour APNS.

1

Définir l'URL de production et les paramètres de connexion à XSP_CLI/Applications/NotificationPushServer/APNS/Production>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

Remarque : Ne configurez pas le délai d'expiration de la connexion au-dessous de 1000.

2

Ajoutez les ID d'application au contexte des applications APNS, en veillant à omettre la clé d'authentification – configurez-la sur vide.

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

Pour l’application Webex : XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

3

Vérifiez les clés d’authentification avec XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> get

4

Si la clé d'authentification n'est pas vide pour com.broadsoft.uc-one, vous pouvez l'effacer avec XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> clear the-authkey

5

Activer HTTP/2 :

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

6

Pour les applications SaaS UC-One uniquement : Connectez-vous au portail revendeur et allez à Configuration > BroadWorks > .

7

Faites défiler jusqu'à la section Notification Push Server, puis sélectionnez votre version (par ex. Version 22), puis suivez les instructions fournies dans le portail.

  • Cette tâche s'applique au NPS sur XSP. Ignorez-le si votre NPS est sur ADP.

  • Vous pouvez utiliser cette procédure pour migrer vers les notifications FCMv1 pour les applications UC-One Connect ou UC-One SaaS Android.

  • Vous devez utiliser FCMv1 si vous souhaitez utiliser le proxy NPS pour authentifier les notifications push vers UC-One ou les applications Webex Android.

  • Cette tâche prépare le NPS pour FCMv1 afin que vous puissiez l'activer dans le cadre de la configuration du proxy d'authentification NPS. N'activez pas FCMv1 tant que vous n'êtes pas prêt à configurer le proxy d'authentification NPS, ou les notifications aux clients SaaS échoueront.

1

Obtenez l'ID du projet à partir de la console Firebase :

  1. Connectez-vous à console.firebase.google.com.

  2. Sélectionnez le projet d’application UC-One (Connect ou SaaS), ouvrez ses paramètres de projet.

  3. Ouvrez l'onglet Général et enregistrez l'ID du projet.

2

Obtenez la clé privée de votre compte de service à partir de Firebase :

  1. Accédez à l’onglet Comptes de service dans les paramètres du projet.

  2. Soit créez un nouveau compte de service et obtenez sa clé privée.

  3. Ou ouvrez un compte de service existant et générez une nouvelle clé privée pour lui.

    Remarque : Le compte de service doit avoir l'autorisation firebaseadmin-sdk.

  4. Téléchargez la clé dans un emplacement sécurisé.

3

Copiez la clé dans le XSP hébergeant votre NPS.

4

Ajoutez l’ID du projet et la clé privée associée au contexte des projets FCM :

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

5

Ajoutez l’application UC-One (Connect ou SaaS) et l’ID de projet associé au contexte des applications FCM :

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

6

Vérifiez la configuration du FCM par rapport aux attributs et aux valeurs recommandées indiqués ici. Utiliser set version de la commande de changement de valeurs si nécessaire :

Exécuter XSP_CLI/Applications/NotificationPushServer/FCM> get

Paramètre

Valeur recommandée

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

3 000

connectionIdleTimeoutInSeconds

600

  • Cette tâche s'applique au NPS sur ADP. Ignorez-le si votre NPS est sur XSP.

  • Vous pouvez utiliser cette procédure pour migrer vers les notifications FCMv1 pour les applications UC-One Connect ou UC-One SaaS Android.

  • Vous devez utiliser FCMv1 si vous souhaitez utiliser le proxy NPS pour authentifier les notifications push vers UC-One ou les applications Webex Android.

  • Cette tâche prépare le NPS pour FCMv1 afin que vous puissiez l'activer dans le cadre de la configuration du proxy d'authentification NPS. N'activez pas FCMv1 tant que vous n'êtes pas prêt à configurer le proxy d'authentification NPS, ou les notifications aux clients SaaS échoueront.

1

Obtenez l'ID du projet à partir de la console Firebase :

  1. Connectez-vous à console.firebase.google.com.

  2. Sélectionnez le projet d’application UC-One (Connect ou SaaS), ouvrez ses paramètres de projet.

  3. Ouvrez l'onglet Général et enregistrez l'ID du projet.

2

Obtenez la clé privée de votre compte de service à partir de Firebase :

  1. Accédez à l’onglet Comptes de service dans les paramètres du projet.

  2. Soit créez un nouveau compte de service et obtenez sa clé privée.

  3. Ou ouvrez un compte de service existant et générez une nouvelle clé privée pour lui.

    Remarque : Le compte de service doit avoir l'autorisation firebaseadmin-sdk.

  4. Téléchargez la clé (fichier .json) vers un emplacement sécurisé.

3

Importer le fichier .json sur le serveur ADP /bw/install.

4

Connectez-vous à ADP CLI et ajoutez la clé du projet et de l’API dans le contexte des projets FCM :

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

5

Ajoutez l'ID de l'application et du projet au contexte des applications FCM :

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

6

Vérifiez votre configuration :

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

Vous devez le faire (dans le cadre de la migration) uniquement si :

  • Votre NPS est utilisé pour les applications Android UC-One SaaS ou BroadWorks Connect.

  • Vous avez déjà testé que les notifications push d’appel vers d’autres applications fonctionnent avec l’API FCMv1.

Vous désactivez temporairement FCMv1 car les clés FCMv1 pour ces applications doivent uniquement être activées pendant le processus de configuration du proxy d'authentification NPS.

1

Connectez-vous au XSP hébergeant votre NPS partagé.

2

Naviguez jusqu'au contexte FCM et désactivez FCM v1 : XSP_CLI/Applications/NotificationPushServer/FCM> set V1enabled false pour revenir à l'utilisation de la clé API FCM existante.

1

Créez une demande de service avec votre contact d’intégration, ou avec le CAT, pour provisionner votre compte client OAuth (Webex Common Identity). Titre de votre demande de service Configuration NPS pour le paramétrage du proxy d'authentification.

Cisco vous donne un ID client OAuth, un secret client et un jeton d’actualisation qui est valide pendant 60 jours. Si le jeton expire avant de l’utiliser avec votre NPS, vous pouvez effectuer une autre demande.
2

Créer le compte client sur le 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

Pour vérifier que les valeurs que vous avez saisies correspondent à ce que vous avez reçu, exécutez XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

Saisissez l’URL du proxy NPS et définissez l’intervalle d’actualisation du jeton (30 minutes recommandées) :

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

4

(Pour les notifications Android) Ajoutez les ID d'application Android au contexte des applications FCM sur le NPS.

Pour l’application Webex sur Android : XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.cisco.wx2.android

Pour l’application UC-One sur Android : XSP_CLI/Applications/NotificationPushServer/FCM/Applications> add com.broadsoft.connect

5

(Pour les notifications Apple iOS) Ajoutez l'ID de l'application au contexte des applications APNS, en veillant à omettre la clé d'authentification - configurez-la sur vide.

Pour l’application Webex sur iOS : XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

Pour l’application UC-One sur iOS : XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> add com.cisco.squared

6

Configurez les URL NPS suivantes :

Tableau 2.

Contexte CLI XSP

Paramètre

Valeur

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

Configurez les paramètres de connexion NPS suivants sur les valeurs recommandées affichées :

Tableau 3.

Contexte CLI XSP

Paramètre

Valeur

XSP_CLI/Applications/NotificationPushServer/FCM>

tokenTimeToLiveInSeconds

3600

connectionPoolSize

10

connectionTimeoutInMilliseconds

3 000

connectionIdleTimeoutInSeconds

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

connectionTimeout

3 000

connectionPoolSize

2

connectionIdleTimeoutInSeconds

600

8

Vérifiez si le serveur d'applications filtre les ID d'applications, car vous devrez peut-être ajouter les applications Webex à la liste autorisée :

  1. Exécuter AS_CLI/System/PushNotification> get et vérifier la valeur de enforceAllowedApplicationList. Si c’est le cas true, vous devez effectuer cette sous-tâche. Sinon, ignorez le reste de la sous-tâche.

  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

Redémarrez le XSP :

bwrestart
2

Testez les notifications d’appel vers Android en passant des appels à partir d’un abonné BroadWorks vers le client appelant sur Android. Vérifiez que la notification d'appel s'affiche sur le périphérique Android.

Remarque : Si les notifications push commencent à échouer pour l'application Android UC-One, il est possible qu'il y ait une mauvaise configuration. Si c'est votre situation, vous pouvez revenir à l'ancien FCM comme suit :

  1. Désactiver le FCMv1 : XSP_CLI/Applications/NotificationPushServer/FCM> set V1Enabled false

  2. Redémarrer XSP : bwrestart

  3. Vérifiez votre configuration.

  4. Réactivez le FCMv1 et redémarrez le XSP.

  5. Répétez le test.

3

Testez les notifications d'appel vers iOS en passant des appels à partir d'un abonné BroadWorks vers le client appelant sur iOS. Vérifiez que la notification d'appel apparaît sur le périphérique iOS.

Remarque : Si les notifications push commencent à échouer pour l'application UC-One iOS, il est possible qu'il y ait une mauvaise configuration. Si c'est votre situation, vous pouvez revenir à l'interface binaire existante avec set HTTP2Enabled false