Contents

Introduction

Prerequisites

Requirements

Components Used

Backgound Information

Problem

Troubleshoot

Summary

Solution

Introduction

This document describes how to troubleshoot Cisco Unified Intelligence Center(CUIC) when is not able to connect to the Contact Center Enterprise (CCE) Administration and Database Server (ADS).

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Cisco Unified Contact Center Enterprise (UCCE)

- Administration and Database Server (ADS) awdb local database

- CUIC

Components Used

The information in this document is based on these software versions:

- CUIC 11.5

- UCCE 11.6

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Backgound Information

CUIC connects to the awdb on the ADS server. When the connection fails with a specific error and you have collected the CUIC logs you see this error.

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)

This is a generic error that indicates that accessing the SQL server data source failed. One common reason for this error relates to a failure of the Transport Layer Security (TLS) handshake process between CUIC and the ADS server.

Problem

When CUIC is not able to connect to the Database and therefore no information is presented when a report is generated,  under CUIC main page > Data Sources,  you see the datasource offline (Red X) as shown in the image.

When the data source is edited, If theTest connect button is selected, you see this error, as shown in the image.

This is the specific error reported: "For database host UCCE.cc.lab Invalid sub-protocol Invalid sub-protocol: 'sql server' " as shown in the image.

Troubleshoot

Step 1. Collect CUIC application logs.

Step 2. In the CUIC application logs you find the exception related to this issue.

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: UCCE 11.6 supports Transport Layer Security (TLS) 1.2 for connection to ADS. This error is related to TLS version mismatch as CUIC 11.5 only supports TLS 1.0/1.1. Reference the  Compatibility matrix  for more information.

Summary

The error in this scenario is due to the fact that CUIC 11.5 uses TLS 1.0, while the version used by Microsoft SQL Server is TLS 1.2.

There is a enhancement defect related to this TLS compatibility issue, where this behavior is described in more detail: CSCvd35048 .

Solution

The error in the logs only indicates connection to the data source failed for any number of reasons. If the issue is related to a TLS negotiation failure, there are two options that can be implemented to solve this problem.

Option 1. CUIC 11.6 supports TLS 1.2 by default. Upgrade the CUIC server to 11.6 and proactively install the latest COP file.This is the recommended option.

Option 2. A temporary workaround can also be used.  You can change some registry keys on the ADS in order to work with TLS 1.0. These are the registry keys that need to be changed.

[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: Option 2 is not recommended. Only use it if you are not be able to upgrade CUIC to version 11.6.