Using ODBC and JDBC with Avaya Call Management System

Release 19.1 Issue 3 October 2020

© 2020 Avaya Inc. OTHERWISE AGREED TO BY AVAYA IN WRITING, AVAYA DOES NOT All Rights Reserved. EXTEND THIS LICENSE IF THE SOFTWARE WAS OBTAINED FROM ANYONE OTHER THAN AVAYA, AN AVAYA AFFILIATE OR AN AVAYA Notice CHANNEL PARTNER; AVAYA RESERVES THE RIGHT TO TAKE LEGAL While reasonable efforts have been made to ensure that the information in this ACTION AGAINST YOU AND ANYONE ELSE USING OR SELLING THE document is complete and accurate at the time of printing, Avaya assumes no SOFTWARE WITHOUT A LICENSE. BY INSTALLING, DOWNLOADING OR liability for any errors. Avaya reserves the right to make changes and USING THE SOFTWARE, OR AUTHORIZING OTHERS TO DO SO,YOU, ON corrections to the information in this document without the obligation to notify BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE any person or organization of such changes. INSTALLING, DOWNLOADING OR USING THE SOFTWARE (HEREINAFTER REFERRED TO INTERCHANGEABLY AS “YOU” AND “END Documentation disclaimer USER”), AGREE TO THESE TERMS AND CONDITIONS AND CREATE A “Documentation” means information published in varying mediums which may BINDING CONTRACT BETWEEN YOU AND AVAYA INC. OR THE include product information, operating instructions and performance APPLICABLE AVAYA AFFILIATE (“AVAYA”). specifications that are generally made available to users of products. Avaya grants You a license within the scope of the license types described Documentation does not include marketing materials. Avaya shall not be below, with the exception of Heritage Nortel Software, for which the scope of responsible for any modifications, additions, or deletions to the original the license is detailed below. Where the order documentation does not published version of Documentation unless such modifications, additions, or expressly identify a license type, the applicable license will be a Designated deletions were performed by or on the express behalf of Avaya. End User System License as set forth below in the Designated System(s) License (DS) agrees to indemnify and hold harmless Avaya, Avaya's agents, servants and section as applicable. The applicable number of licenses and units of capacity employees against all claims, lawsuits, demands and judgments arising out of, for which the license is granted will be one (1), unless a different number of or in connection with, subsequent modifications, additions or deletions to this licenses or units of capacity is specified in the documentation or other materials documentation, to the extent made by End User. available to You. “Software” means computer programs in object code, provided by Avaya or an Avaya Channel Partner, whether as stand-alone Link disclaimer products, pre-installed on hardware products, and any upgrades, updates, Avaya is not responsible for the contents or reliability of any linked websites patches, bug fixes, or modified versions thereto. “Designated Processor” referenced within this site or Documentation provided by Avaya. Avaya is not means a single stand-alone computing device. “Server” means a set of responsible for the accuracy of any information, statement or content provided Designated Processors that hosts (physically or virtually) a software application on these sites and does not necessarily endorse the products, services, or to be accessed by multiple users. “Instance” means a single copy of the information described or offered within them. Avaya does not guarantee that Software executing at a particular time: (i) on one physical machine; or (ii) on these links will work all the time and has no control over the availability of the one deployed software virtual machine (“VM”) or similar deployment. linked pages. License type(s) Warranty Designated System(s) License (DS). End User may install and use each copy Avaya provides a limited warranty on Avaya hardware and software. Refer to or an Instance of the Software only: 1) on a number of Designated Processors your sales agreement to establish the terms of the limited warranty. In addition, up to the number indicated in the order; or 2) up to the number of Instances of Avaya's standard warranty language, as well as information regarding support the Software as indicated in the order, Documentation, or as authorized by for this product while under warranty is available to Avaya customers and other Avaya in writing. Avaya may require the Designated Processor(s) to be parties through the Avaya Support website: identified in the order by type, serial number, feature key, Instance, location or https://support.avaya.com/helpcenter/getGenericDetails?detailId=C200911201 other specific designation, or to be provided by End User to Avaya through 12456651010 under the link “Warranty & Product Lifecycle” or such successor electronic means established by Avaya specifically for this purpose. site as designated by Avaya. Please note that if You acquired the product(s) Concurrent User License (CU). End User may install and use the Software on from an authorized Avaya Channel Partner outside of the United States and multiple Designated Processors or one or more Servers, so long as only the Canada, the warranty is provided to You by said Avaya Channel Partner and licensed number of Units are accessing and using the Software at any given not by Avaya. time. A “Unit” means the unit on which Avaya, at its sole discretion, bases the pricing of its licenses and can be, without limitation, an agent, port or user, an “Hosted Service” means an Avaya hosted service subscription that You acquire e-mail or voice mail account in the name of a person or corporate function from either Avaya or an authorized Avaya Channel Partner (as applicable) and (e.g., webmaster or helpdesk), or a directory entry in the administrative which is described further in Hosted SAS or other service description utilized by the Software that permits one user to interface with the documentation regarding the applicable hosted service. If You purchase a Software. Units may be linked to a specific, identified Server or an Instance of Hosted Service subscription, the foregoing limited warranty may not apply but the Software. You may be entitled to support services in connection with the Hosted Service Shrinkwrap License (SR). You may install and use the Software in accordance as described further in your service description documents for the applicable with the terms and conditions of the applicable license agreements, such as Hosted Service. Contact Avaya or Avaya Channel Partner (as applicable) for “shrinkwrap” or “clickthrough” license accompanying or applicable to the more information. Software (“Shrinkwrap License”).

Hosted Service Heritage Nortel Software THE FOLLOWING APPLIES ONLY IF YOU PURCHASE AN AVAYA HOSTED “Heritage Nortel Software” means the software that was acquired by Avaya as SERVICE SUBSCRIPTION FROM AVAYA OR AN AVAYA CHANNEL part of its purchase of the Nortel Enterprise Solutions Business in December PARTNER (AS APPLICABLE), THE TERMS OF USE FOR HOSTED 2009. The Heritage Nortel Software is the software contained within the list of SERVICES ARE AVAILABLE ON THE AVAYA WEBSITE, Heritage Nortel Products located at https://support.avaya.com/licenseinfo HTTPS://SUPPORT.AVAYA.COM/LICENSEINFO UNDER THE LINK “Avaya under the link “Heritage Nortel Products” or such successor site as designated Terms of Use for Hosted Services” OR SUCH SUCCESSOR SITE AS by Avaya. For Heritage Nortel Software, Avaya grants Customer a license to DESIGNATED BY AVAYA, AND ARE APPLICABLE TO ANYONE WHO use Heritage Nortel Software provided hereunder solely to the extent of the ACCESSES OR USES THE HOSTED SERVICE. BY ACCESSING OR USING authorized activation or authorized usage level, solely for the purpose specified THE HOSTED SERVICE, OR AUTHORIZING OTHERS TO DO SO, YOU, ON in the Documentation, and solely as embedded in, for execution on, or for BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE DOING communication with Avaya equipment. Charges for Heritage Nortel Software SO (HEREINAFTER REFERRED TO INTERCHANGEABLY AS “YOU” AND may be based on extent of activation or use authorized as specified in an order “END USER”), AGREE TO THE TERMS OF USE. IF YOU ARE ACCEPTING or invoice. THE TERMS OF USE ON BEHALF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE AUTHORITY TO BIND SUCH Copyright ENTITY TO THESE TERMS OF USE. IF YOU DO NOT HAVE SUCH Except where expressly stated otherwise, no use should be made of materials AUTHORITY, OR IF YOU DO NOT WISH TO ACCEPT THESE TERMS OF on this site, the Documentation, Software, Hosted Service, or hardware USE, YOU MUST NOT ACCESS OR USE THE HOSTED SERVICE OR provided by Avaya. All content on this site, the documentation, Hosted Service, AUTHORIZE ANYONE TO ACCESS OR USE THE HOSTED SERVICE. and the product provided by Avaya including the selection, arrangement and design of the content is owned either by Avaya or its licensors and is protected Licenses by copyright and other intellectual property laws including the sui generis rights THE SOFTWARE LICENSE TERMS AVAILABLE ON THE AVAYA WEBSITE, relating to the protection of . You may not modify, copy, reproduce, HTTPS://SUPPORT.AVAYA.COM/LICENSEINFO, UNDER THE LINK “AVAYA republish, upload, post, transmit or distribute in any way any content, in whole SOFTWARE LICENSE TERMS (Avaya Products)” OR SUCH SUCCESSOR or in part, including any code and software unless expressly authorized by SITE AS DESIGNATED BY AVAYA, ARE APPLICABLE TO ANYONE WHO Avaya. Unauthorized reproduction, transmission, dissemination, storage, and DOWNLOADS, USES AND/OR INSTALLS AVAYA SOFTWARE, or use without the express written consent of Avaya can be a criminal, as well PURCHASED FROM AVAYA INC., ANY AVAYA AFFILIATE, OR AN AVAYA as a civil offense under the applicable law. CHANNEL PARTNER (AS APPLICABLE) UNDER A COMMERCIAL AGREEMENT WITH AVAYA OR AN AVAYA CHANNEL PARTNER. UNLESS

Virtualization Avaya Toll Fraud intervention The following applies if the product is deployed on a virtual machine. Each If You suspect that You are being victimized by Toll Fraud and You need product has its own ordering code and license types. Unless otherwise stated, technical assistance or support, call Technical Service Center Toll Fraud each Instance of a product must be separately licensed and ordered. For Intervention Hotline at +1-800-643-2353 for the United States and Canada. For example, if the end user customer or Avaya Channel Partner would like to additional support telephone numbers, see the Avaya Support website: install two Instances of the same type of products, then two products of that https://support.avaya.com or such successor site as designated by Avaya. type must be ordered. Security Vulnerabilities Third Party Components Information about Avaya's security support policies can be found in the “Third Party Components” mean certain software programs or portions thereof Security Policies and Support section of https://support.avaya.com/security. included in the Software or Hosted Service may contain software (including Suspected Avaya product security vulnerabilities are handled per the Avaya open source software) distributed under third party agreements (“Third Party Product Security Support Flow Components”), which contain terms regarding the rights to use certain portions (https://support.avaya.com/css/P8/documents/100161515). of the Software (“Third Party Terms”). As required, information regarding distributed Linux OS source code (for those products that have distributed Downloading Documentation Linux OS source code) and identifying the copyright holders of the Third Party For the most current versions of Documentation, see the Avaya Support Components and the Third Party Terms that apply is available in the products, Documentation or on Avaya's website at: https://support.avaya.com/Copyright website: https://support.avaya.com, or such successor site as designated by or such successor site as designated by Avaya. The open source software Avaya. license terms provided as Third Party Terms are consistent with the license Contact Avaya Support rights granted in these Software License Terms, and may contain additional rights benefiting You, such as modification and distribution of the open source See the Avaya Support website: https://support.avaya.com for product or software. The Third Party Terms shall take precedence over these Software Hosted Service notices and articles, or to report a problem with your Avaya License Terms, solely with respect to the applicable Third Party Components to product or Hosted Service. For a list of support telephone numbers and contact the extent that these Software License Terms impose greater restrictions on addresses, go to the Avaya Support website: https://support.avaya.com (or You than the applicable Third Party Terms. such successor site as designated by Avaya), scroll to the bottom of the page, and select Contact Avaya Support. The following applies only if the H.264 (AVC) codec is distributed with the product. THIS PRODUCT IS LICENSED UNDER THE AVC PATENT Trademarks PORTFOLIO LICENSE FOR THE PERSONAL USE OF A CONSUMER OR The trademarks, logos and service marks (“Marks”) displayed in this site, the OTHER USES IN WHICH IT DOES NOT RECEIVE REMUNERATION TO (i) Documentation, Hosted Service(s), and product(s) provided by Avaya are the ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD (“AVC registered or unregistered Marks of Avaya, its affiliates, its licensors, its VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A suppliers, or other third parties. Users are not permitted to use such Marks CONSUMER ENGAGED IN A PERSONAL ACTIVITY AND/OR WAS without prior written consent from Avaya or such third party which may own the OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC Mark. Nothing contained in this site, the Documentation, Hosted Service(s) and VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY product(s) should be construed as granting, by implication, estoppel, or OTHER USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM otherwise, any license or right in and to the Marks without the express written MPEG LA, L.L.. SEE HTTP://WWW.MPEGLA.COM. permission of Avaya or the applicable third party. Service Provider Avaya is a registered trademark of Avaya Inc. THE FOLLOWING APPLIES TO AVAYA CHANNEL PARTNER'S HOSTING All non-Avaya trademarks are the property of their respective owners. Linux® OF AVAYA PRODUCTS OR SERVICES. THE PRODUCT OR HOSTED is the registered trademark of Linus Torvalds in the U.S. and other countries. SERVICE MAY USE THIRD PARTY COMPONENTS SUBJECT TO THIRD PARTY TERMS AND REQUIRE A SERVICE PROVIDER TO BE INDEPENDENTLY LICENSED DIRECTLY FROM THE THIRD PARTY SUPPLIER. AN AVAYA CHANNEL PARTNER'S HOSTING OF AVAYA PRODUCTS MUST BE AUTHORIZED IN WRITING BY AVAYA AND IF THOSE HOSTED PRODUCTS USE OR EMBED CERTAIN THIRD PARTY SOFTWARE, INCLUDING BUT NOT LIMITED TO MICROSOFT SOFTWARE OR CODECS, THE AVAYA CHANNEL PARTNER IS REQUIRED TO INDEPENDENTLY OBTAIN ANY APPLICABLE LICENSE AGREEMENTS, AT THE AVAYA CHANNEL PARTNER'S EXPENSE, DIRECTLY FROM THE APPLICABLE THIRD PARTY SUPPLIER. WITH RESPECT TO CODECS, IF THE AVAYA CHANNEL PARTNER IS HOSTING ANY PRODUCTS THAT USE OR EMBED THE H.264 CODEC OR H.265 CODEC, THE AVAYA CHANNEL PARTNER ACKNOWLEDGES AND AGREES THE AVAYA CHANNEL PARTNER IS RESPONSIBLE FOR ANY AND ALL RELATED FEES AND/OR ROYALTIES. THE H.264 (AVC) CODEC IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL USE OF A CONSUMER OR OTHER USES IN WHICH IT DOES NOT RECEIVE REMUNERATION TO: (I) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD (“AVC VIDEO”) AND/OR (II) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A PERSONAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION FOR H.264 (AVC) AND H.265 (HEVC) CODECS MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM.

