Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Risoluzione dei problemi

Soluzione

Verifica

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.