You are on page 1of 86

297-2183-940

Nortel Contact Center Manager


Database Integration User Guide

Product release 6.0 Standard 5.05 September 2007


Nortel Contact Center Manager
Database Integration User Guide

Publication number 297-2183-940


Product release: 6.0
Document release: Standard 5.05
Date: September 2007

Copyright © 2007 Nortel Networks. All Rights Reserved.

Information is subject to change without notice. Nortel reserves the right to make changes in design
or components as progress in engineering and manufacturing may warrant.

The process of transmitting data and call messaging between the Meridian 1 PBX and Contact
Center Manager Database Integration is proprietary to Nortel. Any other use of the data and the
transmission process is a violation of the user license unless specifically authorized in writing by
Nortel prior to such use. Violations of the license by alternative usage of any portion of this process
or the related hardware constitutes grounds for an immediate termination of the license and Nortel
reserves the right to seek all allowable remedies for such breach.

*Nortel, the Nortel logo, the Globemark, IVR, Symposium and Contact Center Manager are
trademarks of Nortel Networks.

MYSQL is a trademark of MySQL AB.


Contents

1 Getting started 7
New in this Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
About the Database Integration service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
How to use this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Skills you need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Related documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
How to get help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Understanding the Database Integration service 19


Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Database Integration service functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Using stored procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 Using the Database Integration service for database


access or TAPI integration 33
Database Integration process overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Step 1. Configure the connection to the target database. . . . . . . . . . . . . . . . . 35
Step 2. Start the Database Integration Wizard . . . . . . . . . . . . . . . . . . . . . . . . 37
Step 3. Configure HDX and TAPI server connections. . . . . . . . . . . . . . . . . . 38
Step 4. Configure database connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Step 5. Construct and test SQL statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Step 6. Accept or discard changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Step 7. Edit the Contact Center Manager scripts . . . . . . . . . . . . . . . . . . . . . . 51

A Database Integration backup and restore 53


Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Database Integration backup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Database Integration restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

B Sample: Using the Wizard to connect to a database 57


Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Database Integration User Guide v


Contents Standard 5.05

Connecting the Database Integration service to a MySQL database . . . . . . . 59

C Troubleshooting 65
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Troubleshooting problems with database connections . . . . . . . . . . . . . . . . . . 68

D Sample: Using SKILLSET data types 71


Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Using HDX commands with SKILLSET data types in the Wizard . . . . . . . . 73

Index 79

vi Contact Center Manager


Chapter 1

Getting started

In this chapter
New in this Release 8
Overview 10
About the Database Integration service 11
How to use this guide 12
Skills you need 13
Related documents 14
How to get help 17

Database Integration User Guide 7


Getting started Standard 5.05

New in this Release

The following sections detail what is new in Nortel Contact Center Manager
Database Integration User Guide for release 5.05.
„ “Features” on page 8
„ “Other changes” on page 8

Features
See the following sections for information about feature changes:
„ “Stored procedures” on page 8
„ “SEND REQUEST command” on page 8

Stored procedures
The Database Integration service for Release 6.0 introduces support for stored
procedures. Stored procedures are precompiled sets of SQL statements that are
created in and stored on the database server. Stored procedures affect the
following section:
„ “Using stored procedures” on page 28

SEND REQUEST command


Additional functionality was added to the SEND REQUEST command. With
this additional functionality, you can use the SEND REQUEST command to
read data from TAPI. The SEND REQUEST command affects the following
section:
„ “Interaction with script commands” on page 23

Other changes
See the following sections for information about changes that are not feature-
related:
„ “Using a question mark (?) to represent an unknown parameter” on page 9
„ “SQL queries and GET RESPONSE timeout” on page 9

8 Contact Center Manager


September 2007 Getting started

Using a question mark (?) to represent an unknown parameter


Information was added to explain the use of a question mark as a parameter
symbol as well as an explanation of how it works when you pass multiple
parameters with a SEND REQUEST command. For more information, see
“SEND REQUEST” on page 24.

SQL queries and GET RESPONSE timeout


You must check any SQL queries to ensure that they do not require an excessive
amount of time to execute. The section “GET RESPONSE” on page 25 was
updated to include information about checking SQL queries and increasing the
default timeout value of the GET RESPONSE command.

Database Integration User Guide 9


Getting started Standard 5.05

Overview

Introduction
You can use the Database Integration service to exchange call data between
Contact Center Manager scripts and any Open Database Connectivity (ODBC)
compliant database, and to attach script data to a call using Nortel TAPI server.

Contact Center 6.0 introduces native support for multimedia contacts in addition
to voice calls. The Database Integration service supports multimedia contacts as
well as voice. For example, it can look up information in a database associated
with an e-mail message that is being routed to an agent.

You use the Database Integration Wizard to configure the Database Integration
service.

10 Contact Center Manager


September 2007 Getting started

About the Database Integration service

The Database Integration service is a Contact Center Manager service that


performs four major functions. You can use the Database Integration service to:
„ perform database lookups and place the information in a Contact Center
Manager script
„ perform database modifications
„ retrieve data from the TAPI server and place the information in a Contact
Center Manager script
„ attach data to a call using a Contact Center Manager script

The Database Integration service allows you to do this without custom interface
programming.

Database Integration User Guide 11


Getting started Standard 5.05

How to use this guide

The Database Integration User Guide provides information about the


configuration of the Database Integration service for Contact Center Manager.

The guide includes details about:


„ the Database Integration service
„ using the Database Integration Wizard to configure the Database
Integration service
„ troubleshooting the Database Integration service
„ an example of the general process used to connect the Database Integration
service to a sample database

12 Contact Center Manager


September 2007 Getting started

Skills you need

Introduction
This section describes the skills and knowledge you need to use this guide
effectively.

Nortel product knowledge


Knowledge of, or experience with, the following Nortel products is useful when
administering the Database Integration service for Contact Center Manager:
„ Contact Center Manager
„ Contact Center Manager scripting
„ Host Data Exchange (HDX) server

Computer experience or knowledge


Knowledge of, or experience with, the following products and concepts is
helpful when administering Contact Center Manager Database Integration:
„ client/server architecture
„ Microsoft Windows Server 2003, Advanced Server, Microsoft
Windows 95, Windows 98, Windows NT Workstation 4.0, Windows 2000
Professional, and Windows XP

Other experience or knowledge


Other types of experience or knowledge that can be useful include:
„ database management
„ TAPI programming
„ Open Database Connectivity (ODBC)
„ troubleshooting

Database Integration User Guide 13


Getting started Standard 5.05

Related documents

The following guides are available on the Contact Center portfolio DVD or on
the Nortel Web site (www.nortel.com).

For information about Refer to NTP number

Planning and Contact Center Planning and 297-2183-934


engineering guidelines, Engineering Guide
and server requirements
Nortel Contact Center Manager 297-2183-935
CapTool User’s Guide

Server requirements Nortel Contact Center Server and 297-2183-263


Operating System Requirements
Guide

The Contact Center Contact Center What’s New in 297-2183-903


portfolio Release 6.0

Required installation Contact Center Installer’s Roadmap 297-2183-226


and server data (see www.nortel.com/pic)

Switch configuration Contact Center Communication 297-2183-931


Server 1000/Meridian 1 and Voice
Processing Guide

Contact Center Manager Switch 297-2183-937


Guide for Communication Server
2X00/DMS

SIP Contact Center Switch 297-2183-962


Configuration Guide
Server operating system Contact Center Manager Server 297-2183-212
configuration and Technical Requirements and
requirements Operating System Configuration
Guide

14 Contact Center Manager


September 2007 Getting started

For information about Refer to NTP number

Contact Center Manager Server 297-2183-944


Technical Requirements and
Operating System Configuration
Guide for the coresident server

Contact Center Manager 297-2183-213


Administration Technical
Requirements and Operating System
Configuration Guide

Communication Control Toolkit 297-2183-215


Server Technical Requirements and
Operating System Configuration
Guide
Contact Center Multimedia Server 297-2183-214
Technical Requirements and
Operating System Configuration
Guide

