Introduzione
Questo documento descrive come risolvere i problemi relativi agli errori "400 bad request" dei servizi APN; un problema noto documentato nel bug Cisco IDCSCvi01660.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
Apple Push Notifications
configurazione.
Apple Push Notifications
funzionalità.
Componenti usati
Il documento può essere consultato per tutte le versioni hardware o software.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Quando il cluster è abilitato per le notifiche Push, Cisco Unified Communications Manager e il servizio di messaggistica immediata e presenza utilizzano il servizio di notifica Push di Apple o Google Cloud per inviare le notifiche Push ai client Cisco Jabber o Webex compatibili in esecuzione su dispositivi iOS o Android. Le notifiche Push consentono al sistema di comunicare con il client, anche dopo che è entrato in modalità background (nota anche come modalità sospesa). Senza le notifiche Push, il sistema potrebbe non essere in grado di inviare chiamate o messaggi ai client che sono entrati in modalità background.
Per eseguire l'autenticazione con Cisco Cloud, il server Cisco Communications Manager genera un token come parte del processo di caricamento. Se viene visualizzato il messaggio "400 bad request", il token di accesso del computer al servizio Notifiche Push è scaduto ed è necessario aggiornare manualmente il token di accesso in base alla documentazione:
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
Risoluzione dei problemi
Impostare i log successivi per il debug e raccoglierli con lo strumento di monitoraggio in tempo reale:
Cisco Unified Communications Manager
:
Servizio di notifica Push Cisco
Servizio Cisco Management Agent
Messaggistica istantanea e presenza di Cisco Unified Communications Manager:
Cisco XCP Config Manager
Cisco XCP Router
Nei log di Cisco Push Notification Service, è possibile verificare che il CUCM riceve più 400 risposte durante il recupero del token che impedisce il corretto funzionamento del servizio APNS, i contatori non aumentano:
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
È possibile vedere una risposta non valida sui log del router Cisco XCP nel periodo di tempo in cui viene effettuata la chiamata:
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
questo è l'ID bug Cisco CSCvi01660.
Soluzione
Creare un sistema di laboratorio e aggiornare il token di aggiornamento dal laboratorio al sistema di produzione.
Una volta distribuito il sistema di laboratorio, effettuare le seguenti operazioni:
Passaggio 1:
Sul server di pubblicazione di Call Manager aprire una sessione CLI ed eseguire il comando "run sql select * from machine accountdetails" e salvare tutto l'output in un file .txt:
Una volta salvato l'output, prestare particolare attenzione al Call Manager pkid, ad esempio, il nostro ambiente di laboratorio è "e40c24c0-cd4c-4256".
Inoltre, eseguire il comando "esegui sql select * da machineaccountdetails" nell'ambiente di laboratorio e salvare tutto l'output in un file .txt.
Prestare particolare attenzione al token di aggiornamento nell'ambiente di laboratorio poiché è il token valido utilizzato per sostituire il token non valido nell'ambiente di produzione. Nel nostro laboratorio l'ambiente è simile a ".OGYyZGI2MWMtNjUwYy00Y2FiLThh".
Passaggio 2:
È necessario sostituire il token di aggiornamento non funzionante corrente con il token di laboratorio valido.
Dopo aver salvato il bambino di produzione, eseguire questa query SQL nel server di pubblicazione di Gestione chiamate di produzione:
esegui sql update machineaccountdetails set refreshtoken='qui va il token di aggiornamento valido dell'ambiente di laboratorio' dove pkid='qui va il tuo pkid di produzione'.
La query SQL precedente modifica il token non funzionante con quello funzionante dell'ambiente di laboratorio.
Passaggio 3:
Dopo aver aggiornato i dettagli del conto computer con il token di aggiornamento lab, riavviare i servizi seguenti:
Cisco Unified Communications Manager
::
- Cisco Management Agent Service (CMAS)
- Cisco Push Notification Service (CCMPNS)
- Tomcat
Messaggistica istantanea e presenza di Cisco Unified Communications Manager:
- Gestione configurazione XCP
- Router XCP
- Tomcat
Questi servizi devono essere riavviati dopo ore per evitare impatti sul servizio.
Verifica
Eseguire nuovamente "run sql select * from machineaccountdetails" su tutti i nodi, inclusi gli IMP, e verificare di disporre del token di aggiornamento.