Introduction
Este documento descreve como solucionar problemas do Cisco Unified Intelligence Center (CUIC) quando o não consegue se conectar ao Contact Center Enterprise (CCE) Administration e ao servidor de banco de dados (ADS).
Informações de fundo
O CUIC se conecta ao awdb no servidor ADS. Quando a conexão falha com um erro específico e você coleta os logs do CUIC, esse erro é exibido.
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)
Este é um erro genérico que indica falha no acesso à fonte de dados do SQL Server. Um motivo comum para esse erro está relacionado a uma falha do processo de handshake do Transport Layer Security (TLS) entre o CUIC e o servidor ADS.
Problema
Quando o CUIC não consegue se conectar ao banco de dados e, portanto, nenhuma informação é apresentada quando um relatório é gerado, na página principal do CUIC > Fontes de dados, você vê a fonte de dados off-line (X vermelho) como mostrado na imagem.
Quando a fonte de dados é editada, se o botão Testar conexão estiver selecionado, você verá esse erro, como mostrado na imagem.
Este é o erro específico relatado: "Para o host do banco de dados UCCE.cc.lab Subprotocolo inválido Subprotocolo inválido: 'sql server' " como mostrado na imagem.
Troubleshoot
Etapa 1. Colete os logs do aplicativo CUIC.
Etapa 2. Nos logs do aplicativo CUIC, você encontrará a exceção relacionada a esse 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)
Note: O UCCE 11.6 oferece suporte ao Transport Layer Security (TLS) 1.2 para conexão com o ADS. Este erro está relacionado à incompatibilidade de versão de TLS, pois o CUIC 11.5 só oferece suporte a TLS 1.0/1.1. Consulte a Matriz de compatibilidade para obter mais informações.
Summary
O erro nesse cenário se deve ao fato de que o CUIC 11.5 usa TLS 1.0, enquanto a versão usada pelo Microsoft SQL Server é TLS 1.2.
Há um defeito de aprimoramento relacionado a esse problema de compatibilidade TLS, no qual esse comportamento é descrito com mais detalhes: CSCvd35048 .
Solução
O erro nos logs indica apenas que a conexão com a fonte de dados falhou por vários motivos. Se o problema estiver relacionado a uma falha de negociação TLS, há duas opções que podem ser implementadas para resolver esse problema.
Opção 1. O CUIC 11.6 suporta TLS 1.2 por padrão. Atualize o servidor CUIC para a versão 11.6 e instale proativamente o arquivo COP mais recente. Essa é a opção recomendada.
Opção 2. Uma solução temporária também pode ser usada. Você pode alterar algumas chaves de registro no ADS para trabalhar com TLS 1.0. Essas são as chaves de registro que precisam ser alteradas.
[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)
Caution: A opção 2 não é recomendada. Use-o apenas se não puder atualizar o CUIC para a versão 11.6.