Contact Center 6.0 Security Guide


Contact Center Portfolio Service
Packs Compatibility and Security
Hotfixes Applicability List

Installation, upgrades, Contact Center Manager Server 297-2183-925


migration, and Installation and Maintenance Guide
maintenance
Contact Center Manager Server 297-2183-218
Installation and Maintenance Guide
for the Co-resident Server
Contact Center Manager Server 297-2183-219
Installation and Maintenance Guide
for the Standby Server

Contact Center Manager 297-2183-926


Administration Installation and
Maintenance Guide

Database Integration User Guide 15


Getting started Standard 5.05

For information about Refer to NTP number

Communication Control Toolkit 297-2183-946


Installation and Maintenance Guide
Contact Center Multimedia 297-2183-929
Installation and Maintenance Guide

Nortel Media Application Server 297-2183-227


Installation and Configuration Guide
for Contact Center 6.0

Scripting Contact Center Manager Scripting 297-2183-930


Guide for Communication Server
1000/Meridian 1 PBX

Contact Center Manager Scripting 297-2183-936


Guide for Communication Server
2X00/DMS

Contact Center Manager Database 297-2183-940


Integration User Guide

Networked contact Contact Center Manager Network 297-2183-932


center Control Center Administrator’s Guide

Administering contact Contact Center Manager 297-2183-927


centers Administrator’s Guide

Supervising contact Contact Center Manager Supervisor’s 297-2183-928


centers Guide
Contact Center Historical Reporting 297-2183-914
and Data Dictionary

Handling contacts Contact Center Agent Desktop User 297-2183-945


Guide

16 Contact Center Manager


September 2007 Getting started

How to get help

This section explains how to get help for Nortel products and services. However,
before contacting Nortel for support, consult Appendix C, “Troubleshooting.”

Finding the latest updates on the Nortel Web site


The content of this documentation was current at the time the product was
released. To check for updates to the latest documentation and software for
Contact Center 6.0, click one of the following links:

Link to Takes you directly to

Latest software The Nortel page for Contact Center located at


www.nortel.com/espl.

Latest documentation The Nortel page for Contact Center documentation


located at www.nortel.com/helmsman.

Getting help from the Nortel Web site


The best way to get technical support for Nortel products is the Nortel Technical
Support Web site:

www.nortel.com/support

This site provides quick access to software, documentation, bulletins, and tools
to address issues with Nortel products. From this site, you can:
„ download software and related tools
„ download technical documents, release notes, and product bulletins
„ sign up for automatic notification of new software and documentation
„ search the Technical Support Web site and Nortel Knowledge Base for
answers to technical issues
„ open and manage technical support cases

Database Integration User Guide 17


Getting started Standard 5.05

Getting help over the phone from a Nortel Solutions Center


If you do not find the information you require on the Nortel Technical Support
Web site, and you have a Nortel support contract, you can also get help over the
phone from a Nortel Solutions Center.

In North America, call 1-800-4NORTEL (1-800-466-7835).

Outside North America, go to following Web site to obtain the phone number for
your region:

www.nortel.com/callus

Getting help from a specialist by using an Express Routing Code


To access some Nortel Technical Solutions Centers, you can use an Express
Routing Code (ERC) to quickly route your call to a specialist in your Nortel
product or service. To locate the ERC for your product or service, go to:

www.nortel.com/erc

Getting help through a Nortel distributor or reseller


If you purchased a service contract for your Nortel product from a distributor or
authorized reseller, you can contact the technical support staff for that distributor
or reseller.

18 Contact Center Manager


Chapter 2

Understanding the Database


Integration service

In this chapter
Overview 20
Database Integration service functionality 21
Using stored procedures 28

Database Integration User Guide 19


Understanding the Database Integration service Standard 5.05

Overview

The Database Integration service is a Contact Center Manager service that


performs four major functions. It allows you to:
„ perform database lookups and place the information in a Contact Center
Manager script
„ retrieve data from the TAPI server and place the information in a Contact
Center Manager script
„ perform database modifications
„ attach data to a call using a Contact Center Manager script

The Database Integration service allows you to do this without custom interface
programming.

20 Contact Center Manager


September 2007 Understanding the Database Integration service

Database Integration service functionality

Introduction
The Database Integration service is installed automatically as part of the Contact
Center Manager installation. The Database Integration service runs as a Contact
Center Manager service when it is enabled by a keycode. When the Database
Integration service is started, it
„ registers as a service provider to the Host Data Exchange (HDX) service
„ registers with the Telephony Application Programming Interface (TAPI)
server, if TAPI is enabled in the Database Integration Wizard, and connects
to the database as required to run queries and procedures

Note: The connection to the database requires access permissions. Your Contact
Center Manager Server Host Application Integration service and the Database
Integration Wizard must use the correct context when connecting to the
database. For further details, see “Ensuring you have the correct access
permissions to the database,” on page 41.

Use the Database Integration Wizard to configure the Database Integration


service.

The Database Integration service and the Database Integration Wizard use the
Common Object Request Broker Architecture (CORBA) version of the HDX
interface to communicate generically with external databases, TAPI servers, or
both.

Interaction with the HDX

HDX overview
The HDX service maintains connections between registered third-party
applications and Database Integration call processing.

The following is an example of the call processing script functionality between


the HDX service and a registered third-party application:

Database Integration User Guide 21


Understanding the Database Integration service Standard 5.05

1. When the call processing script encounters an HDX script command (for
example SEND INFO, SEND REQUEST, or GET RESPONSE), it
packages the parameters into a message.
2. The HDX service receives and queues the message. A registered third-party
application can then use the HDX interface to retrieve the message.
3. The service provider receives the message, unpacks the data it contains, and
runs the specified service.
4. If the specified service is a request, the request is run, and the results are
packaged into a message that is then sent back to the HDX.
5. When the HDX receives the message, it routes the data to call processing.
6. Call processing receives the message, unpacks the data, and maps the
values to the call variable parameters of the response script function.

For more information about scripting, see the Contact Center Manager Scripting
Guide.

Interaction of the Database Integration service with HDX


The Database Integration service registers with HDX as a third-party application
with a unique provider ID. The provider ID is a unique ID that identifies HDX
applications to Contact Center Manager. Contact Center Manager scripts use
provider IDs to identify HDX applications.

After it is registered, the Database Integration service enables the exchange of


data between the Contact Center Manager script and any Open Database
Connectivity (ODBC) 3.51 compliant database.

You also have the option to configure the Database Integration Wizard to
register the Database Integration service with the TAPI server. After you use the
TAPI server, you can attach data to a call.

Use the Database Integration Wizard to configure the Database Integration


service. For more information on the Database Integration Wizard, see
“Configuring the Database Integration service using the Database Integration
Wizard,” on page 23.

22 Contact Center Manager


September 2007 Understanding the Database Integration service

The HDX provides a maximum of ten client application connections. A client


application refers to an application written to interface directly with the Contact
Center Manager script. The HDX service is the server that provides service to
the third party client applications. The Database Integration Wizard is a client of
the HDX service.

Note: Although the Database Integration Wizard is installed coresident on the


Contact Center Manager Server, the Wizard is a separate HDX client application
and uses one of the ten available HDX connections. When the Database
Integration Wizard is running, nine HDX client application connections are
available. The HDX limit for the size of a data parameter is 80 bytes.

When Contact Center Manager Database Integration is shut down, all the
existing registrations are released, and the open connections to the Data Source
Names (DSN) are closed.

Configuring the Database Integration service using the Database


Integration Wizard
Use the Database Integration Wizard to configure and test the following
information for the Database Integration service:
„ the provider ID to be used to connect to the HDX
„ the support required for the TAPI connection (that is, whether to enable or
disable support for TAPI)
„ the TAPI server Host Name or IP Address
„ the Interactive Voice Response (IVR) Port connections (if enabled)
„ the UserName and Password pair (if configured) for each system DSN
configured on the server to be used by the Contact Center Manager
Database Integration service
„ the Structured Query Language (SQL) statements configured for the DSNs

