Introduction
Ce document décrit comment résoudre les problèmes de boîte aux lettres désynchronisée entre CUC et Google Workspace.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Cisco Unity Connection (CUC)
- Espace de travail Google
- Protocole SMTP (Simple Mail Transfer Protocol)
Composants utilisés
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
Les serveurs Publisher et Subscriber sont opérationnels, mais les tentatives d'envoi de notifications par messagerie vocale (boîte de réception unique ou fonctionnalité de messagerie vocale vers e-mail) ont échoué.
Accédez à la page CUC Administration > Unified Messaging > Unified Messaging Services > Open the Unified Messaging Account. Même si les configurations sont correctement configurées, il existe des erreurs de synchronisation.
Désynchronisation de la messagerie unifiée (Cisco Unity vers Google Mail)
Résultats de validation UM
Cette erreur est également visible.
Status: User mailbox is out of sync, press Reset for resync
Unified Messaging Service: Cisco Unity to Google Mail
Service Type: Google Workspace
User Corporate Email Address: userid@domain.com
[Checked] Synchronize Connection and Google Workspace Mailboxes (Single inbox)
Dépannage
Configuration Google
Étape 1. Accédez à la console Google et supprimez le compte de service déjà créé.
Étape 2. Ajouter un nouveau compte de service
Étape 3. Affectation de ces rôles
- Administrateur de clé de compte de service
- Utilisateur du compte de service
- Pub/Administrateur secondaire
Étape 4. Enregistrez le compte généré et téléchargez le fichier de clé (type JSON).
Étape 5. Copiez l’ID client du compte de service.
Étape 6. Dans le champ Étendues OAuth (Google Admin Console), copiez et collez la liste des étendues délimitées par des virgules des URL suivantes :
Étape 7. Autorisation des étendues et enregistrement
Étape 8. Téléchargez le nouveau fichier JSON dans la configuration de Google Workspace UMS et enregistrez-le.
Si le service a échoué après les vérifications effectuées, rassemblez le notificateur de Google Workspace de Connection.
Définissez ces macro-traces :
- Traces de boîte de réception unique
- Suivi des messages
Définissez ces microtraces :
- CsMbxSync : 10-23
- CsEws : tout
- EWSNotify : tout
- CsWebDave : 10-14
- CuEsd : 0,5,7
- MTA : 10-30
- Cuca : tout
- CsExMbxLocator : tout
- DBEvent : 3,12
Conseil : ces niveaux de débogage microtraces et macrotraces s'appliquent à tous les problèmes de boîte de réception unique/messagerie unifiée.
Dans le notificateur de connexion à Google Workspace, le message « JWT: Le jeton doit être un jeton à durée de vie courte (60 minutes) et une erreur « dans un délai raisonnable » s'affiche.
14:14:10.894 |3917,,,CuGSuiteSyncSrv,22,GSuiteServiceOpTh-40,com.cisco.unity.gsuite.services.GSuiteActionItems.sendMessage - Try # 1 Google Api send message on gsuite
14:14:11.052 |3917,,,CuGSuiteSyncSrv,23,GSuiteServiceOpTh-40,com.cisco.unity.gsuite.services.GSuiteActionItems.sendMessage - Google Api send message on gsuite failed with message 400 Bad Request
{
"error" : "invalid_grant",
"error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems."
}
14:14:11.052 |3917,,,CuGSuiteSyncSrv,1,GSuiteServiceOpTh-40,com.cisco.unity.gsuite.serviceability.CuGsuiteSyncPerfCounters.incrementHttpsRqstError - Incrementing Http Request Failed counter by 1
14:14:11.052 |3917,,,CuGSuiteSyncSrv,1,GSuiteServiceOpTh-40,com.cisco.unity.gsuite.serviceability.CuGsuiteSyncPerfCounters.incrementHttpsRqstError - Total Http Request Failed after update: 3543
14:14:11.052 |3917,,,CuGSuiteSyncSrv,24,CxnResetSynchService.createNewMsgOnGSuite - 400 Bad Request
{
"error" : "invalid_grant",
"error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems."
}
Clock Skew: This suggests that the system clock on the server generating the token may be out of sync with Google's servers. Even a small mismatch (e.g., a few seconds) can cause this issue.
14:14:11.052 |3917,,,CuGSuiteSyncSrv,24,com.cisco.unity.gsuite.services.GSuiteActionItems.sendMessage(GSuiteActionItems.java:1132)
com.cisco.unity.gsuite.GSuiteMessageUtility.createMessageOnGmail(GSuiteMessageUtility.java:615)
com.cisco.unity.gsuite.GSuiteMessageUtility.createNewMessageOnGmail(GSuiteMessageUtility.java:475)
com.cisco.unity.gsuite.reset.CxnResetSynchService.createNewMsgOnGSuite(CxnResetSynchService.java:343)
com.cisco.unity.gsuite.reset.CxnResetSynchService.checkWhereToSync(CxnResetSynchService.java:318)
com.cisco.unity.gsuite.reset.CxnResetSynchService.syncCnxMessage(CxnResetSynchService.java:282)
com.cisco.unity.gsuite.reset.CxnResetSynchService.sync(CxnResetSynchService.java:755)
com.cisco.unity.gsuite.reset.UMASyncWorker.resync(UMASyncWorker.java:220)
com.cisco.unity.gsuite.reset.UMASyncWorker.run(UMASyncWorker.java:109)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
Solution
Le JSON Web Token (JWT) utilisé pour l'authentification avec l'API Google n'est pas valide, et c'est la raison de l'échec, comme le montre l'erreur « invalid grant » plusieurs fois dans les journaux. Il a expiré ou son horodatage (valeurs iat ou exp) est en dehors de la plage acceptable.
Les API Google exigent que les jetons soient de courte durée (généralement 1 heure ou moins) et que la demande soit effectuée dans le délai valide du jeton. Cela est lié à la manière dont les jetons sont gérés entre le CUC et Google.
Assurez-vous que la durée de vie (TTL) du jeton est inférieure à 60 minutes et que le protocole NTP (Network Time Protocol) est synchronisé sur les serveurs, les ordinateurs et Internet.