Professional Documents
Culture Documents
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.
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
C Troubleshooting 65
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Troubleshooting problems with database connections . . . . . . . . . . . . . . . . . . 68
Index 79
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
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
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
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.
The Database Integration service allows you to do this without custom interface
programming.
Introduction
This section describes the skills and knowledge you need to use this guide
effectively.
Related documents
The following guides are available on the Contact Center portfolio DVD or on
the Nortel Web site (www.nortel.com).
This section explains how to get help for Nortel products and services. However,
before contacting Nortel for support, consult Appendix C, “Troubleshooting.”
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
Outside North America, go to following Web site to obtain the phone number for
your region:
www.nortel.com/callus
www.nortel.com/erc
In this chapter
Overview 20
Database Integration service functionality 21
Using stored procedures 28
Overview
The Database Integration service allows you to do this without custom interface
programming.
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.
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.
HDX overview
The HDX service maintains connections between registered third-party
applications and Database Integration call processing.
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.
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.
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.
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
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
Syntax example:
SEND REQUEST HAI_AppID HAI_SQLNO_cv, CLID
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.
This ensures that each piece of data can be supplied separately in the GET
RESPONSE command.
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.
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.
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
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.
Sybase T-SQL
Oracle PL/SQL
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.
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:
delimiter |
BEGIN
END
delimiter ;
3 Test the stored procedure using the MySQL test tool.
Example:
/*
*/
ASSIGN 3 TO HAI_SQLNO_cv
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.
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.
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
The sections that follow provide detailed information about procedures used in
the Database Integration process.
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.
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.
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.”
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.
Introduction
You can use the Configure Database Connections window to configure and test
the database connection details.
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.
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.
%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
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.
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.
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.
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.
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.
In this appendix
Overview 54
Database Integration backup 55
Database Integration restore 56
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.
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.
In this appendix
Overview 58
Connecting the Database Integration service to a MySQL database 59
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.
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.
MySQL http://dev.mysql.com
Administration 1.1 for
Windows 95/98/NT/
2000/XP
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.
Troubleshooting
In this appendix
Overview 66
Error messages 67
Troubleshooting problems with database connections 68
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.
Error messages
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.
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.
In this appendix
Overview 72
Using HDX commands with SKILLSET data types in the Wizard 73
Overview
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.
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.
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.
5 Click Test Execute for each of the SQL statements to test the integrity of
the system and the validity of the data.
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)
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
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
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
Occupation: Phone:
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.