Interaction with script commands


After you use the Database Integration Wizard to configure the Database
Integration service, you can use call processing script commands for the HDX to
integrate with the Host Application Integration (HAI) service.

Database Integration User Guide 23


Understanding the Database Integration service Standard 5.05

When a message is retrieved from the HDX, the system checks which type the
message is:
„ SEND REQUEST/ GET RESPONSE is used for database access and for
data retrieval from TAPI
„ SEND INFO is used for database access and for TAPI call data attachment

The first parameter of SEND REQUEST/SEND INFO is crucial to the operation


of Database Integration Wizard. For SEND INFO, the first parameter indicates if
TAPI call data attachment is to be performed or if database access is required.
For SEND REQUEST, the first parameter indicates if TAPI is being invoked or
if the request is for database access. For database access (SEND REQUEST or
SEND INFO), the first parameter indicates the unique number of the SQL
statement to execute. For these reasons, at least one parameter is required for
SEND REQUEST and SEND INFO.

SEND REQUEST
You can use the SEND REQUEST command to retrieve information from a
database or from TAPI. The first parameter of the SEND REQUEST command
indicates if the target is database access or TAPI. If the first parameter is
%TAPI%, then the data is requested from TAPI.
SEND REQUEST DIW_PROVIDER_ID "%TAPI%", DATA 1

Otherwise, the parameter is checked to see if it corresponds to the SQL


statements that you construct using the Database Integration Wizard. If a
corresponding SQL statement is found, the statement is selected for execution
on a DSN. When statements are stored, they are associated with particular
DSNs. If a connection does not exist for the particular DSN, a connection is
enabled for it. Connections are maintained for as long as the service is running.

The remaining parameters of SEND REQUEST populate the unknown


parameters of the SQL statement (up to nine parameters can be used). The
unknown parameters are identified by a question mark (?) in the SQL statement
identification. Where multiple unknown parameters exist, there is a question
mark (?) for each unknown parameter in the SQL statement. The HDX request
must send a parameter for each of the question marks encountered in the SQL
statement. Each question mark is replaced, in order, by the parameters in the
HDX request as they are encountered. The type of each request parameter
should match the data type of the SQL data field.

24 Contact Center Manager


September 2007 Understanding the Database Integration service

Syntax example:
SEND REQUEST HAI_AppID HAI_SQLNO_cv, CLID

In this example, the SQL statement number referenced in HAI_SQLNO_cv is


executed. This statement expects a single parameter (that is, it has a single ?),
which is replaced by the CLID of the call when the statement is executed.

GET RESPONSE
All request messages are accompanied by a GET RESPONSE message. The first
parameter of the GET RESPONSE message indicates the status of the SQL
statement execution. Returned data from the statement execution populates the
remaining message parameters. All remaining parameters of the GET
RESPONSE message default to NULL, which is represented within the script as
a blank value for a string and a zero for an integer.

The first parameter of the GET RESPONSE is reserved as a string variable for
storing the status of the SQL execution. The returned value is one of the
following:
„ SUCCESS, the SQL statement was executed successfully.
„ FAILED, the SQL statement failed to execute. You must examine the log
files to determine the reason for failure. For example, attempting to execute
an invalid SQL statement results in a FAILED operation.
„ NODATA, the SQL statement is of type SELECT; however, no data was
returned.

The returned data is packaged in a service completion message that is passed


back to the HDX.

If the GET RESPONSE command returns data from a CCT/TAPI application,


each piece of data must be separated by a RECORD_SEPARATOR, defined as
follows:
#define RECORD_SEPARATOR 0x1E

This ensures that each piece of data can be supplied separately in the GET
RESPONSE command.

A GET RESPONSE message returning data from a CCT/TAPI application has a


returned value of one of the following:

Database Integration User Guide 25


Understanding the Database Integration service Standard 5.05

„ SUCCESS
„ FAILED
„ NODATA

You must check any SQL query configured in the Database Integration Wizard
to ensure that it does not take an excessive amount of time to execute. By
default, the GET RESPONSE command waits 10 seconds for the query to
execute before it times out. If the GET RESPONSE command times out, the
script continues without the response. Depending on the nature of the query,
calls may not be handled properly.

If an SQL query takes longer than 10 seconds to execute, you can do one of the
following:
„ Optimize the SQL query so that it takes less time to execute (for example,
rewrite the query or use stored procedures).
„ Use the optional TIMER parameter of the GET RESPONSE command to
increase the timeout value.

Syntax example:
GET RESPONSE HAI_AppID HAI_SQLRESP_cv, HAI_AGENTID_cv

In this example, the executed SQL statement is expected to return a single piece
of information, namely the ID of an agent. This can be used for direct queuing to
a preferred agent. The status of the SQL execution is stored in the STRING call
variable HAI_SQLRESP_cv. It is expected that the script writer checks the
status of execution and only uses the information if the response indicates
SUCCESS.

SEND INFO

The SEND INFO command can access script and call data, and attach the data to
a call by using TAPI. The first parameter of the SEND INFO request identifies
whether the target is database access or TAPI. If the first parameter is %TAPI%,
the remaining parameters are attached to the call using the IVR/CallData
interface provided by TAPI. When attached to the call in TAPI, each data
parameter is separated by a RECORD_SEPARATOR.

26 Contact Center Manager


September 2007 Understanding the Database Integration service

If the first parameters is not %TAPI%, the SEND INFO command is for
database access. In this case, the first parameter is the numeric identifier of the
SQL statement that you want to run. The numeric identifier can identify an SQL
statement (such as UPDATE) that does not return data to Contact Center
Manager. The same principles discussed for SEND REQUEST apply to SEND
INFO when it is being used for database access.

The following sample Contact Center Manager scripts illustrates both usages of
SEND INFO.

Example 1: SEND INFO for database access


/* Execute SQL statement number 5 passing the current
callid as parameter */
ASSIGN 5 TO HAI_SQLNO_cv
ASSIGN "%CALLID%" TO HAI_CALLID_cv
SEND INFO provId HAI_SQLNO_cv, HAI_CALLID_cv

Example 2: SEND INFO for TAPI access


/* Attach the text 'abandoned' to the call */
ASSIGN "%TAPI%" TO HAI_STRING_cv
ASSIGN "ABANDONED" TO HAI_DATA_cv
SEND INFO provId HAI_STRING_cv, HAI_DATA_cv

The previous examples illustrate scripts where the HAI service performs a single
action on a call being processed by a script. Often, multiple HAI service actions
are performed sequentially in the script for a single call. Caution is required
when the result of one action is dependent on a previous action having been
completed fully. It is possible for the new action to be processed before the
previous action is complete.

You must change the following registry keys to allow for sequential execution of
script commands:

\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Nortel\\ICCM\\HAI\\Threads
\\WorkerThreads value=1

\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Nortel\\ICCM\\HAI\\Threads
\\WorkerThreadsSleep value=60

Database Integration User Guide 27


Understanding the Database Integration service Standard 5.05

Using stored procedures

Introduction
The Database Integration service in Contact Center Manager 6.0 supports the
use of stored procedures on the database server. Stored procedures are
precompiled sets of SQL statements that are created in and stored on the
database server.

The Database Integration Wizard invokes stored procedures by using


conventions that are appropriate to the database vendor.

Creating stored procedures


You can create stored procedures on the database server by using database server
software. For instructions about how to create stored procedures, consult your
database vendor documentation.

Standards and database vendors

Database vendor Standard

MySQL 5.0 (or later) SQL:2003 syntax

DB2 SQL:2003 syntax


Microsoft SQL Server T-SQL

Sybase T-SQL

Oracle PL/SQL

28 Contact Center Manager


September 2007 Understanding the Database Integration service

Using stored procedures in the Database Integration Wizard


To use stored procedures in the Database Integration Wizard, you must perform
the following tasks:
„ Configure and test the stored procedure in the Database Integration Wizard
for execution. For details about configuring and testing stored procedures
for execution, see “To test an SQL statement or stored procedure,” on page
46.

