Introdução
Este documento descreve como solucionar problemas de "400 erros de solicitação" do APNS; um problema conhecido documentado no bug da Cisco IDCSCvi01660.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
Apple Push Notifications
configuração.
Apple Push Notifications
funcionalidade.
Componentes Utilizados
Este documento não está restrito a versões específicas de hardware e software.
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
Quando seu cluster está habilitado para notificações por push, o Cisco Unified Communications Manager e o Serviço IM e Presence usam o serviço de notificação por push da nuvem da Apple ou Google para enviar notificações por push para clientes compatíveis com o Cisco Jabber ou Webex que são executados em dispositivos iOS ou Android. As Notificações por Push permitem que o sistema se comunique com o cliente, mesmo depois de entrar no modo de segundo plano (também conhecido como modo suspenso). Sem as Notificações por Push, o sistema possivelmente não consegue enviar chamadas ou mensagens para clientes que entraram no modo de segundo plano.
Para autenticar com o Cisco Cloud, o Cisco Communications Manager Server gera um token como parte do processo de integração. Se você receber uma mensagem "400 solicitação incorreta", o token de acesso da sua máquina ao serviço de notificações por envio expirou e você precisa atualizar o token de acesso manualmente, de acordo com a documentação:
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/push_notifications/cucm_b_push-notifications-deployment-guide/cucm_b_push-notifications-deployment-guide_chapter_01.html?bookSearch=true
Troubleshooting
Defina os próximos logs para depurá-los e coletá-los com a Real Time Monitoring Tool:
Cisco Unified Communications Manager
:
Serviço de notificação por push da Cisco
Serviço do Agente de Gerenciamento Cisco
Mensagens instantâneas e presença do Cisco Unified Communications Manager:
Cisco XCP Config Manager
Cisco XCP Router
Nos logs do serviço de notificação por push da Cisco, você pode ver que o CUCM recebe vários 400 respostas ao buscar o token que faz com que o APNS falhe, portanto os contadores não aumentam:
2024-07-16 15:09:50,514 DEBUG [Timer-144] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:19:51,007 DEBUG [Timer-145] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:29:51,605 DEBUG [Timer-146] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:39:52,096 DEBUG [Timer-147] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:49:52,565 DEBUG [Timer-148] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:59:53,032 DEBUG [Timer-149] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400
Você pode ver uma resposta inválida nos registros do roteador Cisco XCP por volta do momento em que a chamada é feita:
2024-07-16 17:21:43,464 DEBUG [Timer-1382] xmlframework.XCPConfigMgr - FetchAndStoreAccessToken: Calling createAccessToken() with granttype:refresh_token, refreshToken:MTc2YzFhN2YtMDA1Ny00MTVlLWJGZmMjcwYTU3MjY1NGI1NzItZmE0, accessTokenURL proxyUsernamenull 2024-07-16 17:21:43,468 INFO [Timer-1382] utilities.CloudOnboarding - TRACKING ID:::::::FOS_e8e8ee93-818f-4fe5-8a23-6b08a879b91b 2024-07-16 17:21:43,790 ERROR [Timer-1382] utilities.TomcatTrustManager - checkServerTrusted:entered 2024-07-16 17:21:43,791 ERROR [Timer-1382] utilities.TomcatTrustManager - checkServerTrusted:entered 2 2024-07-16 17:21:43,958 DEBUG [Timer-1382] xmlframework.XCPConfigMgr - XCPConfigMgr:Inside responseStatus() 2024-07-16 17:21:43,958 ERROR [Timer-1382] xmlframework.XCPConfigMgr - 400 Bad Request: invalid_request, unsupported_grant_type, invalid_client, invalid_refresh_token, tokenlimit_reached 2019-07-16 17:21:43,958 DEBUG [Timer-1382] xmlframework.XCPConfigMgr - XCPConfigMgr:FetchAndStoreAccessToken: Inside Finally Block
Este é um bug da Cisco ID CSCvi01660.
Solução
Crie um sistema de laboratório e atualize o token de atualização do laboratório para o sistema de produção.
Depois de implementar o sistema do laboratório, execute as próximas etapas:
Passo 1:
No editor do Call Manager, abra uma sessão CLI e execute o comando "run sql select * from machineaccount details" e salve toda a saída em um arquivo .txt:
Depois que toda a saída for salva, preste atenção especial ao pkid do Call Manager, por exemplo, nosso ambiente de laboratório é "e40c24c0-cd4c-4256".
Além disso, execute o comando "run sql select * from machineaccount details" em seu ambiente de laboratório e salve toda a saída em um arquivo .txt.
Preste atenção especial ao token de atualização em seu ambiente de laboratório, pois este é o token válido que usamos para substituir o token inválido em seu ambiente de produção. Em nosso ambiente de laboratório é algo como "OGYyZGI2MWMtNjUwYy00Y2FiLThh" (em inglês).
Passo 2:
Precisamos substituir seu token de atualização não funcional atual pelo token de laboratório válido.
Depois de salvar seu filho de produção, execute esta consulta sql no seu editor de produção do Call Manager:
execute sql update machineaccountdetails set refreshtoken='aqui vai o token de atualização válido do seu ambiente de laboratório' onde pkid='aqui vai o seu pkid de produção'.
A consulta sql anterior altera o token inoperante com o que está funcionando no ambiente do laboratório.
Passo 3:
Depois de atualizar os detalhes da conta da máquina com o token de atualização do laboratório, reinicie estes serviços:
Cisco Unified Communications Manager
::
- Cisco Management Agent Service (CMAS)
- Serviço de Notificação por Push da Cisco (CCMPNS)
- Tomcat
Mensagens instantâneas e presença do Cisco Unified Communications Manager:
- Gerenciador de configuração XCP
- Roteador XCP
- Tomcat
Esses serviços devem ser reiniciados após o horário comercial para evitar qualquer impacto no serviço.
Verificar
Agora execute novamente "run sql select * from machineaccount details" em todos os nós, incluindo os IMPs, e verifique agora se você tem meu token de atualização.