Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Informazioni generali

Problema

Risoluzione dei problemi

Riepilogo

Soluzione

Introduzione

In questo documento viene descritto come risolvere i problemi di Cisco Unified Intelligence Center (CUIC) quando non è in grado di connettersi all'amministrazione e al server di database (ADS) di Contact Center Enterprise (CCE).

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Cisco Unified Contact Center Enterprise (UCCE)

- Database locale awdb di amministrazione e server database (ADS)

- CUIC

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software:

- CUIC 11.5

- UCCE 11.6

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.

Informazioni generali

CUIC si connette all'awdb sul server ADS. Quando la connessione ha esito negativo e si è verificato un errore specifico e si sono raccolti i registri CUIC, viene visualizzato questo errore.

0000177816: 10.10.10.10: Jul 14 2018 00:18:21.816 -0700: %CCBU___________CUIC-6-INFO: Checking if it's ok to switch the DS nodes based on exception thrown: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'

java.sql.SQLException: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'

at com.informix.util.IfxErrMsg.getLocSQLException(IfxErrMsg.java:493)

at com.informix.jdbc.IfxDriver.checkURL(IfxDriver.java:560)

at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:208)

at java.sql.DriverManager.getConnection(DriverManager.java:571)

at java.sql.DriverManager.getConnection(DriverManager.java:215)

Si tratta di un errore generico che indica che l'accesso all'origine dati di SQL Server non è riuscito. Un motivo comune per questo errore è un errore del processo di handshake TLS (Transport Layer Security) tra CUIC e il server ADS.

Problema

Quando CUIC non è in grado di connettersi al database e pertanto non viene visualizzata alcuna informazione quando viene generato un report, in Pagina principale CUIC > Origini dati è possibile visualizzare l'origine dati offline (X rossa) come mostrato nell'immagine.

Quando l'origine dati viene modificata, se è selezionato il pulsante Test di connessione, viene visualizzato questo errore, come mostrato nell'immagine.

Questo è l'errore specifico segnalato: "Per l'host di database UCCE.cc.lab Sottoprotocollo non valido Sottoprotocollo non valido: 'sql server' " come mostrato nell'immagine.

Risoluzione dei problemi

Passaggio 1. Raccolta dei log dell'applicazione CUIC.

Passaggio 2. Nei log dell'applicazione CUIC è presente l'eccezione relativa a questo problema.

0000177816: 10.10.10.10: Jul 14 2018 00:18:21.816 -0700: %CCBU___________CUIC-6-INFO:  Checking if it's ok to switch the DS nodes based on exception thrown: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'

java.sql.SQLException: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'

at com.informix.util.IfxErrMsg.getLocSQLException(IfxErrMsg.java:493)

at com.informix.jdbc.IfxDriver.checkURL(IfxDriver.java:560)

at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:208)

at java.sql.DriverManager.getConnection(DriverManager.java:571)

at java.sql.DriverManager.getConnection(DriverManager.java:215)

Nota: UCCE 11.6 supporta Transport Layer Security (TLS) 1.2 per la connessione ad ADS. Questo errore è correlato alla mancata corrispondenza della versione TLS in quanto CUIC 11.5 supporta solo TLS 1.0/1.1. Per ulteriori informazioni, fare riferimento alla matrice di compatibilità.

Riepilogo

L'errore in questo scenario è dovuto al fatto che CUIC 11.5 utilizza TLS 1.0, mentre la versione utilizzata da Microsoft SQL Server è TLS 1.2.

Esiste un difetto di miglioramento relativo a questo problema di compatibilità TLS, in cui questo comportamento è descritto in dettaglio: CSCvd35048 .

Soluzione

L'errore nei log indica solo che la connessione all'origine dati non è riuscita per diversi motivi. Se il problema è relativo a un errore di negoziazione TLS, è possibile implementare due opzioni per risolverlo.

Opzione 1. CUIC 11.6 supporta TLS 1.2 per impostazione predefinita. Aggiornare il server CUIC alla versione 11.6 e installare in modo proattivo il file COP più recente. Questa è l'opzione consigliata.

Opzione 2. È possibile anche utilizzare una soluzione temporanea.  È possibile modificare alcune chiavi del Registro di sistema in ADS per utilizzare TLS 1.0. Si tratta delle chiavi del Registro di sistema che devono essere modificate.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "Enabled"=dword:00000001(Defaults to 0 and disables by default)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "Enabled"=dword:00000001(Defaults to 0 and disables by default)

Attenzione: L'opzione 2 non è consigliata. Utilizzarlo solo se non è possibile aggiornare CUIC alla versione 11.6.