Note: The command syntax and parameter passing convention that you use to
invoke a stored procedure must be compatible with the command syntax of the
database server software.
„ Use the appropriate HDX commands in your script to invoke the stored
procedure depending on whether the stored procedure returns data. For
details, see “Step 7. Edit the Contact Center Manager scripts” on page 51.

Notes:
„ For stored procedures that return data, use SEND INFO to invoke
execution of the stored procedure and then use SEND REQUEST/ GET
RESPONSE to retrieve the data.
„ For stored procedures that do not return data, use SEND INFO to invoke
the procedure.

ATTENTION
The Database Integration Wizard supports a maximum of only
9 data items. If your stored procedure returns more than 9 data
items, only the first 9 data items are available for the script.

To create and invoke a stored procedure using the Database


Integration Wizard

Note: This procedure uses the example of a stored procedure created in MySQL
5.0 (or later).
1 Create a table in the MySQL table editor.
2 Create a stored procedure using MySQL.
Example:

Database Integration User Guide 29


Understanding the Database Integration service Standard 5.05

DROP PROCEDURE sp_GetCustomer;

delimiter |

CREATE PROCEDURE sp_GetCustomer(IN __uri VARCHAR(45),


OUT __first VARCHAR(45), OUT __last VARCHAR(45) )

BEGIN

SELECT FirstName, LastName INTO __first, __last FROM


test.customers WHERE URI = __uri ;

END

delimiter ;
3 Test the stored procedure using the MySQL test tool.
Example:

CALL sp_GetCustomer("customer@home.com", @a, @b);

SELECT @a, @b;


4 Configure the Database Integration Wizard with DSN access. For details,
see Chapter 3, “Using the Database Integration service for database
access or TAPI integration.”
5 Construct your SQL statements using the Database Integration Wizard. For
details, see “Step 5. Construct and test SQL statements,” on page 44.
6 Write and activate the script.
Example:

/*

SQLNO 3 is the number of the stored procedure as seen in


the Wizard

*/

ASSIGN 3 TO HAI_SQLNO_cv

ASSIGN "customer@home.com" TO HAI_FROMADDRESS_cv

SEND INFO HAI_AppId_gv HAI_SQLNO_cv, HAI_FROMADDRESS_cv

SEND REQUEST HAI_AppId_gv HAI_SQLNO_cv

30 Contact Center Manager


September 2007 Understanding the Database Integration service

GET RESPONSE HAI_AppId_gv HAI_SQLRESP_cv,


HAI_string01_cv, HAI_string02_cv

Using Complex SQL statements in Microsoft SQL Server


Executing an SQL statement when the database is set to return the number of
rows affected by that Transact-SQL statement or stored procedure can return
invalid results as the number of rows affected is returned as part of the result set.
Use the SET NOCOUNT ON setting to prevent the count of the number of rows
affected, thus ensuring that the SQL statement executes successfully.

Guidelines for using stored procedures in the Database Integration


service
When using stored procedures, note the following guidelines.

Using stored procedures that support SELECT...INTO only


When you use stored procedures that support only the SQL construction of
SELECT... INTO, invoke the procedures in the following order:
„ SEND INFO, to invoke the stored procedure
„ SEND REQUEST/ GET RESPONSE, to retrieve the data put into the
variables by using the SQL construction of SELECT...INTO

Note: The threading model in HAI can make the system process the SEND
INFO and SEND REQUEST commands in the wrong order. If this happens, the
script receives invalid data. To guarantee the order of the commands, set the
value of the following registry key to 1:

HKEY_LOCAL_MACHINE\SOFTWARE\NORTEL\ICCM\HAI\Threads

The default setting has two worker threads, which provides faster performance
but does not guarantee order of execution.

If you adjust the worker thread setting, you must also adjust the sleep timer
setting (as described on page 27). The default value for the sleep timer is 120.

Database Integration User Guide 31


Understanding the Database Integration service Standard 5.05

Using stored procedures in Oracle


When a stored procedure must return data to the script, the stored procedure
must have the data available in a form that can be retrieved by HAI. The data
must be available to populate the parameters of a GET RESPONSE request.
Some databases support output parameters where the data is returned in
parameters when the procedure is called. This data is not available to HAI and
this type of stored procedure is not directly supported by HAI. For example,
parameters can be identified as OUT in Oracle. The data passed in the OUT
parameter cannot be retrieved by HAI.

Using “= null” versus “is null” in Sybase


The usage of ‘= null’ instead of ‘is null’ in Sybase can cause failure to receive
data.

To correct this issue, use the DSN Advanced configuration window to set
Initialization String to SET ANSINULL OFF by using the procedure below:
1 Click Start > All Programs > Administrative Tools > Data Sources
(ODBC)
Result: The ODBC Data Source Administrator window opens.
2 On the System DSN tab, select Sybase DSN.
3 Click Advanced.
4 In the Initialization String box, set the Initialization String to SET
ANSINULL OFF.

32 Contact Center Manager


Chapter 3

Using the Database Integration


service for database access or TAPI
integration

In this chapter
Database Integration process overview 34
Step 1. Configure the connection to the target database 35
Step 2. Start the Database Integration Wizard 37
Step 3. Configure HDX and TAPI server connections 38
Step 4. Configure database connections 41
Step 5. Construct and test SQL statements 44
Step 6. Accept or discard changes 49
Step 7. Edit the Contact Center Manager scripts 51

Database Integration User Guide 33


Using the Database Integration service for database access or TAPI integration Standard 5.05

Database Integration process overview

The following list provides an overview of the Database Integration process.


The list includes the procedures you can perform by using the Database
Integration Wizard, and the procedures you must perform before and after you
use the Wizard.
„ Configure the connection to the target database
„ Start the Database Integration Wizard.
„ Configure HDX connections.
„ Configure database connections.
Note: Database connections are necessary only when UserName and
Password pairs are configured on the database for the DSN.
„ Construct and test the SQL Statements for execution on each DSN, and
note the parameters required and the SQL numerical identifier for the
statements.
„ Accept or discard the changes.
„ Edit the Contact Center Manager scripts.

The sections that follow provide detailed information about procedures used in
the Database Integration process.

34 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

Step 1. Configure the connection to the target


database

Introduction
Before you use the Database Integration Wizard to configure the Database
Integration service, you must configure the connection to the target database by
completing the following tasks:
„ Install and configure the client drivers (if applicable).
„ Configure the system DSNs.

To install and configure client drivers


You must install and configure the software and drivers to enable connection to
the external database that you want to access. You can test the database
connectivity and the data access capability using the tools and techniques
provided by the database vendor.

To configure the system DSNs


The system DSNs that you want the Database Integration Wizard to use must be
configured in Contact Center Manager before you run the Wizard. You can use
the ODBC Data Source Administrator to configure the system DSNs.
1 On the Windows start menu, click Control Panel > Administrative Tools
>Data Sources (ODBC).
Result: The ODBC Data Source Administrator window appears, containing
all information pertaining to ODBC configuration for the server.
2 Click the System DSN tab.
Result: A list of all the System DSNs configured on the server appear.
3 Click Add.
Result: The Create New Data Source window appears, listing all the
ODBC drivers present on the server.

Database Integration User Guide 35


Using the Database Integration service for database access or TAPI integration Standard 5.05

4 Select the appropriate driver, and then click Finish.


Result: A driver-specific setup box appears.
Note: If the driver you need is not present, install it using the driver’s setup
program.
5 Set the Data Source Name and a description for the DSN.
Result: The chosen DSN appears in the Contact Center Manager
Database Integration Wizard to configure user details.
6 Configure the remaining fields to allow successful connection to the
database.
7 Click OK.

36 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

Step 2. Start the Database Integration Wizard

To start the Database Integration Wizard


1 Click Start > All Programs > Nortel Contact Center > Manager Server >
Database Integration Wizard.
Result: The Database Integration Wizard introductory window appears.
Note: The Database Wizard warns you that DSNs must be configured
before you run the Wizard.

