Introducción
Este documento describe el elemento de base de datos Configure Customer Voice Portal (CVP) Call Studio, Tomcat Java Naming and Directory Interface (JNDI), para SQL Database.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Cisco Unified Contact Center Enterprise (UCCE), versión 12.6.2
- Cisco Package Contact Center Enterprise (PCCE), versión 12.6.2
- CVP versión 12.6.2
- CVP Call Studio 12.6.2
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
- Cisco PCCE versión 12.6.2
- CVP versión 12.6.2
- CVP Call Studio 12.6.2
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
El elemento database proporciona la capacidad de ejecutar un comando SQL (Lenguaje de consulta estructurado) en bases de datos externas dentro de un flujo de llamadas de aplicación de voz. El elemento requiere que JNDI esté configurado en el servidor de aplicaciones Java para gestionar las conexiones de base de datos. Sólo se puede ejecutar una instrucción SQL por elemento. Existen cuatro tipos de comandos que se pueden realizar, pero en este documento sólo se utiliza el comando único:
Single: se utiliza para ejecutar una consulta SQL que devuelve sólo una fila. Los datos de elemento se crearán con los nombres de variable que son los nombres de las columnas devueltas y el valor de esa columna como el valor de datos del elemento (como una cadena). Si no se devuelve ninguna fila, no se establecerán datos de elementos.
Puede encontrar más información en la guía CVP VXML Element.
Configuración
Esta sección explica cómo crear una nueva conexión de base de datos JNDI en Tomcat.
Paso 1. Determine la versión de Java Runtime Environment (JRE) en su servidor CVP.
- Haga clic en el botón Inicio (esquina izquierda de la barra del escritorio)
- Haga clic en la opción Ejecutar...
- Escriba CMD y haga clic en Aceptar para que aparezca el mensaje de DOS
- A continuación, escriba java-version

Paso 2. Instale un controlador Java Database Connectivity (JDBC) compatible con la versión SQL. Para habilitar el acceso a la base de datos en el servidor de aplicaciones, debe estar instalado un controlador JDBC compatible. Estos controladores, normalmente empaquetados como archivos JAR, deben colocarse en un directorio accesible a la ruta de clase del servidor de aplicaciones (en Tomcat, por ejemplo, colocar en %CVP_HOME%\VXMLServer\Tomcat\lib).
Aquí se pueden encontrar diferentes controladores.
Un ejemplo de la lista de MS admitidos:


Nota: La base de datos debe existir para que esta conexión funcione. El servidor CVP Voice XML (VXML) no creará la base de datos automáticamente. En este documento, se utiliza como ejemplo la base de datos UCCE AW y se instala la versión 12.6 del controlador JDBC.

Paso 2. Agregue un Contexto Tomcat para la conexión de base de datos de modo que el servidor CVP VXML sepa cómo comunicarse con la base de datos. Para obtener más información, consulte https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html.
Este es un ejemplo que utiliza SQL (editar context.xml desde la carpeta AUDIUM_HOME\Tomcat\conf donde AUDIUM_HOME es generalmente Cisco\CVP\VXMLServer):
<Context>
<Resource name="jdbc/<LABEL_YOU_CHOOSE>"
auth="Container"
type="javax.sql.DataSource"
username="USER_NAME"
password="USER_PW"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://HOSTNAME_OR_IP:PORT;DatabaseName=< DB_NAME>" />
</Context>
El número de puerto predeterminado para MS SQL es 1433. Un ejemplo de url para el contexto anterior será 'jdbc: sql://localhost:1433;databaseName=pcce_awdb'.
Nota: Alternativamente, el <Resource> se puede configurar en el archivo server.xml bajo <GlobalNamingResources>, y un <ResourceLink> creado en context.xml bajo <Context>.
Para mejorar la seguridad, se recomienda establecer el nombre de usuario o la contraseña mediante el elemento y eliminar manualmente los campos de nombre de usuario y contraseña del archivo context.xml.
Si se proporcionan el nombre de usuario y la contraseña en el elemento, se ignorarán el nombre de usuario y la contraseña en el archivo context.xml.

Paso 3. En condiciones de carga pesada, habilite Database Connection Pooling.
Un grupo de conexiones de base de datos crea y administra un grupo de conexiones a una base de datos. Reciclar y reutilizar las conexiones existentes a una base de datos es más eficaz que abrir una nueva conexión. Para obtener más información sobre Tomcat Database Pooling, consulte https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html.
Nota: Tomcat 8.0 tiene dos bibliotecas de grupos de conexiones: commons-dbcp y tomcat-jdbc-pool. Debido a un problema conocido con la biblioteca del pool de conexiones tomcat-jdbc-pool, si la conexión entre el servidor CVP VXML y el servidor SQL remoto deja de funcionar, las conexiones no se restablecen automáticamente. Las conexiones se pueden restablecer sólo después de reiniciar el servicio Tomcat del servidor VXMLS.
La biblioteca del conjunto de conexiones dbcp de commons no tiene este problema. La biblioteca commons-dbcp se utiliza de forma predeterminada, y tomcat-jdbc-pool sólo se utiliza si el archivo tomcat context.xml contiene esta línea:
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
Debido a este problema, Cisco no recomienda el uso de la biblioteca tomcat-jdbc-pool.
Paso 4. Reinicie el servicio CVP VXML.

Paso 5. En CVP Call Studio, edite la configuración del elemento de base de datos en cuestión. Introduzca la cadena introducida en <LABEL_YOU_CHOOSE> desde el Contexto de Tomcat en la propiedad Nombre de JNDI de la pestaña Configuración del elemento Base de datos.
Nota: No incluya aquí la parte/jdbc.

Paso 6. Guardar, implementar y actualizar la aplicación en el servidor VXML.
Troubleshoot
Actualmente, no hay información específica de troubleshooting disponible para esta configuración.
Información Relacionada