cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Community Helping Community

2392
Views
18
Helpful
12
Replies
Beginner

Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

I have upgraded our lab CVP to 11.6 and also our SQL server 2014 to SP2 however my JDBC driver stopped working and the error was around SSL connection , I have done some research around that and one of the solutions is to upgrade to JDBC 4.2 but that needs JRE1.8 which I guess not supported with CVP ?

  1. 10.20.105.205.1502839934350.3.faults,08/16/2017 09:32:14.356, The error was: A built-in element encountered an exception of type com.audium.server.AudiumException. Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".) The root cause was: java.sql.SQLException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".)
  2. com.audium.server.AudiumException: A built-in element encountered an exception of type com.audium.server.AudiumException.

at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:416)

at com.audium.server.controller.Controller.goToAction(Controller.java:4386)

at com.audium.server.controller.Controller.goToElement(Controller.java:4022)

at com.audium.server.controller.Controller.continueCall(Controller.java:3702)

at com.audium.server.controller.Controller.goToElement(Controller.java:4118)

at com.audium.server.controller.Controller.enterVoiceApplication(Controller.java:1896)

at com.audium.server.controller.Controller.newCall(Controller.java:1769)

at com.audium.server.controller.Controller.doPost(Controller.java:943)

at com.audium.server.controller.Controller.doGet(Controller.java:543)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Caused by: com.audium.server.AudiumException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".)

at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:367)

at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:390)

... 30 more

Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2293)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2038)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)

at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:313)

... 31 more

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43".

at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2397)

at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1762)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1977)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)

at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)

at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)

at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2303)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2289)

... 34 more

Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed. ClientConnectionId:f5cd885d-cbb0-42e1-b090-d0b01dc49e43

at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.ensureSSLPayload(IOBuffer.java:711)

at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:768)

at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:760)

at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:955)

at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:943)

at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)

at sun.security.ssl.InputRecord.read(InputRecord.java:480)

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946)

at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)

at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1688)

... 43 more

Thanks Remon

1 ACCEPTED SOLUTION

Accepted Solutions
Cisco Employee

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

I believe customer is using a custom code which is trying to establish a SSL connection with JDBC which is failing, one of the possible cause could be TLS version, the newer JDBC may not be compatible with older TLS version 1.0/1.1, the Java 1.7 by default support TLS 1.0, creating a SSLContext with TLS 1.2 in the java code can fix the issue.

View solution in original post

12 REPLIES 12
Rising star

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

I recommend you also post this to the Cisco Support Community for additional information and feedback from technical experts.

https://supportforums.cisco.com/

I hope this helps.

Kelli Glass

Moderator for Cisco Customer Communities

Cisco Employee

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

I believe customer is using a custom code which is trying to establish a SSL connection with JDBC which is failing, one of the possible cause could be TLS version, the newer JDBC may not be compatible with older TLS version 1.0/1.1, the Java 1.7 by default support TLS 1.0, creating a SSLContext with TLS 1.2 in the java code can fix the issue.

View solution in original post

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

We are getting the same SSL related error, but there is no custom Java code used.  We have CVP 11.5, UCCE 11.5, sqljdbc4.jar, edited context file as suggested.  Preferrably, we would like to disable SSL altogether.

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

Hi Jason,

running into the same issue here. Were you able to disable SSL - and if so, could you please share how you did that?

Kind regards,

Juan

Beginner

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

I could not fix it so I had to downgrade my sql version to 2014 instead of 2014 sp2

tya main problem is the new version of the jre that supports ssl is not supported with cvp 11.6

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

Thx, appreciated!

Jre1.7 : did you try this before you downgraded sql, as that is supported by cvp (at least cvp 10.5) and might support the correct ssl version?

I had to upgrade sql to 2014sp2 when upgrading icm from 11.5 to 11.6 (lab where I use the icm db for db lookups)

Sent from my iPhone

Cisco Employee

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

You may be hitting CSCvf97245.

Add this to the VXML Service registry -Djdk.tls.client.protocols=TLSv1.2, this should make the service compatbile with TLS 1.2, which may solve your problem.

Participant

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

How do I go about adding this (-Djdk.tls.client.protocols=TLSv1.2) to the registry. I am having the same issue and trying to look for a solution.

 

Caused by: com.audium.server.AudiumException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916".) at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:367) at com.audium.server.voiceElement.ActionElementBase.service(ActionElementBase.java:390) ... 26 more Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916".) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2293) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2038) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532) at com.audium.server.action.database.DatabaseAction.doAction(DatabaseAction.java:313) ... 27 more Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916". at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2397) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1762) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1977) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168) at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2303) at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2289) ... 30 more Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed. ClientConnectionId:79d9d48a-6410-4475-a64a-9b60be3cc916 at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.ensureSSLPayload(IOBuffer.java:711) at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:768) at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:760) at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:955) at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:943) at sun.security.ssl.InputRecord.readFully(InputRecord.java:442) at sun.security.ssl.InputRecord.read(InputRecord.java:480) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1688) ... 39 more

Enthusiast

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

Bodbol Lyon, I have made this  document, that describes the steps.

Let me know, if it help you, solve your problem.

Participant

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

Question for you Slavr, Once you write an application for DB COnnection, how can I extract the specific data from the XML document received back? If you look below, the only information I need is "Cisco_Voice" and I am unsure how to extract it from the Database Element Result.

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?><Results><Row><EnterpriseName>Cisco_Voice</EnterpriseName></Row></Results>. <?xml version="1.0" encoding="UTF-8" standalone="no"?><Results><Row><EnterpriseName>Cisco_Voice</EnterpriseName></Row></Results>

Highlighted

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

We resolved the issue with the following:

We switched to using jtds-1.3.1.jar for the sql driver, and the contents of the context.xml shown below:

<Context>

<!-- Default set of monitored resources -->

<WatchedResource>WEB-INF/web.xml</WatchedResource>

<Manager pathname="" />

<Resource name="jdbc/ICM"

auth="Container"

type="javax.sql.DataSource"

driverClassName="net.sourceforge.jtds.jdbc.Driver"

factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

url="jdbc:jtds:Sqlserver://[IP Address]:1433/atp_baA;user=cvp;password=whatever;"

/>

</Context>

Beginner

Re: Cisco CVP 11.6 Upgrade, DB (JDBC) integration issue

The actual bug id for this is CSCvg20831

The fix is to go into the CVP server(s) and edit the registry to as follows and RESTART the VXML Server service:

Under "HKEY_LOCAL_MACHINE -> SOFTWARE -> Wow6432Node -> Apache Software Foundation -> Procrun 2.0 -> VXMLServer -> Parameters -> Java -> Options"

 

Add "-Djdk.tls.client.protocols=TLSv1.2" to the very end of that data string under options

 

 

CreatePlease to create content
Content for Community-Ad
FusionCharts will render here