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).
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.