Introducción
Este documento describe cómo resolver problemas cuando Mailbox Out of Sync entre CUC y Google Workspace.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Cisco Unity Connection (CUC)
- Google Workspace
- Protocolo Simple Mail Transfer (SMTP)
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Los servidores del editor y del suscriptor están operativos, pero se ha producido un error al intentar enviar notificaciones de correo de voz (bandeja de entrada única o función de correo de voz a correo electrónico).
Vaya a la Página de Administración de CUC > Mensajería unificada > Servicios de mensajería unificada > Abrir la cuenta de mensajería unificada. Aunque las configuraciones estén correctamente configuradas, hay errores de sincronización.
UM (Cisco Unity a Google Mail) fuera de sincronización
Resultados de validación de UM
Este error también se ve.
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)
Troubleshoot
Configuración de Google
Paso 1. Navegue hasta Google Console y elimine la cuenta de servicio ya creada.
Paso 2. Agregue una nueva cuenta de servicio.
Paso 3. Asignar estas funciones
- Administrador de clave de cuenta de servicio
- Usuario de cuenta de servicio
- Pub/Sub Admin
Paso 4. Guarde la cuenta generada y descargue el archivo de clave (tipo JSON).
Paso 5. Copie la ID de cliente de la cuenta de servicio.
Paso 6. En el campo Ámbitos de OAuth (Google Admin Console), copie y pegue estas URLs con una lista de ámbitos delimitada por comas:
Paso 7. Se autorizaron los ámbitos y se guardó.
Paso 8. Cargue el nuevo archivo JSON en la configuración de UMS de Google Workspace y guárdelo.
Si el servicio ha fallado después de las comprobaciones realizadas, recopile el notificador de Connection Google Workspace.
Establezca estos Macrotraces:
- Rastreos de bandeja de entrada única
- Rastreos de rastreo de mensajes
Establezca estos microseguimientos:
- CsMbxSync: 10-23
- CsEws: Todos
- EWSNotify: Todos
- CsWebDav: 10-14
- CuEsd: 0,5,7
- MTA: 10-30
- Cuca: Todos
- CsExMbxLocator: Todos
- DBEvent: 3,12
Sugerencia: estos niveles de depuración de microseguimientos y macroseguimientos se aplican a todos los problemas de Bandeja de entrada única/Mensajería unificada.
En el notificador de Connection Google Workspace, el "JWT: El token debe ser un token de corta duración (60 minutos) y se observa un error "en un período de tiempo razonable".
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)
Solución
El token web JSON (JWT) utilizado para autenticarse con la API de Google no es válido, y esa es la razón de la falla, como se ha visto el error de "concesión no válida" varias veces a través de los registros. Ha caducado o su marca de tiempo (valores iat o exp) está fuera del intervalo aceptable.
Las API de Google requieren que los tokens sean de corta duración (normalmente 1 hora o menos) y que la solicitud se realice dentro del período de tiempo válido del token. Esto está relacionado con la forma en que se gestionan los tokens entre el CUC y Google.
Asegúrese de que el tiempo de vida (TTL) del token sea inferior a 60 minutos y que el protocolo de tiempo de la red (NTP) esté sincronizado en los servidores, equipos e Internet.