Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Troubleshooting

Solução

Verificar

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.