Compliance with Laws You acknowledge and agree that it is Your responsibility for complying with any applicable laws and regulations, including, but not limited to laws and regulations related to call recording, data privacy, intellectual property, trade secret, fraud, and music performance rights, in the country or territory where the Avaya product is used.

Preventing Toll Fraud “Toll Fraud” is the unauthorized use of your telecommunications system by an unauthorized party (for example, a person who is not a corporate employee, agent, subcontractor, or is not working on your company's behalf). Be aware that there can be a risk of Toll Fraud associated with your system and that, if Toll Fraud occurs, it can result in substantial additional charges for your telecommunications services.

Contents

Chapter 1: Introduction ...... 7 Purpose...... 7 Change history...... 7

Chapter 2: About ODBC and JDBC ...... 9 ODBC background and functionality ...... 9 Data access through ODBC ...... 10 Data access diagram ...... 10 Structured query language ...... 11 CMS support of ODBC and JDBC ...... 11 Uses for ODBC data ...... 12 Requesting data using ODBC...... 12 About the ODBC and JDBC software...... 13 ODBC and JDBC features ...... 13 Languages ...... 14 Supported number of logins ...... 14 Performance impact ...... 14 Table permissions, security and port allocation ...... 15 Informix User definition ...... 16 CMS and ODBC interoperability ...... 16 CMS database logic structure ...... 16 Agent tables ...... 17 VDN tables ...... 17 Circular structure tables ...... 17

Chapter 3: Installing ODBC on a Windows client ...... 19 Requirements ...... 19 Installing ODBC on Windows ...... 20 Configuring an ODBC data source ...... 21 Removing a data source ...... 23 Configuring ODBC tracing options ...... 24 Viewing installed ODBC data source drivers ...... 24

Chapter 4: Installing JDBC on a Windows client ...... 27 Requirements ...... 27 Installing JDBC on a Windows client...... 28

Chapter 5: Providing secure access to the CMS database ...... 31 Preparing to set the secure database access ...... 31 Adding members to the dbaccess group ...... 32

Using ODBC and JDBC with Avaya CMS October 2020 5 Contents

Setting the secure access permissions in the CMS database ...... 33 Removing ODBC access permissions for a specific user ID ...... 34 Returning the CMS database to public permissions ...... 35

Chapter 6: Encrypting the ODBC and JDBC connections ...... 37 About the Informix TLS and SSL encryption utility ...... 37 Managing certificates for Informix TLS and SSL encryption ...... 38 Exporting a pkcs12 certificate from the cmsweb.jks certificate ...... 39 Enabling Informix network encryption ...... 40 Updating the Informix network encryption certificate...... 43 Disabling the Informix network encryption ...... 46 Displaying the Informix encryption state ...... 48 Viewing the Informix encryption certificate details ...... 48 Installing the certificate on a Windows PC that has the ODBC and JDBC client software 49 Updating the certificate on a Windows PC that has the ODBC and JDBC client software 53

Chapter 7: Troubleshooting...... 57 ODBC and JDBC encryption and certificates ...... 57 Network support ...... 60 Server log files and monitoring ...... 60 Client trace ...... 62

Chapter 8: Resources ...... 63 Documentation...... 63 CMS and CMS Supervisor Documents ...... 63 Avaya Solutions Platform Documents ...... 66 WebLM Documents ...... 66 VMware Documents ...... 67 Finding documents on the Avaya Support website ...... 67 Accessing the port matrix document...... 68 Avaya Documentation Portal navigation ...... 68 Viewing Avaya Mentor videos...... 69 Support ...... 70 Using the Avaya InSite Knowledge Base ...... 70

Glossary ...... 73

Index ...... 77

Using ODBC and JDBC with Avaya CMS October 2020 6 Chapter 1: Introduction

Purpose

The document describes how to use Open Database Connectivity (ODBC) and Java Database Connectivity (JDBC) with Avaya Call Management System (CMS). This document is intended for:

● Avaya support personnel

● Contact center administrators Users of this document must be familiar with CMS and must have a basic understanding of SQL and database logic.

Change history

Issue Date Summary of changes

3 October 2020 Updated the following procedures: ● Installing JDBC on a Windows client on page 28

● Installing the certificate on a Windows PC that has the ODBC and JDBC client software on page 49

● Updating the certificate on a Windows PC that has the ODBC and JDBC client software on page 53 2 May 2020 Updated procedures in Chapter 6: Encrypting the ODBC and JDBC connections on page 37. 2 May 2020 Updated procedures in Chapter 7: Troubleshooting on page 57.

Using ODBC and JDBC with Avaya CMS October 2020 7 Chapter 1: Introduction

Using ODBC and JDBC with Avaya CMS October 2020 8 Chapter 2: About ODBC and JDBC

This section presents an overview of how Open Database Connectivity (ODBC) and Java Database Connectivity (JDBC) works and how it interacts with the Avaya Call Management System (CMS). This section contains the following topics:

● ODBC background and functionality on page 9

● About the ODBC and JDBC software on page 13

● ODBC and JDBC features on page 13

● CMS and ODBC interoperability on page 16

● CMS database logic structure on page 16

ODBC background and functionality

The ODBC feature is a client/server feature. To access the server the clients must be connected to a network that is fully functional and able to access the server. The clients are the computers that are accessing data through ODBC. The server is the CMS machine where the CMS database is located. The ODBC feature is especially useful for call centers with multiple sites. ODBC allows access to data at multiple sites. You can use this data to produce reports. ODBC uses Structured Query Language (SQL) to access data. ODBC is an Application Programming Interface (API) that allows you to access one or many Database Management Systems (DBMSs). You can use queries to access data in the database for use in reports and other outside applications. This section contains the following topics:

● Data access through ODBC on page 10

● Structured query language on page 11

● CMS support of ODBC and JDBC on page 11

● Uses for ODBC data on page 12

● Requesting data using ODBC on page 12

Using ODBC and JDBC with Avaya CMS October 2020 9 Chapter 2: About ODBC and JDBC

Data access through ODBC

ODBC was developed as a way to access different types of data. A single call center can be working with different applications that must access call center data. For example, a call center can be using Microsoft Access. ODBC provides a standard method of database access without users having to be concerned with the underlying functionality of network software, naming conventions, and other complexities involved in accessing data through a DBMS. The data must be queried through the embedded SQL query function in the application that you are using. Refer to your specific application documentation for further information on the embedded SQL function for that particular application.

Data access diagram

The following figure illustrates user data access through ODBC.

User 1: User 2: User 3: Microsoft Microsoft Other Access Excel application

ODBC API ODBC API ODBC API

CMS database (Historical data access only)

! Important:

Important: Avaya will support only ODBC connectivity. Avaya will not support third-party client applications such as Microsoft Access or Windows.

Using ODBC and JDBC with Avaya CMS October 2020 10 ODBC background and functionality

Structured query language

ODBC uses Structured Query Language (SQL) to query and access data. Because SQL is a language, queries written in SQL can be used to access data with different formats. SQL is the basis for relational database access. A relational database model is a table that stores data in rows and columns. Relationships between tables are established through data items that match data item values in another table. SQL queries access the data stored in the relational database tables and extracts it for use in other applications. You compose an SQL query in the Windows application for which you need the data. You can also use SQL to construct data calculations. You can use data calculations to see a sum of the data. For example, you can view the total number of calls routed to a particular split or skill.

CMS support of ODBC and JDBC

The IBM Informix database management system (DBMS) used by CMS supports IBM Informix ODBC and JDBC compatible clients. CMS is now delivered with this ODBC and JDBC network connectivity enabled. ODBC and JDBC clients allow for direct access to the IBM Informix database that CMS uses and all of the CMS call center data. ODBC is a specification for a database Application Programming Interface (API). Microsoft ODBC, Version 3.0, is based on the Call Level Interface specifications from X/Open and the International Standards Organization/International Electromechanical Commission (ISO/IEC). ODBC supports SQL statements with a library of C functions. An application calls these functions to implement ODBC functionality. ODBC applications enable you to do the following operations:

● Connect to and disconnect from data sources.

● Retrieve information about data sources.

● Retrieve information about IBM Informix ODBC Driver.

● Set and retrieve IBM Informix ODBC Driver options.

● Prepare and send SQL statements.

● Retrieve SQL results and process the results dynamically.

● Retrieve information about SQL results and process the information dynamically. ODBC lets you allocate storage for results before or after the results are available. This feature lets you determine the results and the action to take without the limitations that predefined data structures impose. ODBC does not require a preprocessor to compile an application program.

Using ODBC and JDBC with Avaya CMS October 2020 11 Chapter 2: About ODBC and JDBC

The Java Database Connectivity (JDBC) API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases, SQL databases and other tabular data sources, such as spreadsheets or flat files. The JDBC API provides a call-level API for SQL-based database access. JDBC technology allows you to use the Java programming language to exploit “Write Once, Run Anywhere” capabilities for applications that require access to enterprise data. With a JDBC technology-enabled driver, you can connect all corporate data even in a heterogeneous environment.

! Important:

Important: If you choose to develop an application using ODBC or JDBC, Avaya cannot provide support for that application or for any other third-party software or related mapping. For more information about the IBM Informix ODBC and JDBC software, see About the ODBC and JDBC software on page 13. Note:

Note: Avaya tests ODBC and JDBC only in English. ODBC and JDBC will support double-byte languages, but if you use a language other than English, Avaya cannot provide ODBC or JDBC support. Additional information about IBM Informix ODBC and JDBC can be found at: http://www-01.ibm.com/software/data/informix/pubs/library/

Uses for ODBC data

Data extracted and stored by an ODBC application can be used by ODBC-enabled programs, such as workforce management packages, network routers, and blended inbound outbound applications. You can use an ODBC data application to generate reports using data from multiple call center sites and their databases.

Requesting data using ODBC

All queries in ODBC must be composed so that they ensure continued CMS performance. The query is invoked differently in each Windows application. For more information on how to compose efficient database queries, see Performance impact on page 14 and the chapter on editing queries in the appropriate Avaya CMS Supervisor report designer user guide. For more information on how your application interfaces with ODBC, refer to the user documentation for your application.

Using ODBC and JDBC with Avaya CMS October 2020 12 About the ODBC and JDBC software

About the ODBC and JDBC software

IBM Informix ODBC and JDBC have two main components:

● An ODBC and a JDBC client

● Enabled network connectivity in the IBM Informix IDS database server, which is the CMS server in this instance. After ODBC and JDBC are installed and administered, the ODBC and JDBC software and its components are transparent to the client applications. The CMS ODBC and JDBC features allows multiple, synchronous access from clients, users, and applications. ODBC uses Microsoft data source names (DSN) as the link between the ODBC client and the IBM Informix IDS database. JDBC must be configured in the JDBC client software. Additional information covering these features in greater detail and also information about other operating systems can be located on the IBM website at: https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.odbc.doc/ odbc.htm https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/ com.ibm.jdbc_pg.doc/jdbc.htm Note:

Note: The ODBC and JDBC Windows files can be found on the CMS server in the following directory: /storage/cms_dvd/CSDK

ODBC and JDBC features

The IBM Informix database server provides the ODBC and JDBC communication and connectivity that allows external data access to the CMS database. There are ODBC and JDBC clients available for Windows and other operating systems. This document will only cover the Windows clients.

! Important:

Important: Using ODBC and JDBC with CMS is only supported on Windows 8 and Windows 10. No other Windows versions are supported. When referring to “Windows” in this document, it only refers to Windows 8 and Windows 10.

Using ODBC and JDBC with Avaya CMS October 2020 13 Chapter 2: About ODBC and JDBC

All historical CMS database tables, dictionary tables, and customer-provided tables can be accessed by ODBC or JDBC clients through standard ODBC or JDBC enabled software applications. All standard Structured Query Language (SQL) queries generated by the user applications are supported by the ODBC and JDBC, as limited by permissions. Table-level read-only permissions restrict access to certain database tables. This section contains the following topics:

● Languages on page 14

● Supported number of logins on page 14

● Performance impact on page 14

● Table permissions, security and port allocation on page 15

● Informix User definition on page 16

Languages

Avaya tests ODBC and JDBC only in English for use with CMS. IBM Informix ODBC and JDBC will support other double-byte languages, but if you use a language other than English, Avaya does not provide ODBC or JDBC support for that language.

Supported number of logins

Customers must order the necessary number of ODBC/JDBC licenses to support the maximum number of simultaneous connections required. ODBC/JDBC access is enforced by the license file.

Performance impact

The number, size, and types of queries received by the CMS can impact performance. The recommendations for composing queries in the CMS custom report editor also apply to ODBC queries. Some of the activities that can impact CMS performance are:

Tables: Use the exact table and database item names when querying the database. You can maximize the performance of the system by running queries that access large tables or that perform table joins during a period of low agent activity and low real-time report activity. Accessing large tables, such as the split/skill or agent tables, or joining tables in queries can have a negative impact on CMS performance.

Using ODBC and JDBC with Avaya CMS October 2020 14 ODBC and JDBC features

Calculations: Review calculations before sending them to the database. This ensures that the correct operation is performed. Arithmetic operations are performed with the rules of operator precedence, in order from left to right.

Queries: Prioritize resource intensive queries the same way you prioritize reports during high business activity. Running complex or multiple queries on the database impact system performance similar to running multiple reports.

Number of simultaneous database accesses: Minimize the number of database connects and disconnects from an application, and spread your ODBC activities throughout the day.

Synonyms: Download the synonyms to your client application or database and then perform the join at the client.

CMS maintenance: Be aware that during off-peak hours, CMS runs it’s own activities, such as archiving and making backups. This can use a significant amount of resources and time when working with a large database.

Table permissions, security and port allocation

ODBC users log into the CMS server with password protection. Users have SQL access to Informix tables, as limited by the table permissions. All historical and dictionary database tables have read-only access permission. The customer-created tables (any table name that begins with “c_”) on the host have read and write permissions. No other tables are accessible through ODBC.The ports will be defined on the CMS server in the /opt/Informix/etc/sqlhosts file. If you want to limit the CMS logins which have ODBC access, that procedure is described in detail in Providing secure access to the CMS database on page 31.

! Important:

Important: If your network uses a firewall, it is common for unused ports to be locked. ODBC uses network ports 50000 and 50001. If these ports are locked, you will not be able to connect to the CMS database with ODBC.

Using ODBC and JDBC with Avaya CMS October 2020 15 Chapter 2: About ODBC and JDBC

Informix User definition

In the case of direct connections through JDBC and ODBC, a license will be required for each individual user directly connecting through JDBC or ODBC. There will not be an additional license required for the individual's machine or device through which such access is made. It is your responsibility to ensure you acquire the appropriate number of licenses for the anticipated use of the CMS, and to properly determine how many direct connections to the database will be required. You are only licensed and allowed to make direct connections to the database up to the number of licenses you acquired. If additional licenses are required, you are obligated to acquire them before making connection to the database.

CMS and ODBC interoperability

When using ODBC with CMS, you must keep the following in mind:

Dictionary names: Clients can access CMS Dictionary names. You must map the synonym to the report from the client.

Permissions: Applications that access Informix externally, such as database access scripts, might not work if the table permission script tries to access a table to which permission is denied.

Field display: The time and date data you receive from the database might not be formatted. Generally, times can be shown in seconds or in 24-hour clock format. You need to review data for formatting when you import it into your software application. The data returned from your SQL queries will be formatted in the manner described in your database interface specifications. See your software’s documentation for further information on formatting data.

Switch features and capabilities: Some switch features and capabilities have an impact on CMS open database items. For more information on these features and capabilities, see the appropriate database items and calculations document for your CMS release.

CMS database logic structure

CMS historical tables store information in one record per row format. This formatting affects the way data can be accessed through ODBC. When accessing data in the historical tables, you might need to sum the information to retrieve complete data.

Using ODBC and JDBC with Avaya CMS October 2020 16 CMS database logic structure

For example, a record will be created for each split/skill that an agent is logged into in the agent tables. If an agent is logged into four splits/skills, there will be four records for that agent. Similarly, if an agent starts the day with four splits/skills, and is added to a fifth split/skill before the end of the day, the agent’s fifth record will be generated only from the point at which the additional split/skill was added. The other four records will reflect the total logon time. This section contains the following topics:

● Agent tables on page 17

● VDN tables on page 17

● Circular structure tables on page 17

Agent tables

If an agent logs off and logs on more than once in a specified interval, another complete set of records is created for that agent for each logon in the agent tables. For example, if an agent logs into four split/skills, logs out, and then logs back on during a set interval, there will be two sets of four records for that agent, one set per logon.

VDN tables

The VDN tables store one record per vector on which a VDN terminates. Therefore, if the terminating vector for a specific VDN changes in a set interval, there are two records for that VDN - one per terminating vector. This logic also applies to the Vector, Trunk, Trunk Group, and Split/Skill tables. If information is required from these tables, a sum structured query language (SQL) query can be necessary to access complete data from each table.

Circular structure tables

The Exceptions, Call Record, and Agent Trace tables are circular files. These tables populate continuously, until the table capacity plus ten percent has been reached. At that point, the oldest ten percent of the records are deleted. For example, if an agent trace table has a capacity of 100 rows, and the total rows populated equals 110, the oldest ten rows will automatically be deleted. Therefore, the data in that table will change continuously as the table is updated.

Using ODBC and JDBC with Avaya CMS October 2020 17 Chapter 2: About ODBC and JDBC

Using ODBC and JDBC with Avaya CMS October 2020 18 Chapter 3: Installing ODBC on a Windows client

The IBM Informix ODBC software can be installed on your Windows desktop computer or on your network for each client to access.

! Important:

Important: Using ODBC and JDBC with CMS is only supported on Windows 8 and Windows 10. No other Windows versions are supported. When referring to “Windows” in this document, it only refers to Windows 8 and Windows 10. Note:

Note: The Windows interface is completely customizable. You might notice some user interface differences based on your system configuration. This section contains the following topics:

● Requirements on page 19

● Installing ODBC on Windows on page 20

● Configuring an ODBC data source on page 21

● Removing a data source on page 23

● Configuring ODBC tracing options on page 24

● Viewing installed ODBC data source drivers on page 24

Requirements

Before installing the IBM Informix ODBC driver software on your computer, verify that:

● The client network software is installed.

● Your computer is communicating with the CMS server over the network. Use your desktop TCP/IP products Packet Internet Groper (PING) utility (for example, ping hostname) to ensure that Communication between your computer and the CMS server is functional. Do not proceed if basic communications between your computer and the server cannot be established.

● The desktop computer is running Windows.

Using ODBC and JDBC with Avaya CMS October 2020 19 Chapter 3: Installing ODBC on a Windows client

Installing ODBC on Windows

Procedure 1. Copy the CSDK client zip file from the CMS server to your Windows system using the following steps: a. Use your choice of transfer application to connect to the CMS server, such as WinSCP. b. Navigate to a Windows folder where you want to copy the files. You can choose any folder. c. Navigate to the following CMS server directory: /storage/cms_dvd/CSDK d. Copy the 32 bit Windows clientsdk.4.10.TC2DE.WIN.zip or 64 bit Windows clientsdk.4.10.FC2DE.WIN.zip file to your chosen Windows folder. 2. Open Windows Explorer. 3. Navigate to the folder where you copied the zip file. 4. Double-click the CSDK zip file. Unzip the files to the folder of your choice. 5. In Windows Explorer, navigate to the folder where you unzipped the files. 6. Double-click the installclientsdk.exe file. The installation program displays the Introduction screen. 7. Click Next. The installation program displays the Licensing Agreement screen. 8. Enter the appropriate response for the licensing question. 9. Click Next. 10. Choose a location for the Client-SDK installation. You can use the default location or choose a specific location. 11. Click Next. 12. Keep the default install option of Set: Typical. 13. Click Next. 14. Click Install. The installation programs displays the question “Do you want to install the IBM Data Server Driver Package.” 15. Click No. 16. Click Next. The installation program displays the Installation Complete screen.

Using ODBC and JDBC with Avaya CMS October 2020 20 Configuring an ODBC data source

17. Click Done. 18. Continue with Configuring an ODBC data source on page 21. Note:

Note: For more information about installing ODBC, see the IBM Informix Client Installation Guide at: C:\Program Files\IBM Informix Client SDK\\en_us\04e4\ clinst.pdf

Configuring an ODBC data source

About this task You must configure the database to access a specific server.

Procedure To configure your ODBC driver software to access CMS data: 1. Navigate to one of the following paths:

● Control Panel > Administrative Tools > ODBC Data Sources (32-bit)

● Control Panel > Administrative Tools > ODBC Data Sources (64-bit) The system displays the ODBC Data Source Administrator window. 2. Select one of the following tabs:

● System DSN Choose the System DSN option if you want the data source to be available to all users. You need administrative privileges to create a system DSN.

● User DSN Choose the User DSN option if you want the data source to be available to the current user. This setting is useful if you must provide access for a specific user. You must not administer data sources on a per-user login ID basis. Note:

Note: If you do not have administrative privileges to create and save a System DSN, you can use a User DSN to set up the data source.

● File DSN Choose the File DSN option if you want the data source to be stored in a file rather than the registry. This file will have a DSN extension. Some applications like Avaya Contact Center Express (CCE) make use of File DSNs.

Using ODBC and JDBC with Avaya CMS October 2020 21 Chapter 3: Installing ODBC on a Windows client

3. Select Add. 4. The Create New Data Source window displays a list of data source drivers. 5. Select IBM INFORMIX ODBC DRIVER. 6. Do one of the following:

● If you selected File DSN: a. Select Next. b. Enter the file name. c. Select Next. d. Select Finish. The system displays the IBM Informix ODBC Driver Setup.

● If you selected User DSN or System DSN: a. Select Add. b. Enter a representative name in the Data Source Name field for the server or database to which you are connecting to. An example entry for this field is cms_net or cms_ where is the actual host name of the CMS would replace the variable . For example, if the CMS host name is “cardinal”, you can enter cms_cardinal for the Data Source Name. c. Enter a description of the data source to which you are connecting in the Description field. An example entry for this field is CMS ODBC. d. Select the Connection tab. e. Enter the Server Name for the CMS server. The two default options are cms_net or cms_ where is the actual host name of the CMS server. For example if your CMS server has a hostname of “cardinal”, then you can enter cms_cardinal. If you do not know the hostname, you can use cms_net. However, note that you will not be able to connect to multiple CMS systems at the same time using cms_net since the Server Name field requires a unique value across all DSNs. If you try to create another DSN using cms_net and provide a different Host Name, it will change all DSNs with the same Server Name to use the new Host Name. f. Enter the Host Name or IP address. g. Enter the port of your database host machine in the Service field. If you are using cms_net enter port 50000 and if you are using cms_[hostname] enter port 50001. h. In the Protocol field, select from the dropdown menu the option “olsoctcp” or “olsocssl”. if ODBC TLS/SSL is configured on the CMS server, select “olsocssl”. i. Leave the Options field blank. j. Enter cms for the Database Name. k. Enter the user ID that has permission to log on to the CMS server.

Using ODBC and JDBC with Avaya CMS October 2020 22 Removing a data source

l. Enter the password for the User ID that has permission to log onto the CMS server. 7. Select the Environment tab. Click on the check box to the right of “Use Server Database Locale”. Note:

Note: It may be necessary to change the Client Locale to en_US.UTF8 if Apply & Test connection in step 10 fails. 8. Re-select the Connection tab. 9. Select Apply. 10. Select Apply & Test Connection. If everything is configured correct, you will see the message “Test connection was successful”. 11. Select OK, then OK again until all the ODBC Windows close. ODBC driver software is installed on your computer. Note:

Note: Once the driver is configured, the IBM Informix ODBC driver is accessible to ODBC-enabled applications on your computer. Any queries that you send to the CMS database from client Windows applications, such as Microsoft Access, will use the ODBC feature to access data and copy it to your applications. You need to format the data within your application.

Removing a data source

Procedure 1. Navigate to one of the following paths:

● Control Panel > Administrative Tools > ODBC Data Sources (32-bit)

● Control Panel > Administrative Tools > ODBC Data Sources (64-bit) The system displays the ODBC Data Source Administrator window. 2. Select the System DSN tab. 3. Select the appropriate ODBC data source. 4. Select the Remove button and follow the prompts.

Using ODBC and JDBC with Avaya CMS October 2020 23 Chapter 3: Installing ODBC on a Windows client

Configuring ODBC tracing options

About this task You can specify how the ODBC driver traces ODBC function calls. If tracing is activated, the system generates a file that contains the actual ODBC function calls.

Procedure 1. Navigate to one of the following paths:

● Control Panel > Administrative Tools > ODBC Data Sources (32-bit)

● Control Panel > Administrative Tools > ODBC Data Sources (64-bit) The system displays the ODBC Data Source Administrator window. 2. Select the Tracing tab. 3. Choose one of the following options:

● Trace ODBC calls or observe ODBC activity by selecting the Start Tracing Now button.

● Stop tracing ODBC function calls automatically by selecting the Stop Tracing Now button. This will terminate the ODBC tracing upon completion of the ODBC session.

● Select or change the file to which the IBM Informix driver writes tracing information, by performing one of the following steps: - Enter a file name and path in the Log file Path field. - Use the Browse... button to select the appropriate file from the Select ODBC Log File window. Note:

Note: The default log file is \SQL.LOG.

! CAUTION:

CAUTION: Do not change the default entry in the Custom Trace DLL field.

Viewing installed ODBC data source drivers

Use the Drivers window to verify installation of the IBM Informix data source driver. 1. Navigate to one of the following paths:

● Control Panel > Administrative Tools > ODBC Data Sources (32-bit)

Using ODBC and JDBC with Avaya CMS October 2020 24 Viewing installed ODBC data source drivers

● Control Panel > Administrative Tools > ODBC Data Sources (64-bit) The system displays the ODBC Data Source Administrator window. 2. Select the Drivers tab. 3. View detailed information about an installed driver by selecting the driver from the list, and then selecting the About tab. Note:

Note: If the appropriate IBM Informix data source driver is not displayed in the Drivers window, return to Installing ODBC on Windows on page 20 and reinstall the driver.

Using ODBC and JDBC with Avaya CMS October 2020 25 Chapter 3: Installing ODBC on a Windows client

Using ODBC and JDBC with Avaya CMS October 2020 26 Chapter 4: Installing JDBC on a Windows client

This section contains the following topics:

● Requirements on page 27

● Installing JDBC on a Windows client on page 28

! Important:

Important: Using ODBC and JDBC with CMS is only supported on Windows 8 and Windows 10. No other Windows versions are supported. When referring to “Windows” in this document, it only refers to Windows 8 and Windows 10. Note:

Note: The Windows interface is completely customizable. You might notice some user interface differences based on your system configuration.

Requirements

Before installing the IBM Informix JDBC driver software on your computer, verify that:

● The client network software is installed.

● Your computer is communicating with the CMS server over the network. Use your desktop TCP/IP products Packet Internet Groper (PING) utility (for example, ping hostname) to ensure that Communication between your computer and the CMS server is functional. Do not proceed if basic communications between your computer and the server cannot be established.

● The desktop computer is running Windows.

● Determine %CLASSPATH% for Java applications.

Using ODBC and JDBC with Avaya CMS October 2020 27 Chapter 4: Installing JDBC on a Windows client

Installing JDBC on a Windows client

About this task When you install JDBC, you must copy both a CSDK zip file and a CSDK tar file, unzip and untar the files, and install both executable files.

Before you begin Contact Avaya support to get a copy of the jdbc_4.10JC13_Windows.tar file.

Procedure 1. Copy the JDBC zip file from the CMS server to your Windows system using the following steps: a. Use your choice of transfer application to connect to the CMS server, such as WinSCP. b. Navigate to a Windows folder where you want to copy the file. You can choose any folder. c. Navigate to the following CMS server directory: /storage/cms_dvd/CSDK d. Copy one of the following zip files to your chosen Windows folder: clientsdk.4.10.FC2DE.WIN.zip - Windows 64 bit system clientsdk.4.10.TC2DE.WIN.zip - Windows 32 bit system 2. Open Windows Explorer. 3. Navigate to the folder where you copied the zip file. 4. Double-click the JDBC zip file. 5. Unzip the files to the folder of your choice. 6. In Windows Explorer, navigate to the folder where you unzipped the files. 7. Double-click the installclientsdk.exe file. The installation program displays the Introduction screen. 8. Click Next. The installation program displays the Software License Agreement screen. 9. Select I accept the terms of the license agreement and click Next. The installation program displays the Installation Location screen. 10. Accept the default location and click Next. The installation program displays the Choose Client SDK Features to Install screen.

Using ODBC and JDBC with Avaya CMS October 2020 28 Installing JDBC on a Windows client

11. Accept the defaults and click Next. The installation program displays the Installation Summary screen. 12. Click Install. The installation program installs the software and displays the Installation Complete screen. 13. Copy the JDBC tar file from the CMS server to your Windows system using the following steps: a. Use your choice of transfer application to connect to the CMS server, such as WinSCP. b. Navigate to a Windows folder where you want to copy the file. You can choose any folder. c. Navigate to the following CMS server directory: /storage/cms_dvd/CSDK d. Copy the jdbc_4.10JC13_Windows.tar file to your chosen Windows folder. 14. Open Windows Explorer. 15. Navigate to the folder where you copied the tar file. 16. Double-click the JDBC tar file. Untar the files to the folder of your choice. 17. In Windows Explorer, navigate to the folder where you untarred the files. 18. Double-click the setup.jar file. The installation program displays the Welcome screen. 19. Click Next. 20. Enter the appropriate response for the licensing question. 21. Click Next. 22. Choose a location to install the JDBC software. You can use the default location or choose a specific location. 23. Click Next. The system displays a screen that shows where the IBM Informix JDBC Driver will be installed and the size of the driver. 24. Click Next. The system starts the installation process and shows the progress of the installation. When finished, the system displays the status of the installation. 25. Click Finish. 26. To configure encrypted JDBC, see Chapter 6: Encrypting the ODBC and JDBC connections on page 37.

Using ODBC and JDBC with Avaya CMS October 2020 29 Chapter 4: Installing JDBC on a Windows client

For programmer and usage related information about this IBM Informix JDBC driver, refer to the IBM website at: https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/ com.ibm.jdbc_pg.doc/jdbc.htm

Using ODBC and JDBC with Avaya CMS October 2020 30 Chapter 5: Providing secure access to the CMS database

The CMS database has “open access” permissions as a standard feature. That is, any CMS login connecting to the CMS server using ODBC/JDBC has permissions to view CMS data tables. Note:

Note: CMS does not allow you to control which tables the CMS login has access to, or which ACD data the CMS login can view. To limit the users that can access the CMS database using ODBC/JDBC follow the steps listed in this section. The users for whom you set permissions must adhere to the following requirements:

● All CMS login IDs to which you choose to provide CMS database access must be members of the dbaccess group.

● You must execute the dbaccess option under the cmsadm menu, which makes the proper Informix permission changes to the CMS database. Your secure access permissions are preserved for you in the cmsadm backup and in the CMS Maintenance backup. The permissions are migrated during a CMS upgrade and can be restored in the event of a loss of your CMS server data. This section includes the following topics:

● Preparing to set the secure database access on page 31

● Adding members to the dbaccess group on page 32

● Setting the secure access permissions in the CMS database on page 33

● Removing ODBC access permissions for a specific user ID on page 34

● Returning the CMS database to public permissions on page 35

Preparing to set the secure database access

Procedure 1. List all CMS logins for which you wish to provide ODBC/JDBC access. To determine the list of all CMS logins, perform a List all under the User Permissions menu item in the CMS menu.

Using ODBC and JDBC with Avaya CMS October 2020 31 Chapter 5: Providing secure access to the CMS database

2. Make a note of which CMS logins need to be placed in the dbaccess group. To determine which logins are already in the dbaccess group, enter: cat /etc/group | grep dbaccess ● If CMS logins are not in the group, your result looks like this:

dbaccess::1002:

● If CMS logins “odbcusr1” and “odbcusr2” are in the group, your result looks like this:

dbaccess::1002:odbcusr1,odbcusr2

Adding members to the dbaccess group

Procedure 1. Each CMS login which receives ODBC/JDBC access must be a member of the UNIX dbaccess group. Note:

Note: The root, cms, and cmssvc users will have full default permissions to ODBC/ JDBC. 2. To put CMS logins into the dbaccess group, enter: usermod -G dbaccess cmslogin where cmslogin is the user id of the specific CMS login to be placed in the group. You must execute the usermod command once for each CMS login to which you want to provide CMS database access.

! CAUTION:

CAUTION: Enter a capital G while typing the command. Entering a lower case g will change the users default group, which can cause access issues to CMS. An example: usermod -G dbaccess odbcusr1 usermod -G dbaccess odbcusr2

Using ODBC and JDBC with Avaya CMS October 2020 32 Setting the secure access permissions in the CMS database

Setting the secure access permissions in the CMS database

Procedure 1. Enter: cmsadm The system displays the Avaya Call Management System Administration menu. Note:

Note: Different options can be displayed in the Avaya Call Management System Administration menu depending on the current version of Avaya CMS on your system. 2. Enter the number associated with the dbaccess option. The system displays the following message:

Begin CMS DB Access Permissions changes grant resource to "public";

Your CMS database currently has public access permissions to all resources. Do you wish to revoke this access and only grant access to specific CMS users? [y,n,?]

3. Press y. The system displays:

Please wait while CMS Informix Database permissions are changed. revoke resource from public; revoke connect from public; grant connect to cms; grant connect to cmssvc; Revoke resource from public on CMS database. Please wait while connect permissions are granted for requested users grant connect to ; grant connect to ; … Changes to CMS DB Access Permissions finished.

4. You see one “grant connect to ” per CMS login ID which is in the dbaccess group. Note:

Note: You always see one “grant connect” message per CMS login ID, including login IDs which are already in the dbaccess group and had connect permissions prior to this.

Using ODBC and JDBC with Avaya CMS October 2020 33 Chapter 5: Providing secure access to the CMS database

5. After the changes are complete, you can use the CMS login ID to run ODBC/JDBC clients and access the CMS database. 6. To preserve your changes, run a cmsadm backup followed by a Maintenance Backup immediately.

Removing ODBC access permissions for a specific user ID

Procedure 1. If you wish to remove any CMS login IDs from those designated to have ODBC/JDBC access permission, you must first remove them from the dbaccess group. Note:

Note: You must execute usermod command once for each CMS login you are removing from the group.The usermod command will not remove the user from its default group cms. For example, if you wish to remove the CMS login ID odbcusr1 from the dbaccess group: usermod -G "" odbcusr1 This command will remove the user from all the custom groups along with dbaccess.

! CAUTION:

CAUTION: Enter a capital G while typing the command. Entering a lower case g will change the users default group, which can cause access issues to CMS. 2. Enter: cmsadm The system displays the Avaya Call Management System Administration menu. 3. Enter the number associated with the dbaccess option. The system reads the UNIX group information and resets the access permissions for only those members still in the dbaccess group. For example, if you have removed odbcusr1 from the dbaccess group but left odbcusr2 in the group, then:

Begin CMS DB Access Permissions changes Please wait while connect permissions are granted for requested users grant connect to “Odbcusr2”; Changes to CMS DB Access Permissions finished.

4. To preserve your changes, run a cmsadm backup followed by a Maintenance Backup immediately.

Using ODBC and JDBC with Avaya CMS October 2020 34 Returning the CMS database to public permissions

Returning the CMS database to public permissions

About this task Use this procedure to undo all secure access permissions and put the CMS database back to its original form (public permissions for all CMS login IDs).

Procedure 1. To get the list of all ODBC users, enter: grep dbaccess /etc/group 2. You must first remove all users from the dbacess group. Run the usermod command for each CMS login that is currently in the dbaccess group.

! CAUTION:

CAUTION: Enter a capital G while typing the command. Entering a lower case g will change the users default group, which can cause access issues to CMS. For example, if the users odbcusr1 and odbcusr2 are the entire set of CMS login IDs with secure access permissions. usermod -G "" odbcusr1 usermod -G "" odbcusr2 3. Enter: cmsadm The system displays the Avaya Call Management System Administration menu 4. Enter the number associated with the dbaccess option.

Begin CMS DB Access Permissions changes

No CMS user ids are in UNIX group dbaccess. If you proceed, the CMS database is set to public permissions access for all resources. Do you really want to do this? [y,n,?]

Using ODBC and JDBC with Avaya CMS October 2020 35 Chapter 5: Providing secure access to the CMS database

5. Enter: y

Please wait while CMS Informix Database permissions are set to public. grant resource to public; revoke connect from cms; revoke connect from cmssvc; Grant resource to public on CMS database. Changes to CMS DB Access Permissions finished.

Run a cmsadm backup followed by a Maintenance Backup to preserve your changes.

Using ODBC and JDBC with Avaya CMS October 2020 36 Chapter 6: Encrypting the ODBC and JDBC connections

CMS supports an option to configure the CMS network ports 50000 and 50001 for Informix TLS and SSL encryption. These CMS network ports can also be used for ODBC and JDBC connections. The TLS/SSL encryption requires you to install a pkcs12 certificate. After Informix encryption is enabled, the only operational impact is encrypted network connections for ports 50000 and 50001. All other CMS interfaces to Informix are not impacted. Note:

Note: In this document, any reference to “TLS/SSL encryption” refers to both TLS and SSL encryption for Informix. The procedures in this chapter describe how to encrypt the ODBC and JDBC connections.

About the Informix TLS and SSL encryption utility

Informix encryption attributes are provisioned during CMS installation. Activating and managing encryption is done using the utility: ids_tls_configure This utility provides the following capabilities:

● Enable Informix network encryption To enable Informix network encryption, you must provide a CA certificate or generate a self-signed certificate. For either type of certificate, the certificate will be integrated into the Informix encryption configuration.

● Update the Informix network encryption certificate When a new certificate is required, the utility updates the certificate in the existing Informix encryption configuration. The new certificate can be a CA certificate or a self-signed certificate. In either case, the certificate will be integrated into the Informix encryption configuration.

● Disable the Informix network encryption The Informix encrypted network connections can be disabled. This will revert existing Informix network connections back to plain TCP/IP (non-TLS) mode.

● Display the Informix encryption state

● View the Informix encryption certificate details

Using ODBC and JDBC with Avaya CMS October 2020 37 Chapter 6: Encrypting the ODBC and JDBC connections

Managing certificates for Informix TLS and SSL encryption

There are two ways to provide a certificate for TLS/SSL encryption: ● Use the ids_tls_configure command to create a self-signed certificate. A certificate created using ids_tls_configure is a secure certificate that meets all networking requirements. This certificate can be used long-term or replaced later with a certificate you provide. This certificate will not expire for 10 years.

● Provide a commercially-signed certificate that is valid for the CMS server and the network where CMS resides. A specific alias must be added to the certificate for Informix stability with TLS/SSL configured. The certificate will be verified during execution of ids_tls_configure.

! CAUTION:

CAUTION: Note the following requirements if you provide your own certificate: - You are responsible for ensuring your certificate is valid. For a self-signed certificate, you must update the certificate before it expires. For a commercially-signed certificate, the certificate must be valid for the CMS server, the network where CMS resides, and maintained within the valid dates of the certificate. - If the certificate is currently in pkcs12 format, you must add the alias “cms_net_encrypt” to the certificate. Specific procedures for adding or converting an alias are not provided due to variations in certificate and certificate chain structures. Industry certificate management utilities (keytool, openssl) provide add/ convert of the alias value. Consult your company certificate technical resource to update the alias. - If you are converting a certificate to pkcs12 format you must add the alias “cms_net_encrypt” to your certificate or certificate chain. Specific procedures for adding or converting an alias are not provided due to variations in certificate and certificate chain structures. Industry certificate management utilities (keytool, openssl) provide add/convert of the alias value. Consult your company certificate technical resource to update the alias. - If you have the Java Key Store (JKS) certificate for the CMS Web Client certificate (cmsweb.jks), a pkcs12 certificate can be exported from the cmsweb.jks certificate as described in Exporting a pkcs12 certificate from the cmsweb.jks certificate on page 39. Note the full path and the password for the certificate. You will need the path and password to enable Informix TLS/SSL encryption or to update the Informix TLS/SSL encryption certificate. To verify that the alias is in the certificate, run the following command: keytool -list -v -keystore -storepass | grep Alias

Using ODBC and JDBC with Avaya CMS October 2020 38 About the Informix TLS and SSL encryption utility

Where is the name of the pkcs12 format certificate and is the certificate password.

! CAUTION:

CAUTION: DO NOT PROCEED if the certificate does not have the alias “cms_net_encrypt” in the certificate. Do this procedure again to get the alias in the certificate.

Exporting a pkcs12 certificate from the cmsweb.jks certificate

About this task This procedure is an example of how you might export a pkcs12 certificate from the cmsweb.jks certificate. It is only an example and your installation may vary from this example. This procedure assumes the customer cmsweb.jks certificate was generated following the instructions “Generating and installing a customer certificate for the cmsweb server” found in Maintaining and Troubleshooting Avaya Call Management System.

Procedure 1. Log on as a root user on the CMS server. 2. Choose a location on your CMS server to store the certificate. For example: /Example.home/my_ssl_cert If the directory does not exist, create it and move to the directory. 3. Run the following command: keytool -importkeystore -srckeystore /opt/cmsweb/cert/cmsweb.jks -destkeystore cmsweb.p12 -deststoretype PKCS12 -srcstoretype JKS -srcstorepass -srcalias -deststoretype PKCS12 -destkeypass -deststorepass -destalias cms_net_encrypt Where: ● is the password for the JKS truststore. If this is the default Avaya-provided JKS, the default password is “cmsweb”. ● is the alias for the JKS truststore. If this is the default Avaya-provided JKS, the alias is “cmsweb1”. If the source alias is not known, it can be found by executing the following command: keytool -list -v -keystore /opt/cmsweb/cert/cmsweb.jks -storepass | grep Alias

Using ODBC and JDBC with Avaya CMS October 2020 39 Chapter 6: Encrypting the ODBC and JDBC connections

is the password for the pkcs12 truststore or certificate you are generating. The full path for the created pkcs12 certificate using this example location would be: /Example.home/my_ssl_cert/cmsweb.p12 Note the full path and the password for the certificate. You will need this path and password to enable TLS/SSL encryption or to update the TLS/SSL encryption certificate.

Enabling Informix network encryption

Before you begin Informix network encryption must not already be enabled. Determine the type of certificate you are going to install, customer-provided or self-signed. If the customer provides the certificate:

● It must be meet criteria described in Managing certificates for Informix TLS and SSL encryption on page 38.

● You must upload the certificate to the CMS server to a location you will later use when you enable the encryption.

● You must know the password for the certificate keystore.

Procedure 1. Log on as a root user on the CMS server. 2. Enter: cmsadm The system displays the CMSADM menu. 3. Select the number associated with the run_cms command. 4. Select the number associated with the Turn off CMS but Leave IDS running command. 5. To enable encryption using a self-signed certificate:

Using ODBC and JDBC with Avaya CMS October 2020 40 About the Informix TLS and SSL encryption utility

a. Enter the following command: /cms/install/bin/ids_tls_configure -e If Informix network encryption is already enabled, the system displays the following:

Informix encryption(TLS/SSL) is already configured. Encryption enable can't be executed. Exiting.

If Informix network encryption is not enabled, the system displays the following:

Informix encryption(TLS/SSL) enable started.

Are you providing a certificate to use by Informix encryption(TLS/SSL)? If not, an Informix self-signed certificate will be generated. (y/n):

b. Enter: n The system displays the following:

Informix encryption(TLS/SSL) configuration completed. IDS is restarting. Informix encryption(TLS/SSL) enable complete. Informix network connections are now encrypted.

c. Enter: cmsadm The system displays the CMSADM menu. d. Select the number associated with the run_cms command. e. Select the number associated with the Turn on CMS command. 6. To enable encryption using a customer-provided certificate: a. Enter the following command: /cms/install/bin/ids_tls_configure -e If Informix network encryption is already enabled, the system displays the following:

Informix encryption(TLS/SSL) is already configured. Encryption enable can't be executed. Exiting.

If Informix network encryption is not enabled, the system displays the following:

Informix encryption(TLS/SSL) enable started.

Are you providing a certificate to use by Informix encryption(TLS/SSL)? If not, an Informix self-signed certificate will be generated. (y/n):

Using ODBC and JDBC with Avaya CMS October 2020 41 Chapter 6: Encrypting the ODBC and JDBC connections

b. Enter: y The system displays the following:

Enter the full path to the certificate file:

c. Enter the path on the CMS server where you saved the customer-generated certificate. The system runs a certificate file access check. If the certificate file is not accessible, the system displays the following:

The certificate file (/storage/my_cert.p12) does not exist. Please verify file location and read permissions exist, then re-enter.

If the certificate is valid, the system displays the following:

Enter the password for the provided certificate:

d. Enter the password for the certificate keystore. If an invalid password is entered, the password will be re-requested. The system displays the following if the password is correct and the certificate is validated:

Certificate validated. Informix encryption(TLS/SSL) configuration completed. IDS is restarting. Informix encryption(TLS/SSL) enable complete. Informix network connections are now encrypted.

Note:

Note: If a certificate validation error is encountered, the error is reported and the enable command exits. For information on how to correct the issue, see Managing certificates for Informix TLS and SSL encryption on page 38. The following are examples of certificate errors you might see:

The provided certificate is not PKCS12 format. CERTIFICATE_TYPE Please make sure your certificate meets the requirements in the CMS ODBC/JDBC document, then re-execute ids_tls_configure

The provided certificate does not include the required alias: cms_net_encrypt. Certificate alias: ALIAS. Please make sure your certificate meets the requirements in the CMS ODBC/JDBC document, then re-execute ids_tls_configure.

Using ODBC and JDBC with Avaya CMS October 2020 42 About the Informix TLS and SSL encryption utility

e. Enter: cmsadm The system displays the CMSADM menu. f. Select the number associated with the run_cms command. g. Select the number associated with the Turn on CMS command.

Next steps After Informix encryption is enabled, the certificate must be installed on the Windows ODBC and JDBC systems for operational ODBC and JDBC interfaces. This installation can take place at any time before ODBC or JDBC is used. See Installing the certificate on a Windows PC that has the ODBC and JDBC client software on page 49.

Updating the Informix network encryption certificate

Before you begin Informix network encryption must be enabled. Determine the type of certificate you are going to install, customer-provided or self-signed. If the customer provides the certificate:

● It must be meet criteria described in Managing certificates for Informix TLS and SSL encryption on page 38.

● You must upload the certificate to the CMS server to a location you will later use when you enable the encryption.

● You must know the password for the certificate keystore.

Procedure 1. Log on as a root user on the CMS server. 2. Enter: cmsadm The system displays the CMSADM menu. 3. Select the number associated with the run_cms command. 4. Select the number associated with the Turn off CMS but Leave IDS running command. 5. To update encryption with a new self-signed certificate:

Using ODBC and JDBC with Avaya CMS October 2020 43 Chapter 6: Encrypting the ODBC and JDBC connections

a. Enter the following command: /cms/install/bin/ids_tls_configure -u If Informix network encryption is not enabled, the system displays the following:

Informix encryption(TLS/SSL) is not configured. Certificate update can't be executed. Exiting.

If Informix network encryption is enabled, the system displays the following:

You are about to replace the existing Informix encryption(TLS/SSL) certificate. Do you want to proceed? (y/n):

b. Enter: y The system displays the following:

Informix encryption(TLS/SSL) certificate update started.

Are you providing a certificate? If not, an Informix self-signed certificate will be generated. (y/n):

c. Enter: n The system displays the following:

Informix encryption(TLS/SSL) configuration completed. IDS is restarting. Informix encryption(TLS/SSL) update complete. Informix encrypted network connections are back up.

d. Enter: cmsadm The system displays the CMSADM menu. e. Select the number associated with the run_cms command. f. Select the number associated with the Turn on CMS command. 6. To update encryption with a new customer-provided certificate:

Using ODBC and JDBC with Avaya CMS October 2020 44 About the Informix TLS and SSL encryption utility

a. Enter the following command: /cms/install/bin/ids_tls_configure -u If Informix network encryption is not enabled, the system displays the following:

Informix encryption(TLS/SSL) is not configured. Certificate update can't be executed. Exiting.

If Informix network encryption is enabled, the system displays the following:

You are about to replace the existing Informix encryption(TLS/SSL) certificate. Do you want to proceed? (y/n):

b. Enter: y The system displays the following:

Informix encryption(TLS/SSL) certificate update started.

Are you providing a certificate? If not, an Informix self-signed certificate will be generated. (y/n):

c. Enter: y The system displays the following:

Enter the full path to the certificate file:

d. Enter the path on the CMS server where you saved the customer-generated certificate. The system runs a certificate file access check. If the certificate file is not accessible, the system displays the following:

The certificate file (/storage/my_cert.p12) does not exist. Please verify file location and read permissions exist, then re-enter.

If the certificate is valid, the system displays the following:

Enter the password for the provided certificate:

Using ODBC and JDBC with Avaya CMS October 2020 45 Chapter 6: Encrypting the ODBC and JDBC connections

e. Enter the password for the certificate keystore. If an invalid password is entered, the password will be re-requested. The system displays the following if the password is correct and the certificate is validated:

Certificate validated. Informix encryption(TLS/SSL) configuration completed. IDS is restarting. Informix encryption(TLS/SSL) enable complete. Informix network connections are now encrypted.

Note:

Note: If a certificate validation error is encountered, the error is reported and the enable command exits. For information on how to correct the issue, see Managing certificates for Informix TLS and SSL encryption on page 38. The following are examples of certificate errors you might see:

The provided certificate is not PKCS12 format. CERTIFICATE_TYPE Please make sure your certificate meets the requirements in the CMS ODBC/JDBC document, then re-execute ids_tls_configure

The provided certificate does not include the required alias: cms_net_encrypt. Certificate alias: ALIAS. Please make sure your certificate meets the requirements in the CMS ODBC/JDBC document, then re-execute ids_tls_configure.

f. Enter: cmsadm The system displays the CMSADM menu. g. Select the number associated with the run_cms command. h. Select the number associated with the Turn on CMS command.

Next steps After the Informix encryption certificate is updated, the certificate must be installed on the Windows ODBC and JDBC systems for operational ODBC and JDBC interfaces. This installation can take place at any time before ODBC or JDBC is used. See Updating the certificate on a Windows PC that has the ODBC and JDBC client software on page 53.

Disabling the Informix network encryption

About this task Disabling the Informix network encryption reverts the Informix network connections back to plain TCP/IP (non-TLS) mode.

Using ODBC and JDBC with Avaya CMS October 2020 46 About the Informix TLS and SSL encryption utility

! CAUTION:

CAUTION: If you disable Informix network encryption, you cannot just turn it back on. You must re-enable it using the procedures in Enabling Informix network encryption on page 40.

Before you begin Informix network encryption must be enabled.

Procedure 1. Log on as a root user on the CMS server. 2. Enter: cmsadm The system displays the CMSADM menu. 3. Select the number associated with the run_cms command. 4. Select the number associated with the Turn off CMS but Leave IDS running command. 5. Enter the following command: /cms/install/bin/ids_tls_configure -d If Informix network encryption is not enabled, the system displays the following:

Informix encryption(TLS/SSL) is not configured. Disable encryption can't be executed. Exiting.

If Informix network encryption is enabled, the system displays the following:

Informix encryption(TLS/SSL) will be removed and IDS restarted. Do you want to continue (y/n):

6. Enter: y The system displays the following:

Informix encryption(TLS-SSL) disable started. Informix encryption(TLS-SSL) disable complete. Restarting IDS. Informix is up in in plain TCP (non-encrypted) mode.

7. Enter: cmsadm The system displays the CMSADM menu.

Using ODBC and JDBC with Avaya CMS October 2020 47 Chapter 6: Encrypting the ODBC and JDBC connections

8. Select the number associated with the run_cms command. 9. Select the number associated with the Turn on CMS command.

Displaying the Informix encryption state

Procedure 1. Enter the following command: /cms/install/bin/ids_tls_configure -s The system displays one of the following messages:

Informix encryption(TLS/SSL) is not configured.

Informix encryption(TLS/SSL) is configured.

Viewing the Informix encryption certificate details

About this task You can view the certificate details for a customer-provided or self-signed certificate. This information is only available if Informix encryption is enabled. This option is useful to determine the certificate expiration date or other significant details about the certificate. The complete certificate details are displayed to the screen, which might be very large. Avaya suggests you redirect the output to a file for review.

Using ODBC and JDBC with Avaya CMS October 2020 48 Installing the certificate on a Windows PC that has the ODBC and JDBC client software

Procedure 1. Enter the following command: /cms/install/bin/ids_tls_configure -v If Informix network encryption is not enabled, the system displays the following:

Informix encryption(TLS/SSL) is not configured. There is no Informix encryption certificate to view. Exiting.

If Informix network encryption is enabled, the system displays the certificate details. This example shows the first few lines of a typical certificate:

Label : cms_net_encrypt Key Size : 1024 Version : X509 V3 Serial : 5a77ca457eadd67f ......

2. To redirect the certificate into a file for easier viewing, for example, enter the following commands: /cms/install/bin/ids_tls_configure -v > /tmp/my_cert_details.out more /tmp/my_cert_details.out

Installing the certificate on a Windows PC that has the ODBC and JDBC client software

About this task The Informix encryption certificate from the CMS server must be installed on the Windows PC where the ODBC and JDBC client software is installed. The client certificate must match the certificate on the CMS for successful ODBC and JDBC connections. Run this procedure on your ODBC and JDBC Windows PC when TLS/SSL encryption has been enabled on CMS using ids_tls_configure -e. This procedure can be used for TLS/SSL encryption with a self-signed certificate or a commercially-signed certificate.

Before you begin Confirm that TLS/SSL encryption has been enabled on the CMS server or that the TLS/SSL encryption certificate has been updated by executing one of the following commands: ids_tls_configure -e ids_tls_configure -u

Using ODBC and JDBC with Avaya CMS October 2020 49 Chapter 6: Encrypting the ODBC and JDBC connections

The Informix Client SDK must be installed on a Windows PC. Be prepared to create a password for the Informix KS keystore. Note the password in case you need to update the certificate in the future. This password is referred to throughout this procedure as .

Procedure 1. Log on as an administrator to Windows. 2. Copy the SSL certificate file(s) from the CMS server to the Windows PC. Use WinSCP or some other similar command. Note the full path to where you copied the certificate file(s). The SSL certificate(s) are in the following directory on the CMS server: /opt/informix/ssl If additional root and intermediate certificates exist, the naming is as follows: HOSTNAME_cert1.pem HOSTNAME_cert2.pem … HOSTNAME_certX.pem HOSTNAME_cms_net_encrypt.pem Note:

Note: For self-signed certificates, the only certificate file will be HOSTNAME_cms_net_encrypt.pem. 3. Create a folder on the Windows PC for the Informix TLS/SSL keystore for JDBC access. If you have administrator privileges on the Windows PC, the following path is a logical folder location: C:\Program Files\IBM Informix Client SDK\ssl If you do not have administrator privileges, any folder which you have read, write, and execute privileges will work. This folder will be referred to as . 4. Create the following file: C:\Program Files\IBM Informix Client SDK\etc\conssl.cfg 5. Insert the following lines into the file: SSL_KEYSTORE_FILE \cli_cms_ol.kdb SSL_KEYSTORE_STH \cli_cms_ol.sth Where is the folder you created in Step 3. Attributes in a path with spaces must be replaced with a shortened path name. This approach is used in the following example:

SSL_KEYSTORE_FILE C:\Progra~1\IBMINF~1\ssl\cli_cms_ol.kdb SSL_KEYSTORE_STH C:\Progra~1\IBMINF~1\ssl\cli_cms_ol.sth

Using ODBC and JDBC with Avaya CMS October 2020 50 Installing the certificate on a Windows PC that has the ODBC and JDBC client software

! Important:

Important: Spaces in the path are not permitted. You must use the shortened path as shown in the example above. Do not use single or double quotes around the path. 6. Save and close the file. 7. Open a Windows command line window. 8. Move to the folder created in Step 3. 9. Run the following command: gsk8capicmd_64 -keydb -create -db cli_cms_ol.kdb -pw -type cms -stash Where is a new password for the JKS keystore. 10. Run the following command for each SSL certificate file: gsk8capicmd_64 -cert -add -db cli_cms_ol.kdb -stashed -label cms_net_encrypt -file -format ascii -trust enable Where is the SSL certificate file. You must use the -label cms_net_encrypt option only when the is HOSTNAME_cms_net_encrypt.pem. 11. (Optional) Do the following steps only if you are using JDBC: a. To create a keystore and add certificates for JDBC, run the following command for each SSL certificate file: keytool -importcert -file -alias -keystore cli_cms_ol.ks -storepass Where is the SSL certificate file, is the portion of the name after the first underscore (_), and is the password for the JKS keystore. If the certificate file name is HOSTNAME_cms_net_encrypt.pem, then the ALIAS portion is cms_net_encrypt. Note:

Note: If the keytool command is not found, it will be available under the Java directory. Search for keytool.exe under the Program Files (x86) and Program Files folders. Use the full path to execute keytool. For example: C:\Program Files (x86)\Java\jre1.8.0_172\bin\keytool.exe -importcert -file -keystore cli_cms_ol.ks b. When prompted, enter Yes to the Trust this certificate question. 12. Do the following steps to verify keystore file permissions. If the permissions are not correct, update the permissions. a. In Windows Explorer, navigate to the keystore folder. b. Right-click the cli_cms_ol.kdb and cli_cms_ol.sth files and select Properties.

Using ODBC and JDBC with Avaya CMS October 2020 51 Chapter 6: Encrypting the ODBC and JDBC connections

c. Verify that any users who will execute ODBC Connections have at least Read permissions. d. Give the users Read permissions if not already administered. 13. Update the ODBC Data Source protocol to “onsocssl” by doing the following steps: a. Navigate to one of the following paths, depending on if you are using Windows 32-bit or 64-bit:

● Control Panel > Administrative Tools > ODBC Data Sources (32-bit)

● Control Panel > Administrative Tools > ODBC Data Sources (64-bit) b. Double-click the file if logged on as administrator, or right-click the file and select Run as Administrator. The system displays the ODBC Data Source Administrator window. Note:

Note: The Windows interface is completely customizable. You might notice some user interface differences based on your system configuration. c. Select the System DSN tab. d. Select the appropriate ODBC data source. e. Click Configure. f. Select the Connection tab. g. Update the protocol filed to “onsocssl”. h. Click Apply. 14. Configure a TLS/SSL connection to the database from your Java application by using the following operations: a. Set the javax.net.ssl.truststore system property to point to the keystore that you created. For example: javax.net.ssl.trustStore=/cli_cms_ol.ks b. Set the javax.net.ssl.trustStorePassword system property to the password that you used for the certificate. For example: javax.net.ssl.trustStorePassword= c. Set a data source object. d. Set the port number to the SSL port, 50000. e. Set the data source property setIfxSSLCONNECTION to true. Where is the folder you created in Step 3 and is a new password for the JKS keystore.

Using ODBC and JDBC with Avaya CMS October 2020 52 Updating the certificate on a Windows PC that has the ODBC and JDBC client software

Updating the certificate on a Windows PC that has the ODBC and JDBC client software

About this task Run this procedure on your Windows PC where you have the ODBC and JDBC client software installed when TLS/SSL encryption has been updated on CMS using the ids_tls_configure -u update command, or if you use the ids_tls_configure -r remove command followed by the ids_tls_configure -e enable command.

Before you begin The Informix Client SDK must be installed on Windows PC. Determine the path to the Informix TLS/SSL keystore for JDBC access. Get the Informix KS keystore password saved from the certificate installation. This password is referred to throughout this procedure as .

Procedure 1. Copy the SSL certificate file(s) from the CMS server to the Windows PC. Use WinSCP or some other similar command. Note the full path to where you copied the certificate files(s). The SSL certificates are in the following directory on the CMS server: /opt/informix/ssl If additional root and intermediate certificates exist, the naming is as follows: HOSTNAME_cert1.pem HOSTNAME_cert2.pem … HOSTNAME_certX.pem HOSTNAME_cms_net_encrypt.pem Note:

Note: For self-signed certificates, the only certificate file will be HOSTNAME_cms_net_encrypt.pem. 2. Open a Windows command window. 3. Move to the folder where the Informix TLS/SSL keystore is located.

Using ODBC and JDBC with Avaya CMS October 2020 53 Chapter 6: Encrypting the ODBC and JDBC connections

4. Determine the configured certificates. Run the following command, to identify the alias for configured certificates. gsk8capicmd_64 -cert -list all -db cli_cms_ol.kdb -stashed For example: C:\Program Files\IBM Informix Client SDK\ssl>gsk8capicmd_64 -cert -list all -db cli_cms_ol.kdb -stashed

Certificates found * default, - personal, ! trusted, # secret key ! "CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US" ! "CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US" - cms_net_encrypt

5. Run the following command for each certificate: gsk8capicmd_64 -cert -delete -db cli_cms_ol.kdb -stashed -label Where is a certificate identified in the previous step listed under the * default line. Include the quotes if quotes are displayed. For example: gsk8capicmd_64 -cert -delete -db cli_cms_ol.kdb -stashed -label "CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US" 6. (Optional) Do the following steps only if you are using JDBC: a. To determine the certificates in the JDBC keystore, run the following command to identify the alias for configured certificates: keytool -list -keystore cli_cms_ol.ks -storepass Where is the password for the JKS keystore. Note:

Note: If the keytool command is not found, it will be available under the Java directory. Search for keytool.exe under the Program Files (x86) and Program Files folders. Use the full path to execute keytool. For example: C:\Program Files (x86)\Java\jre1.8.0_172\bin\keytool.exe -importcert -file -keystore cli_cms_ol.ks

Using ODBC and JDBC with Avaya CMS October 2020 54 Updating the certificate on a Windows PC that has the ODBC and JDBC client software

b. From the output of this command, determine the alias for the certificate(s). The alias is the first field for each certificate line indicated by a date value. For example:

Keystore type: PKCS12 Keystore provider: SUN

Your keystore contains 3 entries

cert1, Oct 23, 2020, trustedCertEntry, Certificate fingerprint (SHA-256): 15:4C:43:3C:49:19:29:C5:EF:68:6E:83:8E:32:36:64:A0:0E:6A:0D:82:2C:CC:95:8F:B4:DA:B0:3 E:49:A0:8F

cert2, Oct 23, 2020, trustedCertEntry, Certificate fingerprint (SHA-256): 43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:4 3:C7:01:61

cms_net_encrypt, Oct 23, 2020, trustedCertEntry, Certificate fingerprint (SHA-256): 75:F4:E8:73:CE:EF:3C:B6:E3:0A:6F:76:2E:1B:71:C2:3B:C6:2B:75:8B:60:81:3F:D8:73:06:29:E 6:6C:63:DB

In this example, the aliases are cert1, cert2, and cms_net_encrypt. c. Run the following command for each certificate: keytool -delete -noprompt -alias -keystore cli_cms_ol.ks -storepass Where are the aliases listed in the example above and is the password for the JKS keystore.

Using ODBC and JDBC with Avaya CMS October 2020 55 Chapter 6: Encrypting the ODBC and JDBC connections

7. Run the following commands for each certificate file copied from the CMS server (each PEM file): gsk8capicmd_64 -cert -add -db cli_cms_ol.kdb -stashed -label cms_net_encrypt -file -format ascii -trust enable keytool -importcert -file -alias -keystore cli_cms_ol.ks -storepass Where is the SSL certificate file, is the portion of the name after the first underscore (_), and is the password for the JKS keystore. If the certificate file name is HOSTNAME_cms_net_encrypt.pem, then the ALIAS portion is cms_net_encrypt. You must use the -label cms_net_encrypt option only when the is HOSTNAME_cms_net_encrypt.pem. For example: gsk8capicmd_64 -cert -add -db cli_cms_ol.kdb -stashed -label cms_net_encrypt -file HOSTNAME_cert1.pem -format ascii -trust enable keytool -importcert -file HOSTNAME_cert1.pem -alias cms_net_encrypt -keystore cli_cms_ol.ks -storepass passwd Depending on certificate type, you may be prompted to trust the certificate. When requested, enter yes to the prompt.

Using ODBC and JDBC with Avaya CMS October 2020 56 Chapter 7: Troubleshooting

This section presents general troubleshooting procedures and error messages for ODBC and JDBC. For more detailed information, see the IBM website for additional documentation at: https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.odbc.doc/ odbc.htm https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/ com.ibm.jdbc_pg.doc/jdbc.htm

! Important:

Important: If you choose to develop an application for the ODBC or JDBC driver, Avaya cannot provide support for that application or for any other third-party software or related mapping. This section contains the following topics:

● ODBC and JDBC encryption and certificates on page 57

● Network support on page 60

● Server log files and monitoring on page 60

● Client trace on page 62

ODBC and JDBC encryption and certificates

This section provides resolution for common ODBC and JDBC client and server communication issues.

Failure You get the following error message:

Microsoft .NET Framework Unhandled exception: Access to registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Informix\SqlHosts

This exception might occur when executing the ODBC Data Sources program or the Informix Client-SDK ConnectTest program. A permission issue exists for the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Informix\SqlHosts

Using ODBC and JDBC with Avaya CMS October 2020 57 Chapter 7: Troubleshooting

Resolution Start the ODBC Data Sources program or Informix Client-SDK ConnectTest program as "Run as Administrator". When you run the programs as administrator, an unhandled JIT exception may occur after resolution. This exception can be ignored and you can click Continue to finish running the program.

Failure You get the following error message:

IBM Informix ODBC Error Message: GSK_KEYRING_OPEN_ERROR

This error occurs when executing an ODBC connection. This typically occurs when configuring the System DSN in the ODBC Data Sources program (and executing Apply & Test) or executing query in the ConnectTest program. An access issue exists to the file cli_cms_ol.kdb or cli_cms_ol.sth, which are both referenced in the conssl.conf file.

Resolution Verify the following:

● Double or single quotes are not used.

● The short path name is correct.

● There are no spaces in the path.

● The SSL_KEYSTORE_FILE and SSL_KEYSTORE_STH must have READ permissions or greater.

Failure You get the following error message:

IBM Informix ODBC Error Message: GSK_BAD_KEYFILE_PASSWORD

This error occurs when executing the ODBC Data Sources program or the Informix Client-SDK ConnectTest program and you attempt to access the database. An access issue exists to file cli_cms_ol.sth, which is referenced in the conssl.conf file.

Resolution Set the permissions to the cli_cms_ol.sth file, which is referenced in the conssl.conf file, to READ permissions or higher.

Using ODBC and JDBC with Avaya CMS October 2020 58 ODBC and JDBC encryption and certificates

Failure You get the following error message:

IBM Informix ODBC Error Message: GSK_ERROR_BAD_CERT

This error occurs when executing an ODBC connection. This typically occurs when configuring the System DSN in the ODBC Data Sources program (and executing Apply & Test) or executing a query in the ConnectTest program. The configured client certificate in the file cli_cms_ol.kdb, referenced in the conssl.conf file, is inconsistent with the CMS Server database certificate.

Resolution Re-execute the procedure Updating the certificate on a Windows PC that has the ODBC and JDBC client software on page 53.

Failure You get the following error message:

IBM Informix ODBC Error Message: INFORMIXSERVER does not match either INFORMIXSERVER or DATABASESERVERALIASES.

This error occurs when executing the ConnectTest program trying to select a database or executing a Query.

Resolution The Server field must be cms_net or cms_.

Failure You get the following error message:

IBM Informix ODBC Error Message: Invalid message received during connection attempt

This error occurs when executing the ODBC Data Sources program or Informix Client-SDK ConnectTest program and you are trying to access a database. A protocol mismatch issue exists.

Resolution If using an encrypted ODBC or JDBC connection, enter olsocssl in the protocol field. If using a plain non-encrypted TCP ODBC or JDBC connection, enter olsoctcp in the protocol field.

Using ODBC and JDBC with Avaya CMS October 2020 59 Chapter 7: Troubleshooting

Failure You get the following error message:

IBM Informix ODBC Error Message: Database Locale mismatch.

This error occurs when executing the ODBC Data Sources program or the Informix Client-SDK ConnectTest program and you are trying to access a database.

Resolution In the ODBC Data Sources program: 1. Select the Environment tab. 2. Click Use Database Locale. 3. Select Apply. 4. Run ConnectTest. The is verified. The error can be ignored. In the Informix Client-SDK ConnectTest program: The database connection has been verified. The error can be ignored.

Network support

Avaya does not control customer network configuration or ODBC-enabled client applications. Installation and ongoing maintenance support is limited to determining if data is being transferred correctly in the most basic client/server relationship. This is defined as a CMS system running ODBC on the same network hub as the client PC. Verify that the trouble occurs on the same network subnet. Then continue with troubleshooting procedures. If the trouble does not occur on the same network subnet, contact the Avaya help line.

Server log files and monitoring

The IBM Informix database logs information including failed ODBC login attempts to the server database log file. The default location of the database log file is found at: /opt/informix/cmsids.log CMS provides the following ODBC and JDBC encryption logging:

Using ODBC and JDBC with Avaya CMS October 2020 60 Server log files and monitoring

● High-level logging (such as start, fail, or complete) is provided in the following log file: /cms/install/logdir/admin.log ● Detailed logging for all primary activities and errors is provided in the following log file: /cms/install/logdir/security/cms_sec.log To obtain the current IBM Informix IDS software version, perform the following steps while logged into the CMS server with an appropriately privileged user ID. For more information, see Providing secure access to the CMS database on page 31. 1. Set the environment: . /opt/informix/bin/setenv 2. View the current IBM Informix IDS version: onstat - To monitor the active database sessions, perform the following steps while logged into the CMS server with an appropriately privileged user ID. For more information, see Providing secure access to the CMS database on page 31. 1. Set the environment: . /opt/informix/bin/setenv 2. View active database sessions: onstat -g ses 3. View the active statements: onstat -g sql

Using ODBC and JDBC with Avaya CMS October 2020 61 Chapter 7: Troubleshooting

Client trace

The Windows ODBC Data Source Administrator configuration utility, located in the Windows Control Panel under Administrative tools, allows you to enable or disable ODBC trace logging under the Tracing tab.

Trace logging provides you with:

● Records of your entire ODBC session, including all ODBC calls made by the ODBC-compliant application you are using

● Native database error messages that might not have been replaced by the ODBC-compliant application you were using. See Configuring ODBC tracing options on page 24 for information on configuring this utility.

Using ODBC and JDBC with Avaya CMS October 2020 62 Chapter 8: Resources

Documentation

CMS and CMS Supervisor Documents

Title Description Audience Overview Avaya Call Management Describes tested product characteristics and Sales engineers, System Overview and product capabilities including feature Administrators Specification descriptions, interoperability, performance specifications, security, and licensing requirements. Product Privacy Statement for Describes how personal data is stored and Administrators Avaya Call Management processed by CMS. System Design Avaya Customer Experience Describes the Avaya Customer Experience Sales engineers Virtualized Environment Virtualized Environment market solution Solution Description from a holistic perspective that focuses on the functional view of the solution architecture. Installation, upgrades, maintenance, and troubleshooting Deploying Avaya Call Describes how to plan, deploy, and Avaya support Management System configure CMS on new VMware-based personnel installations. Deploying Avaya Call Describes how to plan, deploy, and Avaya support Management System on configure CMS on new Amazon Web personnel Amazon Web Services Services installations. Port Matrix for Avaya Call Lists the ports and connections used by Avaya support Management System CMS. personnel

Using ODBC and JDBC with Avaya CMS October 2020 63 Chapter 8: Resources

Title Description Audience

Avaya Call Management Describes how to install, maintain, and Avaya support System Dell® PowerEdge™ troubleshoot Dell® servers used with CMS. personnel R630 and R730 Hardware Installation, Maintenance and Troubleshooting Avaya Call Management Describes how to install, maintain, and Avaya support System HPE DL20 G9 and troubleshoot HPE servers used with CMS. personnel DL380 G9 Hardware Installation, Maintenance, and Troubleshooting Planning for Avaya Call Describes the procedures customers must Administrators Management System Upgrades plan for before and after upgrading to a new CMS release. Upgrading Avaya Call Describes the procedures required to Avaya support Management System upgrade to a new CMS release. personnel Avaya Call Management Describes the procedures to upgrade from Avaya support System Base Load Upgrade one base load (for example, 19.1.0.0) to personnel, another base load (for example, 19.1.0.1). Administrators Not all releases support base load upgrades. Maintaining and Describes how to configure, maintain, and Avaya support Troubleshooting Avaya Call troubleshoot CMS. personnel, Management System Administrators Avaya Call Management Describes how to connect and administer Avaya support System and Communication the Communication Manager systems used personnel, Manager Connections, by CMS. Administration, and Administrators Troubleshooting Avaya Call Management Describes how to connect to HA servers and Avaya support System High Availability upgrade to HA. personnel, Connectivity, Upgrade and Administration Administrators User guides Using Avaya Call Management Describes how to use and maintain a CMS Avaya support System High Availability HA system. personnel, Administrators Using Avaya Call Management Describes how to back up your CMS data Administrators System LAN Backup using a LAN connection to a remote server. Using Avaya Call Management Describes how to install and maintain your Avaya support System High Availability CMS High Availability (HA) system. personnel, Administrators

Using ODBC and JDBC with Avaya CMS October 2020 64 Documentation

Title Description Audience

Using ODBC and JDBC with Describes how to use Open Database Administrators Avaya Call Management Connectivity (ODBC) and Java Database System Connectivity (JDBC) with CMS. Administration Administering Avaya Call Provides instructions on administering a Avaya support Management System contact center using CMS Supervisor. personnel, Administrators Avaya Call Management Describes the format of the Call History data Administrators System Call History Interface files and how to transfer these files to another computer. Avaya Call Management Describes each database item and Administrators, System Database Items and calculation that CMS tracks and how CMS Report designers Calculations calculates the values displayed on CMS reports and CMS Supervisor reports. Avaya Call Management Describes how to design and create custom Administrators, System Custom Reports reports in CMS. Operations personnel, Report designers Avaya Call Management Describes how to implement security Avaya support System Security features in CMS running on the Red Hat personnel, Enterprise Linux® (RHEL) operating system. Administrators. CMS Supervisor Avaya CMS Supervisor Clients Describes how to install and configure CMS Avaya support Installation and Getting Started Supervisor. personnel, Administrators Avaya CMS Supervisor Reports Describes how to use CMS Supervisor Administrators, reports. Operations personnel Avaya CMS Supervisor Report Describes how to create new reports and to Administrators, Designer edit existing reports through Report Operations Designer and Report Wizard. personnel, Report designers

Using ODBC and JDBC with Avaya CMS October 2020 65 Chapter 8: Resources

Avaya Solutions Platform Documents

Title Description Audience

Avaya Solutions Describes the key features of Avaya IT Management, sales and Platform Overview and Solutions Platform server. deployment engineers, solution Specification architects, support personnel Installing the Avaya Describes how to install Avaya Solutions Sales and deployment engineers, Solutions Platform 130 Platform 130 Series servers. solution architects, support Appliance personnel Maintaining and Describes procedures to maintain and Sales and deployment engineers, Troubleshooting Avaya troubleshoot Avaya Solutions Platform solution architects, support Solutions Platform 130 130 Series servers. personnel Appliance Avaya Solutions Describes procedures to use the Sales and deployment engineers, Platform 130 Series iDRAC9 tools on the Avaya Solutions solution architects, support iDRAC9 Best Platform 130 Series servers. personnel Practices

WebLM Documents

Title Description Audience

Deploying standalone Avaya Deploy the application in virtual appliance Implementation WebLM in Virtual Appliance environment by using Solution personnel Deployment Manager. Deploying standalone Avaya Deploy the application in virtualized Implementation WebLM in Virtualized Environment environment. personnel Deploying standalone Avaya Deploy the application on cloud services. Implementation WebLM in Infrastructure as a personnel Service Environment Deploying standalone Avaya Deploy the application in software-only Implementation WebLM in Software-Only environment. personnel Environment Upgrading standalone Avaya Upgrade the application. Implementation WebLM personnel Administering standalone Avaya Administer the system. System WebLM administrators

Using ODBC and JDBC with Avaya CMS October 2020 66 Documentation

VMware Documents

VMware Document description Document URL component or operation

vSphere Virtual Provides information on managing virtual https://docs.vmware.com/en/ Machine machines in the VMware vSphere Web Client for VMware-vSphere/6.5/ Administration vSphere 6.0 or later. This document also provides com.vmware.vsphere.vm_a information of the following: dmin.doc/ GUID-55238059-912E-411F ● Deploying OVF templates -A0E9-A7A536972A91.html ● Configuring virtual machine hardware and options

● Managing Virtual Machines vSphere Web Provides information on how through a browser https://docs.vmware.com/en/ Client vSphere Web Client connects to a vCenter server VMware-vSphere/6.5/ or directly to an ESXi host if a vCenter Server is com.vmware.vsphere.vcent not used. erhost.doc/ GUID-A618EF76-638A-49D A-991D-B93C5AC0E2B1.ht ml

Note:

Note: If the document description (link) are no longer active, consult VMware for documents associated with the component or operation.

Related links Finding documents on the Avaya Support website on page 67 Accessing the port matrix document on page 68 Avaya Documentation Portal navigation on page 68

Finding documents on the Avaya Support website

Procedure 1. Go to https://support.avaya.com. 2. Log on to the Avaya website with a valid Avaya user ID and password. 3. Click Support by Product > Documents.

Using ODBC and JDBC with Avaya CMS October 2020 67 Chapter 8: Resources

4. In Enter your Product Here, type the product name and then select the product from the list. 5. In Choose Release, select an appropriate release number. The Choose Release field is not available if there is only one release for the product. 6. In the Content Type filter, click a document type, or click Select All to see a list of all available documents. For example, for user guides, click User Guides in the Content Type filter. The list only displays the documents for the selected category. 7. Click the document to open it in your browser or download the document.

Accessing the port matrix document

Procedure 1. Go to https://support.avaya.com. 2. Log on to the Avaya website with a valid Avaya user ID and password. 3. Click Support by Product > Documents. 4. In Enter your Product Here, type the product name and then select the product from the list. 5. In Choose Release, select an appropriate release number. The Choose Release field is not available if there is only one release for the product. 6. In the Content Type filter, select one or more of the following categories:

● Application & Technical Notes

● Design, Development & System Mgt The system displays the Port Matrix document. 7. Click the document to open it in your browser or download the document.

Avaya Documentation Portal navigation

Customer documentation for some programs is now available on the Avaya Documentation Center website at https://documentation.avaya.com/.

! Important:

Important: For documents that are not available on the Avaya Documentation Center, click More Sites > Support on the top menu to open https://support.avaya.com.

Using ODBC and JDBC with Avaya CMS October 2020 68 Viewing Avaya Mentor videos

Using the Avaya Documentation Center, you can:

● Search for content in one of the following ways: - Type a keyword in Search, and click Filters to search for content by product or release. - From Products & Solutions, select a solution and product and then select the appropriate document from the list.

● Sort documents on the search results page by last updated and relevance.

● Publish a PDF of the current section in a document, the section and its subsections, or the entire document.

● Add content to your collection by using My Docs. Navigate to the Manage Content > My Docs menu, and do any of the following: - Create, rename, and delete a collection. - Add content from various documents to a collection. - Save a PDF of selected content in a collection and download it to your computer. - Share content in a collection with others through email. - Receive content that others have shared with you.

● Add yourself as a watcher by using the Watch icon. Navigate to the Manage Content > Watchlist menu, and do the following: - Enable Include in email notification to receive alerts in email. - Unwatch selected content, all content in a document, or all content on the Watch list page. As a watcher, you are notified when content is updated or deleted from a document, or the document is removed from the portal.

● Share a section on social media platforms, such as Facebook, LinkedIn, and Twitter.

● Send feedback on a section and rate the content. Note:

Note: Some functionality is only available when you log in to the portal. The available functionality depends on the role with which you are logged in.

Viewing Avaya Mentor videos

Avaya Mentor videos provide technical content on how to install, configure, and troubleshoot Avaya products.

Using ODBC and JDBC with Avaya CMS October 2020 69 Chapter 8: Resources

About this task Videos are available on the Avaya Support website, listed under the video document type, and on the Avaya-run channel on YouTube.

Procedure

● To find videos on the Avaya Support website, go to https://support.avaya.com and do one of the following: - In Search, type Avaya Mentor Videos, click Clear All, and select Video in the Content Type. - In Search, type the product name. On the Search Results page, click Clear All, and select Video in the Content Type. The Video content type is displayed only when videos are available for that product. In the right pane, the page displays a list of available videos.

● To find the Avaya Mentor videos on YouTube, go to www.youtube.com/AvayaMentor and do one of the following: - Enter a key word or key words in the Search Channel to search for a specific product or topic. - Scroll down Playlists, and click the name of a topic to see the list of videos available for the topic. For example, Contact Centers. Note:

Note: Videos are not available for all products.

Support

Go to the Avaya Support website at https://support.avaya.com for the most up-to-date documentation, product notices, and knowledge articles. You can also search for release notes, downloads, and resolutions to issues. Use the online service request system to create a service request. Chat with live agents to get answers to questions, or request an agent to connect you to a support team if an issue requires additional expertise.

Related links Using the Avaya InSite Knowledge Base on page 70

Using the Avaya InSite Knowledge Base

The Avaya InSite Knowledge Base is a web-based search engine that provides:

Using ODBC and JDBC with Avaya CMS October 2020 70 Support

● Up-to-date troubleshooting procedures and technical tips

● Information about service packs

● Access to customer and technical documentation

● Information about training and certification programs

● Links to other pertinent information If you are an authorized Avaya Partner or a current Avaya customer with a support contract, you can access the Knowledge Base without extra cost. You must have a login account and a valid Sold-To number. Use the Avaya InSite Knowledge Base for any potential solutions to problems. 1. Go to https://support.avaya.com. 2. Log on to the Avaya website with a valid Avaya user ID and password. The system displays the Avaya Support page. 3. Click Support by Product > Product Specific Support. 4. In Enter Product Name, enter the product, and press Enter. 5. Select the product from the list, and select a release. 6. Click the Technical Solutions tab to see articles. 7. Select relevant articles.

Using ODBC and JDBC with Avaya CMS October 2020 71 Chapter 8: Resources

Using ODBC and JDBC with Avaya CMS October 2020 72 Glossary

Abandoned call A call in which a caller hangs up before receiving an answer from an agent. The call can be queued to a split/skill or in a vector/vector directory number (VDN) or ringing at an agent before it is abandoned. Access permissions Permissions assigned to a Call Management System (CMS) user so that the user can access different subsystems in CMS or administer specific elements (splits/skills, trunks, vectors, and so on) of the ACD. Access permissions are specified as read or write permission. Read permission means the CMS user can access and view data (for example, run reports or view the Dictionary subsystem). Write permission means the CMS user can add, modify, or delete data and execute processes. ACD See Automatic Call Distribution (ACD). ACD call A call that queued to a split/skill and was answered by an agent in that split/skill, or a call that queued as a direct agent call and was answered by the agent for whom it was queued. ACW See After Call Work (ACW). Adjunct/Switch An open application interface through which processors and switches can Applications jointly provide services that require applications to initiate, receive, and control Interface (ASAI) calls or make use of switch features. (See Open Application Interface.) After Call Work An agent state generally representing work related to the preceding ACD call. (ACW) API See Application Programming Interface (API). Application A set of related functions that a computer programmer uses to obtain some kind Programming of service from another piece of software. Programmers of Windows based Interface (API) applications use the Windows API to create windows, draw text on the screen, access files, and perform all other services provided by Windows. Despite the use of the word application in this term, applications might not be the only software using an API; lower-level software components such as network drivers also have , but these components are not “applications” and are not used directly by applications. ASAI See Adjunct/Switch Applications Interface (ASAI). Automatic Call A switch feature using software that channels high-volume incoming and Distribution (ACD) outgoing call traffic to agent groups (splits or skills). Also an agent state where the extension is engaged on an ACD call. Backup The process of protecting data by writing the contents of the disk to an archive (or tape) that can be removed from the computer environment and stored safely.

Using ODBC and JDBC with Avaya CMS October 2020 73 Calculation

Calculation The abbreviated name (calculation name) for the formula calculation that generates the data for a field in a report. Call Management A software product used by business customers that have Avaya System (CMS) telecommunications switches and receive a large volume of telephone calls that are processed through the Automatic Call Distribution (ACD) feature of the switch. The CMS collects call-traffic data, formats management reports, and provides an administrative interface to the ACD feature in the switch. Call Management A tool that allows direct queries of the historical database. This tool is the System Query interactive interface typically used to view the Informix database. For CMS Language (CMSQL) purposes, CMSQL is used instead of Informix SQL. Call Vectoring A switch feature that provides a highly flexible method for processing ACD calls. A call vector is a set of instructions that controls the routing of incoming and outgoing calls based on current conditions. Examples of call vector conditions include time of day and the number of calls in queue. Call Work Code An ACD capability that allows the agent to enter a string of digits during or after (CWC) the call and send them to CMS for management reporting. Avaya Supervisor The Call Management System application for the Microsoft Windows operating environment. CMS See Call Management System (CMS). Current interval Represents the current intrahour interval, which can be 15, 30, or 60 minutes. The current interval is part of the real-time database. CMS starts collecting ACD cumulative data at the beginning of the interval (on the hour, half-hour, or quarter hour) and continues collecting ACD cumulative data until the end of the interval. When the current interval changes, all cumulative data is cleared and CMS begins counting cumulative data again starting from zero. The length of the interval is set in the System Setup: Storage Intervals window and is called the intrahour interval. CWC See Call Work Code (CWC). Daily data Interval data that has been converted to a 1-day summary. CMS database A group of files that store ACD data according to a specific time frame: current and previous intrahour real-time data and intrahour, daily, weekly, and monthly historical data. Database item A name for a specific type of data stored in one of the CMS databases. A database item can store ACD identifiers (split numbers or names, login IDs, VDNs, and so on) or statistical data on ACD performance (number of ACD calls, wait time for calls in queue, current states of individual agents and so on). Database The software that manages access to structured data. For example, the Management Microsoft SQL Server is a database management system. Database System (DBMS) management system can also be used generally to include PC database products such as Microsoft Access, as well as any other software that can provide data access services.

Using ODBC and JDBC with Avaya CMS October 2020 74 Previous interval

CMS database CMS uses these tables to collect, store, and retrieve ACD data. Standard CMS tables items (database items) are names of columns in the CMS database tables. DBMS See Database Management System (DBMS). Dictionary A CMS subsystem that can be used to assign names to various call center elements such as login IDs, splits/skills, trunk groups, VDNs and vectors. These names are displayed on reports, making them easier to interpret. Dictionary also allows customized calculations to be created for use in reports. Driver manager A dynamic link library that loads drivers on behalf of an application. Dynamic link library A dynamic link library is another name for a driver or a driver manager. A dynamic link library is specific to the DBMS of the data being accessed. For example, an Informix specific dynamic link library will be used to access data in an Informix database, such as the CMS database. Entity A generic term that refers to one of the following: Agent, Split/Skill, Trunk, Trunk Group, VDN, or Vector. Exception A type of activity in the ACD which falls outside the limits you have defined. An exceptional condition is defined in the CMS Exceptions subsystem, and usually indicates abnormal or unacceptable performance of the ACD (by agents, splits/ skills, VDNs, vectors, trunks, or trunk groups). Historical database A database that contains intrahour records for up to 62 days, daily records for up to 5 years, and weekly/monthly records for up to 10 years for each CMS table. Historical reports Reports that display past ACD data for various CMS tables. Informix A relational database management system used to organize CMS historical data. Informix SQL A query language tool that is used to extract data from an Informix database. Intrahour interval A 15-, 30-, or 60-minute segment of time starting on the hour. An intrahour interval is the basic unit of CMS report time. LAN See Local area network (LAN). Local area network A private interactive communication network that allows computers to (LAN) communicate over short distances, usually less than one mile, at high data transfer rates from 1 Mbps to as high as 100 Mbps. Monthly data Daily data that has been converted to a monthly summary. ODBC See Open Database Connectivity (ODBC). Open Database Open Database Connectivity is a standard application programming interface Connectivity (API) for accessing data in both relational and non-relational databases. (ODBC) Previous interval Represents one intrahour interval and is part of the real-time database. At the end of each intrahour interval, the contents of the current intrahour interval are copied to the previous intrahour interval portion of the real-time database.

Using ODBC and JDBC with Avaya CMS October 2020 75 Read permission

Read permission The CMS user with read permission can access and view data (for example, run reports or view the Dictionary subsystem). Read permission is granted from the User Permissions subsystem. Real-time database Consists of the current and previous intrahour data on each CMS-measured agent, split/skill, trunk, trunk group, vector, and VDN. Single-user mode Only one person can log into CMS. Data continues to be collected if data collection is “on.” This mode is required to change some CMS administration. SQL See Structured query language (SQL). Structured query A language used to interrogate and process data in a relational database (such language (SQL) as Informix). Switch A private switching system providing voice-only or voice and data communications services (including access to public and private networks) for a group of terminals within a customer's premises. Trunk A telephone line that carries calls between two switches, between a Central Office (CO) and a switch, or between a CO and a phone. Trunk group A group of trunks that are assigned the same dialing digits - either a phone number or a Direct Inward Dialed (DID) prefix. VDN See Vector directory number (VDN). Vector A list of steps that process calls in a user-defined manner. The steps in a vector can send calls to splits/skills, play announcements and music, disconnect calls, give calls a busy signal, or route calls to other destinations. Calls enter vector processing via VDNs, which can have received calls from assigned trunk groups, from other vectors, or from extensions connected to the switch. Vector directory An extension number that enables calls to connect to a vector for processing. A number (VDN) VDN is not assigned an equipment location. It is assigned to a vector. A VDN can connect calls to a vector when the calls arrive over an assigned automatic-in trunk group, dial-repeating (DID) trunk group, or ISDN trunk group. The VDN by itself can be dialed to access the vector from any extension connected to the switch. Weekly data Daily data that has been converted to a weekly summary. Write permission The CMS user can add, modify, or delete data and execute processes. Write permission is granted from the User Permissions subsystem.

Using ODBC and JDBC with Avaya CMS October 2020 76 Index

Index

C P circular structure ...... 17 performance impacts ...... 14 client trace ...... 62 CMS feature interactions ...... 16 R configuring relational database model ...... 11 server data source ...... 21 removing tracing ...... 24 data source ...... 23

D S data source security, port allocation ...... 15 removing ...... 23 server log file...... 60 database logic structure ...... 16 structured query language ...... 11 supported languages ...... 14 F supported logins ...... 14 feature interactions...... 16 T table permissions...... 15 G tables Glossary ...... 73 agent ...... 17 VDN ...... 17 tracing H configuring ...... 24 https troubleshooting ...... 57 //support.avaya.com/Copyright ...... 3 V N viewing drivers ...... 24 network support ...... 60

O ODBC background and functionality ...... 9 data uses ...... 12 driver, about ...... 13 feature interactions ...... 16 features ...... 13 languages ...... 14 logins ...... 14 performance impact...... 14 requesting data ...... 12 server data source ...... 21

Using ODBC and JDBC with Avaya CMS October 2020 77 Index

Using ODBC and JDBC with Avaya CMS October 2020 78