Attention: If the database requires Domain User authentication instead of


database integral user accounts, then the user context running the
Database Integration Wizard must be compatible with the assigned
database permissions. If the user context and permissions are not
compatible, you cannot connect to the database. For details, see “Ensuring
you have the correct access permissions to the database,” on page 41.
2 Click Next to proceed to Step 3 - Configure HDX and TAPI server
connections.
Result: The Configure HDX and TAPI Server Connections appears.

Database Integration User Guide 37


Using the Database Integration service for database access or TAPI integration Standard 5.05

Step 3. Configure HDX and TAPI server


connections

Introduction
You can use the Configure HDX and TAPI Server Connections window to
configure and test the provider ID that is used to register the Database
Integration service with HDX. A single provider ID is used for both database
access and TAPI connectivity.

Note: It is good practice to define the provider ID as a global variable in Contact


Center Manager. If the provider ID is changed, the script does not have to be
recompiled to pick up the new value.

To configure HDX connections


In the HDX Connection section, set and test the connection as follows:

38 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

1 In the Provider ID box, type the provider ID that is used to register the
Contact Center Manager Database Integration service with HDX. A
provider ID of 0 is invalid.
Note: The provider ID is required in the Contact Center Manager script to
identify the appropriate provider to which it sends information. Each HDX
application must have a unique ID that identifies it to Contact Center
Manager. No two applications at the same site can have the same provider
ID. The HDX application passes the provider ID to the target server in an
attempt to register with the target server software. The developer of the
HDX application chooses the provider ID for the application.
2 Click Test Connection.
Result: The connection to HDX is tested, and the test results appear in the
Test Output and Result box.
Note: If you receive an error, refer to Appendix C, “Troubleshooting.”

TAPI server connections


By default, the TAPI configuration section of the window is disabled until you
click the Configure Tapi connection checkbox. If you do not need to integrate
with a TAPI server, you can leave the TAPI server connections fields empty and
proceed to the Configure Database Connections window.

If you need to integrate with a TAPI server, you must use the Configure HDX
and TAPI Server Connections window to set and test the TAPI server host name
or IP address, and to set the port number to be used for connection to the TAPI
server. You can also use this window to test the connection to the TAPI server.

Note: The Database Integration Wizard does not support data attachments to
open queue contacts. Open queue contacts are multimedia contacts inserted by
Contact Center Multimedia.

Database Integration User Guide 39


Using the Database Integration service for database access or TAPI integration Standard 5.05

To configure and test the TAPI connection


In the TAPI Connection section, you can set and test the connection to the TAPI
server.

Note: Before performing this configuration, a TAPI server must be operational


on the network. You must know the TAPI server host name or IP address and the
port configured in TAPI for the IVR/CallData interface. Consult your TAPI
configuration and TAPI documentation for further information.

To set and test the TAPI connection:


1 Ensure that the Configure Tapi connection checkbox is checked.
Result: The TAPI Server HostName box and the IVR Port box are enabled.
2 In the TAPI Server HostName box, type the TAPI Server HostName or IP
address.
3 In the IVR Port box, type the port number of the IVR/CallData interface.
Note:
„ This port is usually configured for port 5000. However, TAPI
configuration allows any port to be specified. Consult your TAPI
configuration to determine the actual port.
„ If the TAPI is coresident with Contact Center Manager Server, ports
5000-5010 are not available for use. You must select another port
outside of the 5000-5010 range.
4 Click Test Connection.
Result: The connection to the TAPI Server is tested, and the test results
appear in the Test Output and Result box.
Note: If a failed condition is reported in the Test Output and Result box,
check that the TAPI Server HostName and IVR port match the target TAPI
server. If required, correct the configuration information and test it again. If
the failure persists, ensure that the TAPI Server HostName is accessible
and that the IVR port is correctly registered on the TAPI server.
5 Click Next to proceed to Step 4 - Configure database connections.
Result: The Configure Database Connections window appears.

40 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

Step 4. Configure database connections

Introduction
You can use the Configure Database Connections window to configure and test
the database connection details.

The Configure Database Connections window displays, in a tree view, the


Contact Center Manager system DSNs that are currently configured on the
server. You can configure the UserName and Password pair for each DSN
connection. This configuration is required only if implemented in the database
and the DSN.

Note: The password is not visible in the window when you type it. The settings
are encrypted and stored in the Windows’ registry.

You can test the connections individually using the test connection control. The
results appear in the Test Output and Result box.

Ensuring you have the correct access permissions to the database


The connection to the database requires access permissions. For example, if the
database security is configured to use its own integral user accounts, then a user
can be specified in the Database Integration Wizard and the ODBC Data Source
Name (DSN). However, if the database security is configured for Domain or
Workgroup authentication, then the Contact Center Manager Server Host
Application Integration Service and the Database Integration Wizard need to use
the correct context when connecting. The Database Integration service runs by
default in the local system context and therefore does not have access
permissions to the database on another server in the customer network using
Domain or Workgroup authentication.

Database Integration User Guide 41


Using the Database Integration service for database access or TAPI integration Standard 5.05

To enable access, follow one of the recommendations below:


1. Use Local or Domain Policy to assign permissions to the Local System
context of the Contact Center Manager Host Application Integration
Service.
2. Configure the Contact Center Manager Host Application Integration
Service to start with the <Domain>/<User> context with the appropriate
permissions.
3. Configure the database permissions for the Contact Center Manager Server
computer access context.

Contact your Customer Network Administrator or your Database Administrator


for further information about configuring the correct access permissions for
connection to the database.

42 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

To configure database connections

In the Configure Database Connections window:


1 Select the DSN from the tree view.
2 In the UserName box, type the UserName for the selected DSN.
3 In the Password box, type the Password for the selected DSN.
4 Click Test Connection.
Result: The connection test results appear in the Test Output and Result
box.
Note: If a failed condition is flagged in the output text box, check the test
data and correct it as required. If that does not resolve the problem, refer to
“Ensuring you have the correct access permissions to the database,” on
page 41 or Appendix C, “Troubleshooting.”
5 Click Next to proceed to Step 5 - Construct and test SQL statements.
Result: The Construct SQL Statements window appears.

Database Integration User Guide 43


Using the Database Integration service for database access or TAPI integration Standard 5.05

Step 5. Construct and test SQL statements

Introduction
You can use the Construct SQL Statements window to construct SQL statements
and to test SQL statements and stored procedures.

In the SQL Statements section of the window, the system DSNs configured on
the server appear in a tree view. You can configure the SQL Statements for
execution on each DSN. The configured statements are stored in the registry and
can be tested individually using the Test Execute control. The test results appear
in the Test Output and Result box.

SQL statements are assigned a unique and visible reference number when added
to the system. This reference number is used in the script to specify which SQL
statement to invoke. There is no limit to the number of statements that can be
added.

44 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

Getting access to CALLIDs and NODEID


The Contact Center Manager Database Integration service interrogates the value
of each parameter passed in the SEND INFO or SEND REQUEST/ GET
RESPONSE message, and translates the specific text strings to their numeric
value available in the call processing script.

The supported translations are

%CALLID% The Call ID of the call being processed by the script.


%HELDCALLID% The Held Call ID of the call being processed by the
script.

%NETWORKCALL The Network Call ID of the call being processed by the


ID% script.

%NODEID% The Node ID of the call being processed by the script


(only supported with DMS). The Node ID is the ID of
the DMS switch system.

