Introdução
Este documento descreve como solucionar problemas quando a caixa de correio está fora de sincronia entre o CUC e o Google Workspace.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Cisco Unity Connection (CUC)
- Espaço de trabalho do Google
- SMTP (Simple Mail Transfer Protocol)
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Os servidores do Publicador e do Assinante estão operacionais, mas as tentativas de enviar notificações de correio de voz (recurso Caixa de entrada única ou Correio de voz para e-mail) falharam.
Navegue para a página de administração do CUC > Unified Messaging > Unified Messaging Services > Abra a conta do Unified Messaging. Embora as configurações estejam definidas corretamente, há erros de sincronização.
UM (Cisco Unity para Google Mail) fora de sincronia
Resultados da Validação do UM
Esse erro também é visto.
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)
Troubleshooting
Configuração do Google
Etapa 1. Navegue até o Google Console e exclua a conta de serviço já criada.
Etapa 2. Adicionar uma nova conta de serviço.
Etapa 3. Atribuir essas funções
- Administrador de Chave de Conta de Serviço
- Usuário da Conta de Serviço
- Pub/Sub-Admin
Etapa 4. Salve a conta gerada e faça o download do arquivo de chave (tipo JSON).
Etapa 5. Copie o ID do cliente da conta de serviço.
Etapa 6. No campo de escopos OAuth (Google Admin Console), copie e cole estas URLs lista delimitada por vírgulas de escopos:
Etapa 7. Autorizado os escopos e salve.
Etapa 8. Carregado o novo arquivo JSON na configuração UMS do Google Workspace e salve.
Se o serviço tiver falhado após as verificações executadas, colete o Notificador do Google Workspace do Connection.
Defina estes Macrotraces:
- Rastreamentos de Caixa de Entrada Única
- Rastreamentos de Rastreamento de Mensagem
Defina estes microrastreamentos:
- CsMbxSync 10-23
- CsEws: Todos
- EWSNotify: Todos
- CsWebDav: 10-14
- CuEsd: 0,5,7
- MTA: 10-30
- Cuca: Todos
- CsExMbxLocator Todos
- DBEvent (Evento de BD): 3,12
Dica: esses níveis de depuração de microtraces e macrotraces se aplicam a todos os problemas de Caixa de entrada única/Unificação de mensagens.
No Notificador do Connection do Google Workspace, a mensagem Invalid "JWT: O token deve ser um token de vida curta (60 minutos) e em um período de tempo razoável" é visto.
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)
Solução
O JWT (JSON Web Token) usado para autenticar com a API do Google é inválido, e essa é a razão da falha, como visto o erro de "concessão inválida" várias vezes através dos logs. Ele expirou ou seu carimbo de data/hora (valores iat ou exp) está fora do intervalo aceitável.
As APIs do Google exigem que os tokens tenham vida curta (geralmente 1 hora ou menos) e que a solicitação seja feita dentro do período de tempo válido do token. Isso está relacionado à forma como os tokens são tratados entre o CUC e o Google.
Certifique-se de que o Time-To-Live (TTL) do Token seja inferior a 60 minutos e que o Network Time Protocol (NTP) esteja sincronizado entre os servidores, computadores e a Internet.