Présentation du proxy d’authentification NPS


Cet article décrit comment configurer un NPS partagé pour utiliser le proxy d’authentification NPS, pour qu’il puisse également être utilisé pour pousser les 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.

Aperçu du proxy NPS

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

La fonctionnalité implémente un nouveau design dans le serveur Push de notification pour résoudre la vulnérabilité de sécurité du partage des clés privées de notification Push avec les fournisseurs de services pour les clients mobiles. Au lieu de partager les certificats et les clés de notification Push avec le fournisseur de service, le NPS utilise une nouvelle API pour obtenir un jeton de notification Push de courte qualité provenant du backend UCaaS et utilise ce jeton pour l’authentification avec les API Apple et les services Google FCM.

La fonctionnalité améliore également la capacité du serveur de notification Push pour envoyer les notifications sur les périphériques Android via la nouvelle API HTTPv1 de la messagerie Google Firebase Cloud Messaging (FCM).

Les patchs BroadWorks pour la fonctionnalité sont disponibles sur Xchange : https://xchange.broadsoft.com/node/1046235

Pour plus d’informations, voir le serveur Push pour les VoIP description de la fonctionnalité UCaaS sur Xchange : https://xchange.broadsoft.com/node/1045458

Le XSP (ou ADP de la plateforme de livraison d’applications) qui héberge NPS doit répondre aux exigences suivantes :

Versions minimum 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 afin d’éliminer les interférences lors de l’envoi 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 plus récente XSP, ou ADP.

    R22/R23 XSP est compatible avec une pile R21 si le XSP exécute uniquement NPS et le AS est R21. SP1. Voir la matrice de compatibilité BroadWorks pour plus d’informations.

  • Des informations complémentaires 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 uniquement l’application Webex) : Ne changez pas le NPS de l’utilisation de l’API FCM héritée à l’utilisation de l’API FCM HTTP v1 avant de configurer le Proxy NPS.

    Vous pouvez changer sur tout en configurant NPS pour utiliser le proxy NPS.

  • Lorsque vous avez vérifié que les notifications fonctionnent correctement pour les applications plus anciennes avec le proxy NPS, vous pouvez supprimer la clé API FCM pour l’application Android, ainsi que la clé d’th des APNs pour l’application iOS.

APNs HTTP/2

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

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