%TIME% The time when the message was created and sent. The
time is represented in UNIX format (the number of
seconds elapsed since midnight (00:00:00), January 1,
1970.

Note: Only %CALLID% and %TIME% are valid for multimedia contacts.

The call processing script populates a string variable with the translation text
string. The variable is passed as a parameter in the SEND REQUEST / SEND
INFO message. The actual value of the data is inserted as a replaceable
parameter in the SQL statement for execution.

The following sample illustrates the passing of the actual Call ID to an SQL
statement:
ASSIGN "%CALLID%" TO HAI_CALLID_cv
SEND REQUEST provId HAI_SQLNO_cv, HAI_CALLID_cv
GET RESPONSE provId HAI_STATUS_cv, HAI_DATA_cv

The SQL statement takes the following form:


SELECT data FROM table WHERE field = ?

Database Integration User Guide 45


Using the Database Integration service for database access or TAPI integration Standard 5.05

To test an SQL statement or stored procedure


In the SQL Statements section of the window, you can test an SQL statement or
stored procedure as follows:
1 In the Edit statement here box, type the SQL statement or the stored
procedure.
Note: The statement should contain valid sample data for variable
parameters.
2 From the tree view, select the DSN.
3 Click Test Execute.
Result: The results of the execution appear in the Test Output and Result
box. If the result is not successful, check the statement for errors, correct it
as required, and then test it again.
Note: This procedure may fail if you do not have the correct access
permissions for the database. For details, see “Ensuring you have the
correct access permissions to the database,” on page 41.

To add an SQL statement or stored procedure


In the SQL Statements section of the window, you can add a statement or stored
procedure as follows:
1 Test the statement using the procedure detailed in “To test an SQL
statement or stored procedure,” on page 46.
2 If the test is successful, replace the variable parameters of the statement
with question marks (?), and then click Add to add the statement to the
DSN for later selection by the Contact Center Manager Database
Integration service.
Result: The statement appears in the tree as a child of the DSN.
Note:
„ Each SQL statement added is assigned a new and unique statement
number that is visible in the Wizard. This number uniquely identifies a
SQL statement and is passed by the script as the first parameter in the
HDX statement (SEND REQUEST or SEND INFO). Because many SQL
statements can be configured, the script command can specify which
SQL statement to execute. Also, it means that many different SQL
statements can be executed against a single call.

46 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

„ In the SQL Statements tree view, SQL statements with a total length
greater than 260 characters are truncated. The truncation is a visual
limitation of the tree view only, and does not impact the usage and
storage of long SQL statements. Specifically, a truncated SQL
statement, when retrieved, contains the full statement. When you make
and accept changes before closing the Wizard, the full statement is
stored, rather than the truncated format.

To test an existing SQL statement or stored procedure


In the SQL Statements section of the window, you can test an existing statement
as follows:
1 From the tree, select the statement or stored procedure.
Result: The statement appears in the Edit statement here box.
2 Edit the statement by replacing the question marks (?) with valid sample
data.
3 Click Test Execute.
Result: The results of the execution appear in the Test Output and Result
box. If the result is not successful, check the statement for errors, correct it
as required, and then test it again.

To update an SQL statement


In the SQL Statements section of the window, you can update a statement as
follows:
1 Select the statement from the tree.
Result: The Add button is changed to the Update button, and the
statement appears in the Edit statement here box.
2 Edit the statement.
3 Click Test Execute to test the statement.
4 If the test is successful, replace the variable parameters of the statement
with question marks (?), and then click Update.
Result: The statement is amended in the tree view.

Database Integration User Guide 47


Using the Database Integration service for database access or TAPI integration Standard 5.05

To delete an SQL statement or stored procedure


In the SQL Statements section of the window, you can delete a statement or
stored procedure as follows:
1 From the tree, select the statement.
2 Click Delete.
Result: The statement is removed from the tree.
3 Click Next to proceed to Step 6 - Accept or discard changes.
Result: The Complete window appears.

48 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

Step 6. Accept or discard changes

Introduction
Use the Complete window to accept or discard the changes you make using the
Wizard.

Note: This window notifies you that the changes made using the Database
Integration Wizard can now be saved or discarded. It also prompts you to edit
the Contact Center Manager scripts to make the functionality that was
configured in the previous windows available to HDX.

Database Integration User Guide 49


Using the Database Integration service for database access or TAPI integration Standard 5.05

To accept the changes made and close the Wizard


Click Finish.
Result: All data configured by the Wizard is accepted, and the changes made
are stored in the Window’s registry. The Contact Center Manager Database
Integration service then queries the data from the registry.

Note: Any changes you make using the Wizard are saved when you click Finish
in the Wizard’s closing window. When you use the Wizard to make changes to
HDX and TAPI server connections while the Database Integration service is
running, you must restart the service once you have made the changes.

To discard the changes made and close the Wizard


Click Cancel.
Result: The changes you made are discarded.

50 Contact Center Manager


September 2007 Using the Database Integration service for database access or TAPI integration

Step 7. Edit the Contact Center Manager


scripts

When you complete the Contact Center Manager Database Integration


configuration, you must edit the Contact Center Manager script to use the newly
enabled functionality.

Use a Contact Center Manager client to edit the Contact Center Manager scripts.
The HDX scripting commands are added using the provider ID, the numerical
identifier, and the parameters you identified when you configured your database
connections.

For more information about scripting, refer to the Contact Center Manager
Scripting Guide.

To configure the Contact Center Manager script


On the server in Contact Center Manager, configure and test the Contact Center
Manager script as follows:
1 Create the call variables for passing data to, and for retrieving data from the
database.

Database Integration User Guide 51


Using the Database Integration service for database access or TAPI integration Standard 5.05

2 Write and activate the script.

Note:
„ Nortel recommends using a global variable rather than a call variable for
the Application ID. In this example, the call variable is used for testing.
„ Use the return value from the database operation only if the operation
was successful.
„ It is good practice to assign HDX variables a defined value before being
used in a HDX command.
3 Test the script using physical calls. Ensure that the full required behavior is
observed. If you do not see the required behavior, examine the trace files
for the Database Integration Wizard.

52 Contact Center Manager


Appendix A

Database Integration backup and


restore

In this appendix
Overview 54
Database Integration backup 55
Database Integration restore 56

Database Integration User Guide 53


Database Integration backup and restore Standard 5.05

Overview

The Database Integration Wizard backup and restore is not included in the
Contact Center Manager backup and restore process. Nortel recommends that
you perform manual backups on the current configuration, and that you refresh
the backups after making changes using the Database Integration Wizard.

54 Contact Center Manager


September 2007 Database Integration backup and restore

Database Integration backup

ATTENTION
The ODBC restore should be done only if the following
conditions are met:
„ The server name/IP address are unchanged.
„ The ODBC configuration has not changed since the ODBC
backup operation was performed.
If either of these conditions is true, a new backup must be
performed.

To back up the configuration


1 Start Regedit.
2 Open the key HKEY_LOCAL_MACHINE\SOFTWARE\Nortel\ICCM\HAI.
3 From the Registry Menu, select Export Registry File.
4 In the Export Registry File dialog box, type a suitable name and location
for storing the configuration file.
5 Save the file.
6 Open the key HKEY_LOCAL_MACHINE\SOFTWARE\ODBC.
7 From the Registry Menu, select Export Registry File.
Attention: You must only export the ODBC DSNs that were created for use
with Database Integration Wizard. Some Contact Center Manager DSNs
make reference to computer host name / IP address. If you export the entire
ODBC folder and restore these DSNs after an IP address or host name
change, the server may malfunction.
8 In the Export Registry File dialog box, type a suitable name and location
for storing the ODBC configuration file.
9 Save the file.

Database Integration User Guide 55


Database Integration backup and restore Standard 5.05

Database Integration restore

To restore the configuration


1 Start Regedit.
2 From the Registry Menu, select Import Registry File.
3 In the Import Registry File dialog box, select a previously saved HAI
configuration file.
4 In the Import Registry File dialog box, select a previously saved ODBC
configuration file.
5 Examine the data stored in
HKEY_LOCAL_MACHINE\SOFTWARE\Nortel\ICCM\HAI.
6 Examine the data stored in
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC.

56 Contact Center Manager


Appendix B

Sample: Using the Wizard to connect


to a database

In this appendix
Overview 58
Connecting the Database Integration service to a MySQL database 59

Database Integration User Guide 57


Sample: Using the Wizard to connect to a database Standard 5.05

Overview

You can use the Database Integration Wizard to connect any ODBC 3.51
compliant database to the Contact Center Manager Database Integration service.

This appendix provides an example of the general process used to connect the
Contact Center Manager Database Integration service to a database, and uses the
MySQL database as an example of a compliant database. You can use a process
similar to the guidelines provided in this example to connect your own database.

58 Contact Center Manager


September 2007 Sample: Using the Wizard to connect to a database

Connecting the Database Integration service


to a MySQL database

To use the Database Integration Wizard to connect the Contact Center Manager
Database Integration service to a database (for example, to the MySQL
database), you must perform the following tasks:
„ Download, install, and configure the MySQL server, MySQL Connector/
ODBC driver, and MySQL administration software.
„ Use the Database Integration Wizard to configure the database connection.
„ Configure and test the Contact Center Manager script.

Note: In this MySQL example, each call to the contact center consults the
MySQL (www.mysql.com) database to find the preferred agent to whom the
system routes the call, based on the Calling Line Identification (CLID) of the
call.

Downloading the sample software


You can download the software used in this example from the MySQL Web site
as follows.

Software Download location

„ MySQL 5.0 Database http://dev.mysql.com


Server Installer for
Windows 95/98/2000/
XP/2003

„ MySQL Connector/ http://dev.mysql.com


ODBC 3.51 Driver
Installer for Windows

„ MySQL http://dev.mysql.com
Administration 1.1 for
Windows 95/98/NT/
2000/XP

Database Integration User Guide 59


Sample: Using the Wizard to connect to a database Standard 5.05

Installing and configuring the MySQL database server


On the database server, install, configure, and test the database:
1 Install MySQL 5.0 Database Server.
2 Configure the database to run as a service.
3 Test the operation of the database using the MySQL tools.

Installing and configuring the MySQL administration software


On the database server, install, configure, and test the administration software as
follows:
1 Install MySQL Administration 1.1.
2 Create a test table for testing the Database Integration Wizard. For
example, create a table called Agent with the varchar fields: CLID (index),
AgentId, and AgentName.
3 Populate the table with sample records.

To configure the database connection


On the server in Contact Center Manager, perform the database connection
configuration as follows:
1 Install the MySQL Connector/ODBC 3.51 Driver on the server in Contact
Center Manager Release 6.0.

60 Contact Center Manager


September 2007 Sample: Using the Wizard to connect to a database

2 Configure a system DSN to point to the database server and to the


database on that server, as shown in the following graphic:

Installing the Database Integration Wizard


On the server in Contact Center Manager, use the Database Integration Wizard
to do the following:
„ Assign and test a provider ID.
„ Test the database connection.
„ Write and test the SQL statement against the test table. You can use a
sample statement of the form select AgentName from agent where CLID =
[number].

Database Integration User Guide 61


Sample: Using the Wizard to connect to a database Standard 5.05

To configure the Contact Center Manager script


On the server in Contact Center Manager, configure and test the Contact Center
Manager script as follows:
1 Create the call variables for passing data to, and for retrieving data from the
database.

62 Contact Center Manager


September 2007 Sample: Using the Wizard to connect to a database

2 Write and activate the script.

Note:
„ Nortel recommends using a global variable rather than a call variable for
the Application ID. In this example, the call variable is used for testing.
„ Use the return value from the database operation only if the operation
was successful.
„ It is good practice to assign HDX variables a defined value before being
used in an HDX command.
3 Test the script using physical calls. Ensure that the full required behavior is
observed. If you do not see the required behavior, examine the trace files
for the Database Integration Wizard.

Database Integration User Guide 63


Sample: Using the Wizard to connect to a database Standard 5.05

64 Contact Center Manager


Appendix C

Troubleshooting

In this appendix
Overview 66
Error messages 67
Troubleshooting problems with database connections 68

Database Integration User Guide 65


Troubleshooting Standard 5.05

Overview

This appendix contains a list of errors that you may receive when you are
running the Database Integration Wizard. It lists the text of the error message
and gives a brief explanation of each error.

66 Contact Center Manager


September 2007 Troubleshooting

Error messages

Error message Description

Already Connected Contact Center Manager Database Integration is


(when setting and testing already connected to HDX.
HDX connection)

Already Connected The selected DSN is already connected.


(when configuring database)
Authorization Failed The user details supplied are incorrect. This
indicates that the version of Contact Center
Manager Database Integration is different than
the version of HDX. Contact Nortel Support.

Error The connection cannot be performed. Contact


Nortel support.

Incompatible Version The version information supplied is incorrect.


This indicates that the version of Contact Center
Manager Database Integration is different than
the version of HDX. Contact Nortel support.

Invalid Object HDX Server object cannot be found. This


indicates that the HDX Server service is not
running.
Invalid Provider ID The provider ID entered is invalid. The valid
range for a provider ID is 0 to 1999999999.

The Host could not be found. A server with the host name or IP address given
cannot be found on the network.

Too Many Connections HDX connections are all used up. Deregister
some other HDX provider to free a connection.

Database Integration User Guide 67


Troubleshooting Standard 5.05

Troubleshooting problems with database


connections

Security context and the Database Integration Service


The Database Integration service runs as a Windows service using the Local
System account. The Local System account is a predefined local account on the
server. This account has extensive privileges on the local computer and acts as
the computer on the network.

A service that runs in the context of the Local System account inherits the
security context of the Windows Service Control Manager. This account has
limited access to network resources (such as shares) because it has no
credentials and must connect to the network using a null security session. For
example, the account may not have sufficient security credentials to access a
Microsoft Access database owned by an authenticated user over a network
share, which was created in the context of the user.

If you require access to a database over a network share, contact your Network
Administrator. For a description on making a remote share available using a null
session share, refer to the Microsoft Web site.

Ensuring you have the correct access permissions to the database


The connection to the database requires access permissions. For example, if the
database security is configured to use its own integral user accounts, then a user
can be specified in the Database Integration Wizard and the ODBC Data Source
Name (DSN). However, if the database security is configured for Domain or
Workgroup authentication, then the Contact Center Manager Server Host
Application Integration service and the Database Integration Wizard need to use
the correct context when connecting. The Database Integration service runs by
default in the local system context and therefore does not have access
permissions to the database on another server in the customer network using
Domain or Workgroup authentication.

68 Contact Center Manager


September 2007 Troubleshooting

To enable access, follow one of the recommendations below:


1. Use Local or Domain Policy to assign permissions to the Local System
context of the Contact Center Manager Host Application Integration
Service.
2. Configure the Contact Center Manager Host Application Integration
service to start with the <Domain>/<User> context with the appropriate
permissions.
3. Configure the database permissions for the Contact Center Manager Server
computer access context.

Contact your Customer Network Administrator or your Database Administrator


for further information about configuring the correct access permissions for
connection to the database.

Database Integration User Guide 69


Troubleshooting Standard 5.05

70 Contact Center Manager


Appendix D

Sample: Using SKILLSET data types

In this appendix
Overview 72
Using HDX commands with SKILLSET data types in the Wizard 73

Database Integration User Guide 71


Sample: Using SKILLSET data types Standard 5.05

Overview

When a script encounters an HDX command with a parameter of type


SKILLSET, the script converts the skillset to its string equivalent (the skillset
name).

The skillset name passes over the HDX interface to HAI.

This appendix shows a sample application of sending and retrieving HDX


commands with SKILLSET parameter types to and from a database using the
Database Integration Wizard.

72 Contact Center Manager


September 2007 Sample: Using SKILLSET data types

Using HDX commands with SKILLSET data


types in the Wizard

For each call processed by a script using HDX commands with SKILLSET data
types, the following sequence of events must occur:
1. The script selects a primary skillset. The primary skillset is sent to the
database where a counter simulates the total number of calls selected for
this particular skillset.
2. The database returns a backup skillset that can be used as an alternative to
the primary skillset.
3. The call queues to the backup skillset.

This sample application documents the steps required to use HDX commands
with SKILLSET data types. Users must be familiar with scripting and the use of
ODBC compliant databases.

Database Integration User Guide 73


Sample: Using SKILLSET data types Standard 5.05

To use the Wizard to send and receive SKILLSET data types to and
from a database
1 In the database (for example, MySQL), create a database table called
Skillsets to store the data that will be accessed by the Database
Integration Wizard.

74 Contact Center Manager


September 2007 Sample: Using SKILLSET data types

2 Populate the database table with sample data that will be accessed by the
Database Integration Wizard.
Note: You must use valid skillset names that have been created in Contact
Center Manager Administration.

Database Integration User Guide 75


Sample: Using SKILLSET data types Standard 5.05

3 In the Scripting component of Contact Center Manager Administration,


create the call variables for sending and receiving SKILLSET data types to
and from the database. This diagram shows the full list of call variable types
that you must create to run the sample scripts.

76 Contact Center Manager


September 2007 Sample: Using SKILLSET data types

4 In Database Integration Wizard, use the Construct SQL statements


window to construct the two SQL statements that access the data in the
sample database table.
Note: The SQL statement numbers below (4 and 6) are examples only.

5 Click Test Execute for each of the SQL statements to test the integrity of
the system and the validity of the data.

Database Integration User Guide 77


Sample: Using SKILLSET data types Standard 5.05

6 In the Scripting component of Contact Center Manager Administration,


use Script Manager to write and activate the script.
Note: You must ensure that the values assigned to HAI_sqlno_cv are the
SQL statement numbers generated by Database Integration Wizard in step
4.
Example:

7 Test the integrity of the system and the validity of the data by sending and
receiving actual calls. For each call, you must ensure that:
„ the count for the skillset selected by the script increments by 1
„ the call queues to the backup skillset rather than the primary skillset (as
seen in the Skillset Real-Time Displays of Contact Center Manager
Administration)

78 Contact Center Manager


Index

A creating
scripts 22
about stored procedures 28
Database Integration service 10
Database Integration Wizard 23
accepting changes 50
accessing over a network 68
D
adding SQL statements 46 data parameters for HDX 23
database
backing up 55
B backup conditions 55
compliancy 58
backing up database 55 configuration overview 23
backup conditions 55 configuring target 35
restoring 56
standards for procedures 28
C testing overview 23
Database Integration
call processing script functionality 21 installation 21
changes in Database Integration Wizard licensing 21
accepting 50 overview of functionality 11, 20
discarding 50 overview of process 34
saving 50 registering 22
changing Contact Center Manager scripts 51 Database Integration Wizard
closing the Database Integration Wizard 50 closing 50
commands starting 37
get response 25 troubleshooting 66
select...into 31 using stored procedures 29
send info 26 deleting SQL statements 48
send request 24 discarding changes 50
communication with external databases 21 downloading sample software 59
conditions for database backups 55 DSN
configuring advanced configuration 32
Contact Center Manager scripts 51 configuring 35
HDX connections 38 configuring system 35
system DSNs 35 configuring username and password 41
target database 35 displaying 41
username and password for DSN 41 entering password 43
connection errors 67 entering user name 43
Contact Center Manager scripts 39 exporting 55
CORBA interface for HDX 21 initialization string 32
coresident installation 23 selecting 43

Database Integration User Guide 79


Index Standard 5.05

E introduction 23
threading model 31
Edit statement here box 47 Hostname not found error 67
editing hostnames for TAPI 39
SQL statements 47
equals null for Sybase databases 32
error messages 67
examples
I
call processing script 21 ignoring changes 50
creating stored procedures 29 initialization string for DNS 32
get response syntax 26 installing
HDX script commands 22 client software for external database 35
send info syntax 27 Database Integration service 21
send request syntax 25 invalid HDX object error 67
exiting Database Integration Wizard 50 invalid provider ID 67
exporting ODBC DSNs 55 IP address
external database 35 configuring for TAPI 39
missing 67
is null in Sybase databases 32
F IVR Port 40

functions of
Contact Center Manager scripts 51
Database Integration service 11, 20
L
licensing for Database Integration service 21
local machines 68
G
GET RESPONSE
command 25
M
TIMER parameter 26 missing hostname 67

H N
HDX network access 68
acting as a client application 23 network knowledge requirements 13
communicating using CORBA 21 number of HDX application connections 23
connecting applications and call-
processing 21
connection error 67 O
data parameters limit 23
invalid object error 67 ODBC
maximum client application connections 23 exporting DSNs 55
provider IDs 22 using data source administrator 35
HKEY_LOCAL_MACHINE 56 viewing server configuration 35
Host Application Integration service opening Database Integration Wizard 37

80 Contact Center Manager


September 2007 Index

P SEND INFO command 26


SEND REQUEST command 24
passwords for DSN 43 service
ports for IVR 40 Database Integration 10
procedures software
Database Integration Wizard 29 installing client drivers 35
database standards 28 knowledge requirements 13
storing 28 SQL commands
process of Database Integration 34 get response 25
product knowledge requirements 13 notes for Sybase 32
provider ID select...into 31
configuring HDX connections 38 send info 26
invalid 67 send request 24
overview 22 SQL statements
purpose of Database Integration service 10 adding 46
deleting 48
testing 46
Q testing existing 47
truncated 47
quitting Database Integration Wizard 50 updating 47
standards for external database 28
starting Database Integration Wizard 37
R stored procedures
creating 28
registering with TAPI 22 example of creating 29
registry file entries 56 in Database Integration Wizard 29
related documents 14 on database server 28
removing changes 50 Sybase database 32
requirements system DSN configuring 35
Nortel product knowledge 13
software 13
TAPI programming knowledge 13
restoring database 56 T
TAPI
configuring hostnames 39
S configuring IP addresses 39
programming knowledge requirements 13
sample software 59 registering Database Integration service 22
saving changes 50 target database, configuring connection 35
scripts testing
changing to use new functions 51 existing SQL statements 47
configuring CCM scripts 51 scripts on Contact Center Manager 52
example 21 SQL statements 46
in Contact Center Manager 39 threading model in HAI service 31
testing on Contact Center Manager 52 troubleshooting 66
security issues 68
SELECT...INTO command 31

Database Integration User Guide 81


Index Standard 5.05

U
updating SQL statements 47
user name on DSN 43
using
ODBC data source administrator 35
stored procedures 28

V
viewing ODBC server configuration 35

82 Contact Center Manager


Reader Response Form
Contact Center Manager
Product release 6.0
Database Integration User Guide

Tell us about yourself:


Name:
Company:
Address:

Occupation: Phone:

1. What is your level of experience with this product?


New user Intermediate Experienced Programmer
2. How do you use this book?
Learning Procedural Reference Problem solving
3. Did this book meet your needs?
Yes No
If you answered No to this question, please answer the following questions.
4. What chapters, sections, or procedures did you find hard to understand?
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
5. What information (if any) was missing from this book?
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
6. How could we improve this book?
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
Please return your comments by fax to 353-91-756050, or mail your comments to
Contact Center Documentation Research and Development Prime, Nortel, Mervue Business Park,
Galway, Ireland.
F o
o rm
rm
n ssee F
esp
s poon
e rr R
R e
ad e
RReead
Nortel Contact Center Manager
Database Integration User Guide
Nortel Networks
Mervue Business Park
Galway, Ireland

Copyright © 2007 Nortel Networks. All Rights Reserved.

Information is subject to change without notice. Nortel Networks reserves the right to make changes
in design or components as progress in engineering and manufacturing may warrant.

The process of transmitting data and call messaging between the Meridian 1 and Contact Center
Manager is proprietary to Nortel Networks. Any other use of the data and the transmission process
is a violation of the user license unless specifically authorized in writing by Nortel Networks prior to
such use. Violations of the license by alternative usage of any portion of this process or the related
hardware constitutes grounds for an immediate termination of the license and Nortel Networks
reserves the right to seek all allowable remedies for such breach.

Publication number: 297-2183-940


Product release: 6.0
Document release: Standard 5.05
Date: September 2007

To provide feedback or report a problem in this document, go to www.nortel.com/documentfeedback.