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 solution Webex pour BroadWorks.

Aperçu du proxy NPS

Pour la compatibilité avec Webex pour BroadWorks, votre NPS doit être corrigé pour prendre en charge la fonction de 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 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 services Apple APN et 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 Google Firebase Cloud Messaging (FCM).

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.

  • Vous trouverez plus d'informations sur le serveur ADP sur Cisco BroadWorks Application Delivery Platform.

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 tout d’abord le proxy NPS, puis changez le NPS de l’utilisation de l’API FCM héritée à l’utilisation de l’API FCM HTTP v1.

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

APNs HTTP/2

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

  • XSP/ADP qui supportent déjà l’application Collaborate or 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 du protocole 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 proviennent pas de Cisco/BroadSoft, configurez ces applications pour utiliser les clés FCMv1 avant de configurer NPS pour utiliser le proxy NPS.

  • Si XSP/ADP prend actuellement en charge l'application Connect ou UC-One SaaS, puis 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, de les activer et de les tester, puis de les désactiver jusqu'à ce que vous soyez prêt à suivre les instructions de configuration (le flux de migration est documenté dans cet article).

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

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 en charge UC-One Connect et/ou autres applications Android (non Cisco).

4

Activer à nouveau 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 les id 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 vers 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>

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

set connectionPoolSize 2

set connectionTimeout 3000

set connectionIdleTimeoutInSeconds 600

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> add com.broadsoft.uc-one

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

3

Vérifier les touches d’th 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 UC-One SaaS uniquement : Connectez-vous au portail revendeur et accédez à Configuration > BroadWorks > .

7

Faites défiler jusqu'à la section Notification Push Server 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 disposer de l'autorisation 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> add project-id path/to/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> add 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 set de la commande pour modifier les 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

3000

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 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 disposer de l'autorisation 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> add 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> 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) 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> set V1enabled false pour revenir à l’utilisation de la clé API fcM héritée.

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’connexion.

Nous vous fournissons un identifiant client OAuth, un secret client et un jeton d'actualisation valable 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> 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

Exécutez la commande pour vérifier que les valeurs que vous avez saisies correspondent à celles qui vous ont été fournies. XSP_CLI/Applications/NotificationPushServer/CiscoCI/Client> get

3

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

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

Pour améliorer la vitesse de résolution DNS, au lieu du FQDN actuel nps.uc-one.broadsoft.com, nous vous recommandons d'utiliser le FQDN approprié en fonction de votre région.

Noms de domaine complets basés sur la région :

Est des États-Unis :

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

Ouest des États-Unis :

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

Europe :

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

XSP_CLI/Applications/NotificationPushServer/CloudNPSService> set VOIPTokenRefreshInterval 1800

Si les notifications push expirent en raison d'un retard dans la résolution DNS, augmentez la valeur du délai d'expiration dans le "/etc/resolv.conf" fichier sur le serveur BroadWorks.

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> 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 s’assurer d’omettre la clé Dauth – la configurer 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 :

Contexte XSP CLI

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

Contexte CLI XSP

Paramètre

Valeur

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

Vérifiez si le serveur d’applications vérifie les ID des applications, car vous devez ajouter les applications Webex à la liste d’autoriser :

  1. Exécutez AS_CLI/System/PushNotification> get et vérifiez la valeur de enforceAllowedApplicationList. Si c'est true, vous devez terminer 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 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> set V1Enabled false

  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 set HTTP2Enabled false