Android FCMv1

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

  • Si le XSP/ADP prend actuellement en charge l’application Connect ou UC-One SaaS, alors les clés FCMv1 ne peuvent pas être activées avant de configurer 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 les désactiver jusqu’à ce que vous soyez prêt à terminer les instructions d’installation (le flux de migration est documenté 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 une tâche est-elle requise ?

1

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

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

2

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

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 est supporté par UC-One Connect et/ou autres applications Android (non Cisco).

4

Ré-activer le mode FCM legacy.

Si le NPS supporte UC-One SaaS. Si vous laissez FCMv1 activé, avant de configurer le proxy NPS, alors poussez les notifications sur UC-One SaaS et échouez.

5

Installer les patches du proxy d’authentification NPS.

Si NPS est sur XSP R22 ou XSP R23.

6

Configurer NPS pour utiliser le proxy d’authentification NPS :

  • Joindre la support technique à partir du NPS

  • Demander le compte OAuth CI

  • Créez un compte CI sur NPS et configurez l’actualisation du délai d’actualisation du jeton

  • Ajouter les id de l’application Android

  • Ajouter des ids de l’application iOS

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

  • Ajouter des applications à la liste d’autoriser AS

  • (Ré-) Activer FCMv1

  • Redémarrer XSP /ADP

  • Tester les PN pour les applications iOS et Android

Toujours obligatoire.

7

Supprimer les clés du mode FCM hérité.

Pour les applications qui sont supportées avec succès par NPS sur FCMv1.

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

Avant de commencer

Si votre XSP fonctionne sur R22, vous devez appliquer l’ap354313 avant de pouvoir configurer l’application NPS pour utiliser HTTP/2 pour APNS.

1

Définissez l’URL de production et les paramètres de connexion sur XSP_CLI/Applications/NotificationPushServer/APNS/Production>

configurer l’url https://api.push.apple.com/3/device

configurer la connexionSize 2

configurer la connexionTimeout 3000

configurer la connexionIdleTimeoutIn PlusSi00

Remarque : Ne définissez pas l’heure d’heure avant la fin de la connexion inférieure à 1 000.

2

Ajoutez les ID de l’application au contexte des applications APNS, en s’assurer d’omettre la clé d’auth – la configurer sur vide.

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

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

3

Vérifiez les clés d’th XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> obtenir

4

Si la clé d'1 auth n’est pas vide pour com.broadsoft.uc-one, vous pouvez la effacer avec les touches XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> effacer la touched’authkey

5

Activer HTTP/2 :

XSP_CLI/Applications/NotificationPushServer/APNS/GeneralSettings> http2Enabled true (vrai) http2Enabled

6

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

7

Faites défiler jusqu’à la section Serveur Push de notification et sélectionnez votre version (par exemple 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 pouvez 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(e) à configurer le proxy d’authentification NPS, ou que les notifications aux clients SaaS échoueront.

1

Obtenir l’ID du projet à partir de la console Firebase :

  1. Connectez-vous à l 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. Créez un nouveau compte de service et obtenez sa clé privée.

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

    Remarque : Le compte de service doit avoir la permission firebaseadmin-sdk.

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

3

Copiez la clé vers 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> ajouter un chemind’id de projet/à/keyfile

5

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

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

6

Vérifiez la configuration pour FCM par rapport aux attributs et aux valeurs recommandées affichées ici. Utilisez la version définie de la commande pour changer les valeurs si nécessaire :

Exécutez XSP_CLI/Applications/NotificationPushServer/FCM> obtenir

Paramètre

Valeur recommandée

authURL

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

URL push

https://fcm.googleapis.com/v1/projects/PROJECT-ID/messages :envoyer

Portée

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

TokenTimeToLiveIn PlusDes

3600

ConnexionSize

10

Détails de la connexionOutils

3 000

ConnexionIdleTimeoutInCis

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 pouvez 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(e) à configurer le proxy d’authentification NPS, ou que les notifications aux clients SaaS échoueront.

1

Obtenir l’ID du projet à partir de la console Firebase :

  1. Connectez-vous à l 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. Créez un nouveau compte de service et obtenez sa clé privée.

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

    Remarque : Le compte de service doit avoir la permission firebaseadmin-sdk.

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

3

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

4

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

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

5

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

ADP_CLI/Applications/NotificationPushServer/FCM/Applications> ajouter 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-ucaas

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

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

  • 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 être activées uniquement au cours du processus de configuration du proxy d’authentification NPS.

1

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

2

Accédez au contexte FCM et désactivez FCM v1 : XSP_CLI/Applications/NotificationPushServer/FCM> définissez la clé V1enabled false (faux) pour revenir à l’utilisation de la clé API fcm héritée.

Installez les patches suivants pour prendre en charge la fonctionnalité de proxy d’authentification NPS :

Patchs R22

Patchs R23

1

Créez une demande de service avec votre contact d’intégration, ou avec le CAT, pour provisionner votre compte client (Webex Identité commune) OAuth. Titleez votre demande de service Configuration NPS pour l’installation du proxy d'1ère.

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

Créer le compte client sur le NPS :

XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> configurer client ID du client-Id-De-Étape1


  XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> configurer le clientSecret Nouveau mot de passe : client-Secret-De-Étape1

  XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> Configurer le nouveau mot de passe  RefreshToken : Actualiser-Jeton à partir de l’étape 1

Pour vérifier que les valeurs que vous avez saisies correspondent à ce qui vous a été accordé, exécutez XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> recevez

3

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

XSP_CLI/Applications/NotificationPushServer/Cloud URL > cloud URL https://nps.uc-one.broadsoft.com/nps/

XSP_CLI/Applications/NotificationPushServer/CloudNBSService> set VOIPTokenRefreshInterval 1800

4

(Pour les notifications Android) Ajoutez les ID de l’application Android au contexte des applications FCM sur le NPS.

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

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

5

(Pour les notifications Apple iOS) Ajoutez l’ID de l’application au contexte des applications APNS, en s’assurer d’omettre la clé d’auth – la configurer sur vide.

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

Pour l’application UC-One sur iOS : XSP_CLI/Applications/NotificationPushServer/APNS/Production/Tokens> ajouter 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

URL push

https://fcm.googleapis.com/v1/projects//messages:send

Portée

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 aux valeurs recommandées indiquées :

Tableau 3.

Contexte CLI XSP

Paramètre

Valeur

XSP_CLI/Applications/NotificationPushServer/FCM>

TokenTimeToLiveIn PlusDes

3600

ConnexionSize

10

Détails de la connexionOutils

3 000

ConnexionIdleTimeoutInCis

600

XSP_CLI/Applications/NotificationPushServer/APNS/Production>

Temps d’arrêt de la connexion

3 000

ConnexionSize

2

ConnexionIdleTimeoutInCis

600

8

Vérifiez si le serveur d’applications fait de la vérification des ID d’applications, car vous devrez peut-être ajouter les applications Webex à la liste d’autoriser :

  1. Exécutez AS_CLI/System/PushNotification> et vérifiez la valeur deenforceAllowedApplicationList. Si c’estvrai, vous devez effectuer cette sous-tâche. Sinon, ignorez le reste de la sous-tâche.

  2. AS_CLI/System/PushNotification/AllowedApplications> ajouter com.cisco.wx2.android « Webex Android »

  3. AS_CLI/System/PushNotification/AllowedApplications> ajouter com.cisco.squared « Webex iOS »

1

Redémarrez le XSP :

bwrestart
2

Testez les notifications d’appel sur Android en appelant à partir d’un abonné BroadWorks vers le client appelant sur Android. Vérifiez que la notification d’appel s’affiche sur l’appareil Android.

Remarque : Si les notifications Push commencent à échouer pour l’application Android UC-One, il est possible qu’il y a une mauvaise configuration. Dans ce cas, vous pouvez revenir à l’héritage FCM comme suit :

  1. Désactiver FCMv1 : XSP_CLI/Applications/NotificationPushServer/FCM> V1Enabled false (faux)

  2. Redémarrer XSP : bwrestart

  3. Vérifiez votre configuration.

  4. Activez FCMv1 et redémarrez le XSP.

  5. Répétez le test.

3

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

Remarque : Si les notifications Push commencent à échouer pour l’application iOS UC-One, il est possible qu’il y a une mauvaise configuration. Si c’est votre situation, vous pouvez revenir à l’interface binaire héritée avec l’option HTTP2Enable false (faux)