+ All Categories
Home > Documents > ShoreTel Contact Center 8 Applications Interface...

ShoreTel Contact Center 8 Applications Interface...

Date post: 19-Jun-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
58
ShoreTel Enterprise Contact Center 8 Applications Interface Guide November 2012
Transcript
Page 1: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

ShoreTel Enterprise ContactCenter 8 Applications

Interface Guide

November 2012

Page 2: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Legal Notices

Document and Software CopyrightsCopyright © 1998-2012 by ShoreTel Inc., Sunnyvale, California, USA. All rights reserved.

Printed in the United States of America. Contents of this publication may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without prior written authorization of ShoreTel, Inc. ShoreTel, Inc. reserves the right to make changes without notice to the specifications and materials contained herein and shall not be responsible for any damage (including consequential) caused by reliance on the materials presented, including, but not limited to typographical, arithmetic or listing errors.

TrademarksShoreTel, ShoreTel (and logo), ControlPoint, Brilliantly Simple, Brilliantly Simple Communication, ShoreCare, ShoreGear, ShorePhone, and ShoreWare are registered trademarks of ShoreTel, Inc. in the United States and/or other countries. The ShoreTel logo is a trademark of ShoreTel, Inc. in the United States and/or other countries..

All other copyrights and trademarks herein are the property of their respective owners.

PatentsShoreTel Enterprise Contact Center is covered by patents as listed at http://www.shoretel.com/about/patents.html.

Version InformationApplications Interface GuidePart Number: 800-1708-01Contact Center 8Version: 8Date: 2/12/13

Company InformationShoreTel, Inc.

960 Stewart Drive

Sunnyvale, California 94085 USA

+1.408.331.3300

+1.408.331.3333 (fax)

www.shoretel.com

ShoreTel Enterprise Contact Center ShoreTel Enterprise Contact Center 8 Applications Interface Guide 2

Page 3: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

ShoreTel Enterprise Contact Center ShoreTel Contact Center 8 Applications Interface Guide 3

Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Call Profile Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Extracting and Storing Call Profile Information in TAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Integrating with a Customer Information Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Example: Routing a Call Based on CRM Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Example: Providing Self-Service Options Using CRM Information . . . . . . . . . . . . . . . . . . 11Storing Dial List Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Setting the ActivateServer Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Configuring Agent Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Agent Toolbar as a DDE Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

DDE Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Agent Toolbar as a DDE Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

The ACD Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28The TEL Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30The REQUEST Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30The OTHER Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Advanced Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Using DDE Poke instead of DDE Execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Using Multiple DDE Commands for the Same Event . . . . . . . . . . . . . . . . . . . . . . . . . 31Working with more than One DDE Server Application at the Same Time . . . . . . . . . 32

Configuring Agent Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Managing Agent Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Agent Toolbar Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

The ACD Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34The TEL Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Agent Toolbar Methods (Services) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36The ACD Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37The TEL Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Properties (Get Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Possible OnDenied Causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Variable Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Configuring Agent Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Activating an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Activation Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Command Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Code of VbController.exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48The Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Table of Contents

Page 4: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Before You Start

The following sections provide an overview of the book.

About This Book.......................................................................................................... 4

About This Book

This guide describes how to integrate the ShoreTel Enterprise Contact Center Solution (ECC) with external applications, including Customer Relationship Management (CRM) products. It details the available interfaces and provides necessary reference information, including examples.

This guide provides information for professional services engineers and application programmers who must plan the integration of the ShoreTel ECC Solution to selected external applications before development begins.

Organization

The document is divided into the following chapters:

Chapter 1, Integrating with a Customer Database

Chapter 2, Using Dial Lists

Chapter 3, Automating Agent Activities

Appendix A, Integration Examples

Appendix B, ActiveX API Quick Reference

Appendix C, Supported SQL Syntax

Note

The options and modules required for application integration are only available with the ShoreTel ECC Solution.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 4

Page 5: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Before You Start Conventionsii

Conventions

The following typographical marking conventions are used in this document.

Marking Meaning

Bold Names of interface objects, such as buttons and menus.

Courier Code examples.

Courier Italic Variables in code examples.

Blue Cross references with hyperlinks. Click the blue text to go to the indicated section. All chapters have a list of section links on the first page.

Note: Table of Contents entries are also links, but they are not shown in blue.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 5

Page 6: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

CHAPTER

1. Integrating with a CustomerDatabase

Enterprise Contact Center (ECC) can be closely integrated with databases containing customer information to improve customer service. For example, you can use your Customer Relationship Management (CRM) application’s database to specify agent skills, call priority, and call routing, and to let callers bypass agents and interact directly with the CRM database in a self-service application.

Integrating Contact Center with a customer information database requires the interaction of three key components:

Call profiles

Call control scripts

CRM database

Refer to the following sections for more information about integrating with a customer database:

Using Call Profiles....................................................................................................... 6

Creating Call Control Scripts....................................................................................... 9

Using Call Profiles

A call profile consists of dynamic information that is attached to each call in the system. This information is used to route the call and record its history. The call profile is updated as the call moves through the system and by caller interaction or by a CRM database that uses call control scripts. In addition, you can extract and store call profile information into TAPI.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 6

Page 7: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integrating with a Customer Database Call Profile Fields1

Call Profile Fields

Each field in the call profile is either mandatory or optional. Mandatory fields are predefined and exist in any ShoreTel Contact Center Solution installation. They cannot be removed or changed by the user. Optional fields that meet your business needs—also called user fields—can be defined by using Contact Center Director > System Parameters > Routing Preferences > Call Profiles. Refer to the Enterprise Contact Center Administration Guide for specifics.

Contact Center uses Structured Query Language (SQL) for database interactions. Use the call profile field’s DDE name, surround with a pair of percent signs (%), in a SQL statement. For example

Select * from table_1 where phone_number = %ANI%

The following is a list of mandatory fields in the call profile. The field names in the call profile are case-sensitive.

Table 1: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ANI ANI Automatic Number Identification (ANI) transmits the customer’s telephone number and delivers it to your call center’s telephone system.

Note: The format of the ANI call profile field includes a plus sign (+) before the ANI number. This facilitates external incoming calls (i.e. from outside your site).

Agent Queue agent_queue Indicates that the call is being handled by a personal agent queue.

Group acd_group The internal group id related to the call

Original Destination called The original destination of the call

Trunk trunk PBX and call-type depended

Call ID callid The ID of the call

DNIS DNIS The DNIS of the call

calling calling The ANI (caller ID) of the caller

Type calltyp Call type (Voice, Chat, Email, Callback, Abandoned, Web Callback, Dial List)

Media Media Call media (WEB, VOICE, EMAIL)

Priority Priority Priority of the call

Service Service Service that handles the call

Customer Number CUSTOMER_NUMBER

Identifier number of the customer (if internal, the Customers Table is used)

Customer Name CUSTOMER_NAME Customer name (if internal the Customers Table is used)

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 7

Page 8: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integrating with a Customer Database Call Profile Fields1

ACD Enter Date ACD_ENTER_DATE Date the call entered Contact Center

ACD Enter Time ACD_ENTER_TIME Time the call entered Contact Center

Queue Position Q_POSITION Call position in the queue

Average Queue Time AVERAGE_Q_TIME Expected average wait time in the queue.

Call Back Time CALLBACK_TIME Callback time set by caller (if empty, Abandoned Call)

Call Back Destination CALLBACK_DEST Callback destination

Language LANGUAGE The language associated with the call (0=English, 1=Hebrew, 2=Russsian, 3=Arabic, 4=Mexican Spanish)

Agent Extension AGENT_EXT The agent’s telephone extension number

Agent Number AGENT_NUMBER Number used to identify the agent

Dial List ID DIAL_LIST_ID The ID of the dial list

Start Queue Time START_QUEUE_TIME

The time when a call enters the queue

Agent PSW AGENT_PSW Agent password

Execute Req EXECUTE_REQ For any request to be executed

Trunk Number TRUNK_NUMBER The number of the trunk

Email To EMAIL_TO The text in the To field of the email

Email CC EMAIL_CC The text in the CC field of the email

Email Subject EMAIL_SUBJECT The text in the Subject field of the email

Email From EMAIL_FROM The text in the From field of the email

Email To EMAIL_REPLY_TO The text in the Reply To field of the email

Email Sent Date EMAIL_SENT_DATE

The text in the Date Sent field of the email

Email Sent Time EMAIL_SENT_TIME

The text in the Time Sent field of the email

Email Enter OMS Date EMAIL_ENTER_OMS_DATE

The text in the OMS Date field of the email

Email Enter OMS Time EMAIL_ENTER_OMS_TIME

The text in the OMS Time field of the email

Primary Call Back Destination

PRIMARY_CB The primary destination for the callback

Table 1: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 8

Page 9: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integrating with a Customer Database Extracting and Storing Call Profile Information in TAPI1

Extracting and Storing Call Profile Information in TAPI

You can extract and store call profile information in TAPI by using the following process:

1. On the Contact Center Server, in the directory in which ShoreTel Contact Center is installed, open the Bin folder.

2. In the Bin folder, use a text editor to create a file named shoretelcfg.ini.

3. In the shoretelcfg.ini file, add a section named call_profile.

4. In the call_profile section, specify a key named user_fields with call profile field names as values. Separate the values with a comma. For example:

[call_profile]user_fields=AccNo, Balance, DueDate

5. Restart the Contact Center Server.

The specified call profile field values display in the TAPI call properties.

Creating Call Control Scripts

Call control scripts define the way a system processes automatic call distribution (ACD) calls. Each script contains a set of actions that are performed on a call. Call control scripts can be used to:

Create announcements

Alternative Call Back Destination 1

ALTERNATIVE1_CB

The first alternative destination for the callback

Alternative Call Back Destination 2

ALTERNATIVE2_CB

The second alternative destination for the callback.

Last Time To Initiate Callback

LAST_TIME_TO_INITIATE_CB

The time when the last callback can be made

Alternative Call ID ALTERNATIVE_CALL_ID

The PBX TAPI call ID

Group GROUP_ID The ID of the group

Outbound Caller ID OUTBOUND_CALLER_ID

The caller ID of the outbound call

SW Call GUID SW_CALL_GUID The PBX call GUID

Table 1: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 9

Page 10: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integrating with a Customer Database Integrating with a Customer Information Database1

Collect caller information

Make routing decisions

Implement self-service

Provide music-on-hold

Read and write information to a database

Update the call profile fields that control call handling

Contact Center provides Graphical Call Control Scripts (GCSS) Administration, a graphical call control scripting tool available from Contact Center Director. Refer to the Enterprise Contact Center Administrator Guide for information on using this tool to create call control scripts.

Complete the following steps to use call control scripts:

1. Plan the actions you want the call control script to perform.

2. Identify and connect to an external database and create open database connectivity (ODBC) queries.

3. Create any new call profile fields needed by the call control script.

4. If you are creating an announcement, record the announcement.

5. Create the call control scripts.

6. Specify the IVR application parameters.

7. Identify the call control script as an IRN or service destination.

Integrating with a Customer Information Database

To integrate your call control scripts with customer information, you must first identify the database and the columns containing the necessary information. When integrating with an external database, Contact Center acts as the client and uses an ODBC interface on the Contact Center Server to connect to the database. You must have the appropriate ODBC drivers installed on the Contact Center Server.

Contact Center uses Structured Query Language (SQL) for database interactions. External databases must be in the SQL format to be accessible by Contact Center through ODBC.

Complete the following steps to integrate with a CRM database:

1. Make sure that you have a network connection to the external database by using ping.

2. Install all needed infrastructure software (OBDC drivers and client side processes) and create the OBDC connections on the Contact Center Server.

3. Plan the data items you need to gather, define the conditions, and decide where to put data results.

4. Define the Data Source Name (DSN) of the database to which you want to connect.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 10

Page 11: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integrating with a Customer Database Example: Routing a Call Based on CRM Information1

5. Restart Enterprise Contact Center.

6. Create the SQLConnect and SQLExecute actions in your call control script.

SQLConnect connects to a database to make database queries.

SQLExecute sends a query (written as a SQL statement) to the database to obtain specific information, such as the priority of a caller.

Refer to Appendix C, Supported SQL Syntax Supported SQL Syntax for information about the ShoreTel supported SQL syntax.

Example: Routing a Call Based on CRM Information

You can use the data in your customer database to route calls to agents who can better serve a particular customer. The following example routes an incoming call based on a customer type field in a CRM database.

In this scenario, a call arrives at a financial institution and is routed by customer type to either a group of agents handling stock trades, or to a group that specializes in bonds. A field for customer type has been added to the call profile.

The incoming call follows these basic stages:

1. The call arrives at the IRN and is sent to a call control script.

2. The call control script uses the Get Digits action to collect the Customer ID number and record it to the call profile.

3. The call control script assesses the database using the following interaction:

a. Connects to the CRM database using the SQLConnect action.

b. Uses the Query Database action to identify the customer’s data in the database.

c. Uses the SQLExecute action to retrieve the customer type from the CRM database and write it to the call profile.

4. The call control script uses the Decision action to check the Customer Type field and branch to the correct Change Profile action that sets the required service in the call profile.

Example: Providing Self-Service Options Using CRM Information

You can use the data in your customer database to provide customers with self-serve options. An IVR application can play back selected WAV files based on the customer status or convert text digits, currency, or dates into speech. The example below provides an account balance to a self-service customer.

In this scenario, a customer calls a financial institution and subsequently hears options for checking an account balance. A field for customer balance has been added to the call profile.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 11

Page 12: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integrating with a Customer Database Example: Providing Self-Service Options Using CRM Information1

The incoming call follows these basic stages:

1. The call arrives at the IRN and is sent to a call control script.

2. The call control script uses the Get Digits action to collect the Customer ID number and record it to the call profile.

3. The call control script accesses the database using the following interaction:

a. Connects to the CRM database using the SQLConnect action.

b. Uses the Query Database action to identify the customer’s data in the database.

c. Uses the SQLExecute action to retrieve the customer’s account balance from the CRM database and write it to the call profile.

4. The call control script uses the Announce action to report the account balance to the caller.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 12

Page 13: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

CHAPTER

2. Using Dial Lists

Enterprise Contact Center (ECC) can automatically make outbound calls for agents based on dial lists (the lists of phone numbers to call). To use dial lists for outbound dialing campaigns, you must have the dial data in an ODBC/SQL database.

It is recommended that your dial list database be case-insensitive, since the format of a dial list query is automatically converted to lower-case characters when run.

Dial lists should be in the form of a table in a SQL database. More information about dial lists, refer to the ShoreTel Enterprise Contact Center Administration Guide.

Refer to the following section for more information about using dial lists:

Accessing Dial List Data ........................................................................................... 13

Accessing Dial List Data

To use dial lists for outbound dialing campaigns, you must have the dial data in an external ODBC/SQL database.

Complete the following steps to access dial list data from an external database:

1. Create the physical connection to the external database. Make sure you can ping between the computers and that they can communicate via the network.

2. Install the needed infrastructure software (OBDC drivers and client side processes) and create the OBDC entries on the ShoreWare Contact Center Server.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 13

Page 14: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Using Dial Lists Storing Dial List Results2

3. Plan which data items you would like to gather, define the conditions, and decide where how the data will be used in call control scripts.

4. Define the Data Source Name (DSN) of the database to which you want to connect.

5. Restart Enterprise Contact Center.

6. Create the SQLConnect and SQLExecute scripts.

SQLConnect connects to a database for queries.

SQLExecute sends a query (written as a SQL statement) to the database to obtain specific information, such as the priority of a caller.

See Appendix C, Supported SQL Syntax for information on the ShoreTel supported SQL syntax.

Storing Dial List Results

After an agent receives an outbound call, the agent can identify the call status using ShoreWare Agent Toolbar. This includes a complete call (a person was reached), an incomplete call that should be tried again later, and a call placed using an incorrect telephone number. You must define a location in your database for storing these call results.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 14

Page 15: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

CHAPTER

3. Automating Agent Activities

The ShoreTel Enterprise Contact Center Solution (ECC) provides interfaces for client-based integration with external applications.

The call profile contains the information related to a call, including data in mandatory fields (such as DNIS, ANI, Initiate Time, and Priority) and user-defined fields. The call profile originates when the call enters the ShoreTel system, is accessible and managed during the progress of the call through the system, and is cleared at call completion.

When a call is routed to an agent, ShoreTel Agent Toolbar uses call profile values to provide the appropriate notifications to the agent. Agent Toolbar can also deliver specific fields to external applications that are then available at the agent station along with executable commands. For example, the system can send a command to display the caller’s screen, based on the Caller ID (ANI).

ECC supports standard interfaces for integration with external applications, including dynamic data exchange (DDE), ActiveX, and basic Microsoft prompt commands (called “triggers”). Customization using these interfaces is done through the agent configuration file ETAS.INI.

Note

If your agents are using ShoreTel Communicator integrated with Contact Center as their client, make sure any automated agent activities you develop only use triggers for integration. Automated agent activities using ActiveX or DDE will not display. If you are unable to implement automated agent activities that only use triggers, have your agents use Agent Toolbar as their client instead.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 15

Page 16: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities The Agent Configuration File (ETAS.INI)3

Refer to the following sections for more information about automating agent activities:

The Agent Configuration File (ETAS.INI) .................................................................. 16

Using Screen Pops ................................................................................................... 19

Integrating Applications Using DDE.......................................................................... 19

Integrating Applications using ActiveX ...................................................................... 32

Activating Applications by Triggers ........................................................................... 42

The Agent Configuration File (ETAS.INI)

Each agent in Contact Center has an INI file that describes the application setup definitions and maintains the agent’s personal workstation information, along with other valuable data that relate to features, customization, and integration with external applications. This file, ETAS.INI, is formatted as a standard Windows INI file. Each agent’s ETAS.INI file is located in the Contact Center Server system directory ...\ShoreTel Contact Center Server\Agents\<agent ID>\subdirectory.

The integration data appears in the Microsoft triggers and DDE paragraphs as shown in the following example:

[TRIGGERS]OperateTriggers=1[TRIG_OnIncoming]Command=MyApplication.exe %calling %DNIS %Service %ani[TRIG_OnConnected]Command=notepad.exe %service.txt[TRIG_OnReleaseCodeEntered]Command=notepad.exe %release_code[TRIG_OnWrapUpCodeEntered]Command=notepad.exe %wrapup_code

[DDE]ActivateServer=FalseServer=CRMTopic=Events[DDE_OnStarted]Command=started %AgentID[DDE_OnReStarted]Command=restarted[DDE_OnDenied]Command=denied %cause

Note

Agents must exit Agent Toolbar before you can make changes to their ETAS.INI file; otherwise your changes will be overwritten.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 16

Page 17: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities The Agent Configuration File (ETAS.INI)3

[DDE_OnStoped]Command=stopped[DDE_OnLoggedIn]Command=loggedin %group[DDE_OnLoggedOut]Command=loggedout %group[DDE_OnHeld]Command=held %callid[DDE_OnRetrieved]Command=retrieved %callid[DDE_OnIncoming]Command=incoming %callid, %calltyp, %DNIS, %calling, %Service, %Priority, %ACD ENTER TIME[DDE_OnConnected]Command=connected %callid, %calltyp, %DNIS, %calling, %Service, %Priority, %ACD ENTER TIME[DDE_OnConferenced]Command=conferenced %callid[DDE_OnReleased]Command=released[DDE_OnReleaseCodeEntered]Command=releasecodeenter %release_code[DDE_OnResumed]Command=resumed[DDE_OnWrapUp]Command=wrapup[DDE_OnWrapUpCodeEntered]Command=wrapupcodeenter %wrapup_code[DDE_OnReady]Command=ready[DDE_OnCleared]Command=cleared %callid[DDE_OnReserved]Command=reserved %callid[DDE_OnSystemAvailable]Command=systemavailable %available[DDE_OnFailed]Command=failed %cause[DDE_OnSilentStarted]Command=silentstarted[DDE_OnIncomingEx]Command=incomingex %callid, %calltyp, %DNIS, %calling, %Service, %Priority, %ACD ENTER TIME, %Alternative Call ID[DDE_OnConnectedEx]Command=connectedex %callid, %calltyp, %DNIS, %calling, %Service, %Priority, %ACD ENTER TIME, %Alternative Call ID[DDE_OnShowMessage]Command=showmessage %msgid, %msgtext

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 17

Page 18: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Setting the ActivateServer Parameter3

[DDE_OnUpdateCallStatusString]Command=updatecallstatusstring %callid, %Alternative Call ID, %calltyp, %statusstr

For each integration type, a list of agent states exists along with related actions (mainly commands) that are activated at that state. A command might include free text, parameters prefixed by the percent (%) sign, and control codes. A parameter can be any call profile field name available in Agent Toolbar in either the mandatory or user-defined fields.

Upon a state change, the command related to that state is evaluated, and all parameters and control codes are substituted with their appropriate values.

Setting the ActivateServer Parameter

Before integrating an application using DDE or ActiveX, the ActivateServer parameter must be set to True in each agent ‘s ETAS.ini file.

Complete the following steps to set the ActivateServer parameter:

1. From the Contact Center server, open the ETAS.INI file for the agent.

The ETAS.INI files are located in ...\ShoreTel Contact Center Server\Agents\<agent ID>\subdirectory.

2. In the ETAS.INI file, locate the [DDE] section and change the ActivateServer parameter to True. For example,

[DDE]ActivateServer=True

3. Repeat steps 1 and 2 for every agent that will use the application.

Table 1: Parameter List

Parameter/Code Substitution value

%call_profile_field Call profile field value

\\ \ (Backslash)

\t TAB

\b BACKSPACE

\r CR

\n Newline

\f Formfeed

\a Alert (Beep)

\xHH Character HH (HH= hexadecimal value of character)

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 18

Page 19: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Using Screen Pops3

Using Screen Pops

The [ScreenPops] section of the ETAS.INI file acts as a filter for the specified DDE and triggers to limit screen pops. Initially, this section does not exist in the ETAS.INI file, so the system defaults to displaying screen pops for all types of contacts. You can configure Enterprise Contact Center to narrow the scope of screen pops for ACD, voice and web callback, chat, or email contacts. To do so, add a [ScreenPops] section to the ETAS.INI file and enter the following applicable parameters as appropriate:

For ACD calls only:

Add the parameter TRIG_OnACDOnly=YES

To not display screen pops for voice and web callback contacts:

Add the parameter TRIG_OnVoiceMedia=NO

To not display screen pops for chat contacts:

Add the parameter TRIG_OnChatMedia=NO

To not display screen pops for email contacts:

Add the parameter TRIG_OnEmailMedia =NO

For example, the following additions to the ETAS.INI file would trigger screen pops for ACD calls and web callbacks (and not for email and chat contacts):

[ScreenPops]TRIG_OnACDOnly=YESTRIG_OnEmailMedia =NOTRIG_OnChatMedia=NO

Integrating Applications Using DDE

The ShoreTel Agent DDE interface enables external applications to interact with Agent Toolbar.

External applications can get notifications from the Agent DDE when an important event occurs, and they can control some of the telephony and automatic call distribution (ACD) functions that Agent Toolbar supports.

For example, when a call is delivered to an agent and the phone rings, the Agent DDE connects to an application working as a DDE server and DDE client simultaneously, and invokes an EXECUTE command on the DDE protocol:

Note

Agents must exit Agent Toolbar before you make changes in their ETAS.INI file, otherwise the changes are overwritten.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 19

Page 20: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Integrating Applications Using DDE3

1. The application gets the information and the parameters from the Agent DDE event. At this time, the application can perform its functions, such as displaying the customer screen and updating the database.

2. The application provides a button to the agent to answer the call. When the agent clicks the button, the application contacts Agent Toolbar, which is now working as a DDE server, and invokes an EXECUTE command on the TEL topic requesting to answer the call.

3. The call is answered, and the agent handles the call.

4. The application provides another button for the agent to end the call. When the agent clicks the button, the application contacts Agent Toolbar (now working as a DDE server) and invokes an EXECUTE command on the TEL topic requesting to end the call.

Contact Center gathers information related to a call from the moment the call enters the system until it is concluded. All this information is stored in the call profile.

Agent Toolbar makes all of the call profile information available to the external application.

Before integrating an application using DDE, the ActivateServer parameter must be changed in the agent ETAS.ini file, as explained in Setting the ActivateServer Parameter on page 18.

The following is a list of mandatory fields in the call profile. The field names in the call profile are case-sensitive.

Table 2: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ANI ANI Automatic Number Identification (ANI) transmits the customer’s telephone number and delivers it to your call center’s telephone system.

Note: The format of the ANI call profile field includes a plus sign (+) before the ANI number. This facilitates external incoming calls (i.e. from outside your site).

Agent Queue agent_queue Indicates that the call is being handled by a personal agent queue.

Group acd_group The internal group id related to the call

Original Destination called The original destination of the call

Trunk trunk PBX and call-type depended

Call ID callid The ID of the call

DNIS DNIS The DNIS of the call

calling calling The ANI (caller ID) of the caller

Type calltyp Call type (Voice, Chat, Email, Callback, Abandoned, Web Callback, Dial List)

Media Media Call media (WEB, VOICE, EMAIL)

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 20

Page 21: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Integrating Applications Using DDE3

Priority Priority Priority of the call

Service Service Service that handles the call

Customer Number CUSTOMER_NUMBER

Identifier number of the customer (if internal, the Customers Table is used)

Customer Name CUSTOMER_NAME Customer name (if internal the Customers Table is used)

ACD Enter Date ACD_ENTER_DATE Date the call entered Contact Center

ACD Enter Time ACD_ENTER_TIME Time the call entered Contact Center

Queue Position Q_POSITION Call position in the queue

Average Queue Time AVERAGE_Q_TIME Expected average wait time in the queue.

Call Back Time CALLBACK_TIME Callback time set by caller (if empty, Abandoned Call)

Call Back Destination CALLBACK_DEST Callback destination

Language LANGUAGE The language associated with the call (0=English, 1=Hebrew, 2=Russsian, 3=Arabic, 4=Mexican Spanish)

Agent Extension AGENT_EXT The agent’s telephone extension number

Agent Number AGENT_NUMBER Number used to identify the agent

Dial List ID DIAL_LIST_ID The ID of the dial list

Start Queue Time START_QUEUE_TIME

The time when a call enters the queue

Agent PSW AGENT_PSW Agent password

Execute Req EXECUTE_REQ For any request to be executed

Trunk Number TRUNK_NUMBER The number of the trunk

Email To EMAIL_TO The text in the To field of the email

Email CC EMAIL_CC The text in the CC field of the email

Email Subject EMAIL_SUBJECT The text in the Subject field of the email

Email From EMAIL_FROM The text in the From field of the email

Email To EMAIL_REPLY_TO The text in the Reply To field of the email

Email Sent Date EMAIL_SENT_DATE

The text in the Date Sent field of the email

Email Sent Time EMAIL_SENT_TIME

The text in the Time Sent field of the email

Table 2: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 21

Page 22: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Configuring Agent Toolbar3

Configuring Agent Toolbar

Agent Toolbar provides maximum flexibility during integration. The configuration of the commands should be done at the time the system is installed. Typically, the person installing Contact Center also configures this application.

When Agent Toolbar works as a DDE client, you can configure the following general parameters:

Server — Name of the server application.

Topic — Topic to be used by ShoreTel Agent Toolbar when executing a command on the external application.

Command — Command and parameters to send to the application when a specific event occurs. This command is defined for each event type.

Agent Toolbar as a DDE Client

Agent Toolbar can execute commands on an external application when any of the following events occur:

DDE_OnIncoming — When the call rings at the agent’s station.

Email Enter OMS Date EMAIL_ENTER_OMS_DATE

The text in the OMS Date field of the email

Email Enter OMS Time EMAIL_ENTER_OMS_TIME

The text in the OMS Time field of the email

Primary Call Back Destination

PRIMARY_CB The primary destination for the callback

Alternative Call Back Destination 1

ALTERNATIVE1_CB

The first alternative destination for the callback

Alternative Call Back Destination 2

ALTERNATIVE2_CB

The second alternative destination for the callback.

Last Time To Initiate Callback

LAST_TIME_TO_INITIATE_CB

The time when the last callback can be made

Alternative Call ID ALTERNATIVE_CALL_ID

The PBX TAPI call ID

Group GROUP_ID The ID of the group

Outbound Caller ID OUTBOUND_CALLER_ID

The caller ID of the outbound call

SW Call GUID SW_CALL_GUID The PBX call GUID

Table 2: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 22

Page 23: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Client3

DDE_OnConnected — When the call is answered by the agent.

DDE_OnCleared — The call was terminated.

DDE_OnHeld — The current call was held.

DDE_OnRetrieved — The call was retrieved from hold.

DDE_OnStarted — ShoreTel Agent Toolbar starts to work.

DDE_OnRestarted — ShoreTel Agent Toolbar restarts.

DDE_OnDenied — ShoreTel Agent Toolbar cannot work.

The command is a string that is sent “as is” to the external application. To provide parameters, the % sign must precede the field name in the call profile.

For example, to indicate to an external application that a call has been delivered to the agent (and is ringing), you can use the following command:

[DDE_OnIncomng]command=Incoming from=%calling group=%acd_group

When a call comes in from number 7410953 to the Sales group, the following command is sent to the external application:

Topic=ShoreWareAgentDDE_Command= DDE_EXECUTECommand= Incoming from=7410953 group=Sales

The following rules apply:

All of the commands and parameters are not case-sensitive.

If a parameter requested in the command has no value, a blank is sent.

The structure of commands and events is defined for each installation. The person installing ShoreTel Agent Toolbar performs the agent configuration.

The configuration file ETAS.INI is stored on the Contact Center Server.

More than one active call can occur at the same time. The call ID values are important.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 23

Page 24: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Client3

DDE Commands

The following table shows the DDE commands that can be used.

Table 3: DDE Commands

Event Parameter Default Description

DDE_OnIncoming Command Incoming %CallId, %Calling, %Service, %Group

A call is ringing at the agent phone.

DDE_OnConnected Command Connected %CallId, %Calling, %Service, %Group

The agent answers the call.

DDE_OnCleared Command ConnCleared %CallId The call terminates.

DDE_OnRelease Command Released Agent was released.

DDE_OnReleaseCodeEntered

Command %release_code Agent entered release code.

The DDE command executes only if the agent is in the Release state before system goes down, and once the Contact Center service has restarted or the network reconnects.

DDE_OnResume Command Resumed Agent was resumed.

DDE_OnWrapUp Command WrapUp Agent goes to wrap-up.

DDE_OnWrapUpCode Entered

Command %wrapup_code Agent entered wrap-up code.

DDE_OnReady Command Ready Agent returns from wrap-up.

DDE_OnLogin Command LoggedIn Agent logged in.

DDE_OnLogout Command LoggedOut Agent logged off.

DDE_OnHeld Command Held %CallId A call was held.

DDE_OnRetrieved Command Retrieved %CallId A call was retrieved.

DDE_OnStarted None Started Agent Toolbar started.

DDE_OnRestarted None Restarted Agent Toolbar lost connection to the server, and now it is online again.

DDE_OnDenied Cause Denied %cause Agent Toolbar is unable to do the requested action.

DDE OnFailed Cause Failed %cause The requested action failed.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 24

Page 25: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Client3

The following table shows possible OnDenied causes.

DDE_OnShowMessage Command Show Message %msgid, %msgtext

Agent Toolbar sends a screen pop.

DDE_OnUpdateCallStatusString

Command Update Call Status String %callid, %Alternative Call ID, %calltyp, %statusstr

The call status string changes.

Table 4: Possible OnDenied Causes

Cause Name Description

1 LOGGED_ON_TO_ANOTHER_EXT Agent is already logged in to another extension.

2 NEW_AGENT_ON_EXT Another agent is logged in to current extension.

3 WRONG_AGENT Wrong agent ID is supplied.

4 WRONG_PASSWORD Wrong password is supplied.

5 MAX_NUM Maximum number of agents in system is exceeded.

6 FAILED_TO_READ_FROM_DBS Internal error.

7 STILL_INITIALIZING Agent Toolbar cannot start because the system is initializing.

8 AGENT_NUMBER_IS_ALREADY_IN_USE Agent number is already being used in the system.

9 EXTENSION_IS_ALREADY_IN_USE Extension is already being used in the system.

10 AGENT_ALREADY_LOGGED_AT_LRL Agent is already logged into the system.

11 EMAIL_ACCOUNT_ALREADY_IN_USE Email account is already being used in the system.

12 WRONG_ETAS_VERSION Wrong version of Agent Toolbar is being used.

13 AGENT_NUMBER_NOT_FOUND_IN_DB Agent number does not exist in the system

100 AGENT_IS_DEACTIVATING Agent Toolbar is in the process of shutting down.

101 CANNOT_START_THE_SUP_PROCESS Supervisor process cannot be started because of an error.

102 NET_CONNECTION_TO_SERVER_FAILED Network connection to the server has failed.

103 INSTANCE_ALREADY_RUNNING Agent Toolbar is already running.

Table 3: DDE Commands

Event Parameter Default Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 25

Page 26: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Client3

The following table lists possible OnFailed causes.

104 MAX_NUMBER_OF_AGENTS_LOGGED_IN Maximum number of agents are logged into the system.

200 INVALID SUPERVISOR_NAME_OR_PWD Supervisor cannot log into Agent Toolbar either because a wrong agent ID or password have been used, or because the user is not identified as a supervisor in the system.

201 MAX_NUMBER_OF_VISORS_LOGGED_IN Maximum number of supervisors with the Supervisor Administrator or Entity Administrator permissions are logged into the system.

202 MAX_NUMBER_OF_MONITORS_LOGGED_IN Maximum number of supervisors with the Entity Monitor permission are logged into the system.

203 SUPERVISOR_ALREADY_LOGGED_IN Supervisor is already logged into the system.

Table 5: Possible OnFailed Causes

Cause Name Description

1 FAIL Internal error

2 INVALID_ID Wrong agent ID is supplied

3 MAX_AGENTS_LOGGED_IN Maximum number of agents in system is exceeded.

4 ALREADY_LOGGED_IN Maximum number of agents are logged into the system.

5 NO_ASSIGNED_GROUP Agent has tried to log into a group, but has not be assigned to this group.

6 INVALID_GROUP_ID Agent has tried to log into a group, but has supplied the wrong group ID.

7 INVALID_WRAP_CODE Agent has entered a wrap-up code that does not exist in the system.

8 NO_LICENCE_FAIL Agent is unable to log into Agent Toolbar because the appropriate license is lacking.

9 NO_INVOICE_LICENCE Agent is unable to log into Agent Toolbar because a Inbound Voice license is lacking.

Table 4: Possible OnDenied Causes

Cause Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 26

Page 27: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Client3

10 NO_INCHAT_LICENCE Agent is unable to log into Agent Toolbar because a Chat license is lacking.

11 NO_OUTVOICE_LICENCE Agent is unable to log into Agent Toolbar because an Outbound Voice license is lacking.

12 MISSING_EMAIL_ADDR_ON_SERVER Agent is unable to log into Agent Toolbar due to a missing server email address or password.

13 MISSING_EMAIL_ADDR_ON_PC Agent is unable to log into Agent Toolbar due to a missing personal email address or password.

14 EXTENSION_ALREADY_IN_USE Extension is already being used in the system.

15 EXT_LOST_CON_WITH_PBX Extension has lost connection with the telephony system. The agent is automatically logged out of all groups.

16 EXT_CFW_ALL Extension is set to forward all calls.

17 PREDICTIVE_GROUP_ONLY Agent can only be logged into one group while handling predictive outbound calls.

18 EXT_DND Extension is set to Do Not Disturb.

19 NOT_AUTHORIZED_TO_ACTIVATE Agent does not have authorization to launch the application.

20 TRANSFER_TO_AGENT_FAILED The process of transferring a call to the agent has failed.

21 INVALID_GROUP_NAME Agent has entered invalid group name.

22 NOT_AUTHORIZED_TO_ACTIVATE_FLA Agent does not have authorization to launch Contact Center Reports.

23 INOT_AUTHORIZED_TO_ACTIVATE_NLA Agent does not have authorization to launch Agent Manager.

24 NOT_AUTHORIZED_TO_ACTIVATE_AGENT Agent does not have authorization to launch Agent Toolbar.

25 MAX_AGT_LOGIN_GROUPS Agent has attempted to log into more groups than allowed.

26 PICKUP_NO_AGENT Call pickup has failed because no agent was available.

27 PICKUP_NO_CALL Call pickup has failed.

28 PICKUP_NOT_ALLOWED Call pickup is not allowed.

Table 5: Possible OnFailed Causes

Cause Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 27

Page 28: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Server3

Agent Toolbar as a DDE Server

Working as a DDE server, ShoreTel Agent Toolbar supports four topics:

ACD for ACD-related functions

TEL for all telephony-related functions

REQUESTS to get information from ShoreTel Agent Toolbar

OTHER for miscellaneous commands

The ACD Topic

The following table includes DDE_EXECUTE commands:

29 PICKUP_CANT_ROUTE_TO_AGENT Call to be picked up cannot be routed to an agent.

30 TRANSFER_TO_AGENT_FAILED_NOT_SAME_GRP Transferring the call cannot be completed because the agent is not in the same group.

31 TRANSFER_TO_AGENT_FAILED_NOT_AGENT Transferring the call cannot be completed because the extension is not valid.

32 UPDATE_RING_TONE_FILE_FAILED Updating the ring tone has failed.

33 INVALID_RELEASE_CODE Agent has entered a release code that does not exist in the system.

34 MUST_ENTER_WRAPUP_CODE Agent must enter a wrap-up code.

35 FEATURE_NOT_ALLOWED The requested action is not allowed.

36 NO_AGENT_BOARD_DEFINED Agent board has not been specified for this agent.

37 FAILED_TO_SEND_CALL_TO_AGENT_QUEUE Call could not be transferred to the agent queue.

38 FAILED_TO_SEND_CALL_TO_AGENT_QUEUE_NON_ACD

Only ACD calls can be transferred to the agent queue.

39 FAILED_TO_SEND_CALL_TO_AGENT_QUEUE_ALREADY_ANSWERED

Call has been answered by another agent.

40 LOGOUT_FROM_AGENT_QUEUE_FAILED Logging out from the agent queue has failed because calls are waiting in the queue.

Table 5: Possible OnFailed Causes

Cause Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 28

Page 29: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Server3

DDE_REQUEST supports the CommandList command, which has no parameters. It gets a space-delimited list of supported commands for the topic.

The following rules apply:

All of the parameters are strings.

The commands and parameters are not case sensitive.

Table 6: DDE_EXECUTE Commands

Name Parameters Description

LoginPrimaryGroups None Logs in to all primary groups.

LogoutFromPrimaryGroups

None Logs off from all primary groups.

LoginGroup Group name Logs in to a specific group.

LogoutFromGroup Group name Logs off from a specific group.

Release None Makes agent enter “release” state.

Resume None Makes agent enter “resume” state.

Wrapup Wrap-up code Enters wrap-up code.

AgentReady None Terminates wrap-up time.

TransferToAgent Agent number Transfers call to specified agent.

Help None Help request from supervisor.

SetCallProfile Field name, new field value Sets call profile field value.

LogoutFromAgentQueue 1, 2, 3

1 = log agent out of all groups

2 = log agent out of agent queue

3 = log agent out of primary groups

Logout the agent from the specified group or agent queue.

SendCallToAgentQueue Call ID Send current connected ACD voice call to agent queue.

SetInFocusCall Call ID

Alternate Call ID

Sets the specified call as the current call, enabling all telephony functions for the call.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 29

Page 30: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar as a DDE Server3

The TEL Topic

The following table includes commands that are invoked using DDE_EXECUTE:

DDE_REQUEST supports the CommandList command, which has no parameters. It gets a space-delimited list of supported commands for the topic.

The REQUEST Topic

The following includes commands that are supported using DDE_REQUEST:

Table 7: DDE_EXECUTIVE-Invoked Commands

Name Parameters Description

Alternate None Exchanges between the call on hold and the active call.

Answer None Answers the call that is ringing.

HangUp None Terminates the current call.

ClearSpecificConnection

Call ID Terminates the call with the selected Call ID.

Divert Destination dial number Diverts the call to the desired destination before answering the call.

Hold None Puts the current call on hold.

Retrieve None Retrieves a call that was previously put on hold.

MakeNACall Destination dial number Makes an outgoing call.

TransferCall Destination dial number Starts the transfer process.

CompleteTransfer None Removes the agent from the call, completing the transfer.

Conference Destination dial number Begins a conference call.

CompleteConference

None Completes the conference call.

SingleStepTransfer

Destination dial number Transfers the current call to another telephone.

Reconnect None Returns the agent to the original call and updates the agent state.

Table 8: Supported Commands for DDE_REQUEST

Item name Parameters Returns (string) Description

TopicItemList

None List Gets a space-delimited list of supported commands for the topic.

IsPhoneBusy None TRUE or FALSE TRUE if the phone is busy.

HeldCallsCount

None Number of calls on hold

Number of calls currently on hold () or 1.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 30

Page 31: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Advanced Configuration Options3

The OTHER Topic

DDE_EXECUTE supports the Terminate command, which has no parameters. It closes ShoreTel Agent Toolbar.

DDE_REQUEST supports the CommandList command, which has no parameters. It gets a space-delimited list of supported commands for the topic.

Advanced Configuration Options

When integrating to other applications, the basic DDE client behavior of Agent Toolbar may not be enough. There may be situation where it is necessary to have more control over the DDE commands sent by Agent Toolbar to the external application. This section contains information on advanced DDE commands.

Using DDE Poke instead of DDE Execute

Some applications require the use of the DDE Poke command instead of the standard DDE Execute used by Agent Toolbar.

In order to support this, you can replace the full command line following the desired event with the following:

Poke(destination)=Value

As an example of this usage, assume that it is necessary to set the ANI number of the caller for the current call on an Microsoft Excel spreadsheet when a call is answered by the agent. This can be done with the following line in the ETAS.INI file:

[DDE_OnConnected] Poke(Excel,Sheet1,rc)=%calling

Using Multiple DDE Commands for the Same Event

Some applications must use multiple DDE commands in response to specific events. To support this, you can replace the full command line following the desired event with a list of DDE commands to perform. The DDE commands Poke and Execute can be used.

GetCpParam Field name Field value Retrieve the value of a specific call profile field.

IsReleased None TRUE or FALSE TRUE if the agent is in the release state.

IsLoggedIn Group Name TRUE or FALSE TRUE if the agent is logged in.

IsWrapUp None TRUE or FALSE TRUE if the agent is currently in wrap-up time.

Table 8: Supported Commands for DDE_REQUEST

Item name Parameters Returns (string) Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 31

Page 32: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Integrating Applications using ActiveX3

An example of managing Microsoft Excel this way is:

[DDE_OnIncoming] Poke(Excel,Sheet1,rc)=%calling Execute(Excel,Sheet1)={RIGHT} Poke(Excel,Sheet1,rc)=%Service Execute(Excel,Sheet1)={RIGHT} Poke(Excel,Sheet1,rc)=%ACD_ENTER_DATE Execute(Excel,Sheet1)={RIGHT} Poke(Excel,Sheet1,rc)=%ACD_ENTER_TIME Execute(Excel,Sheet1)={RIGHT} Poke(Excel,Sheet1,rc)=David Young, ID 555 Execute(Excel,Sheet1)={RIGHT} Execute(Excel,Sheet1)={DOWN} Execute(Excel,Sheet1)={HOME}

In this case, Agent Toolbar enters several values into different Excel cells when the call rings at the agent's phone.

Working with more than One DDE Server Application at the Same Time

In certain situations it is necessary to send DDE commands to more than one application as a result of a specific trigger.

The following example illustrates how to set up the response for the DDE_OnIncoming event in the ETAS.INI file to:

1. Set a value on a Microsoft Excel spreadsheet.

2. Set the URL for Internet Explorer to www.shoretel.com.

3. Move the cursor to a different location on the spreadsheet.

[DDE_OnIncoming] Poke(Excel,Sheet1,rc)=%calling Execute(IExplore,WWW_OpenURL)=”www.shoretel.com,,0” Execute(Excel,Sheet1)={DOWN} Execute(Excel,Sheet1)={HOME}

Integrating Applications using ActiveX

Agent Toolbar ActiveX controls enable external applications to get events from Agent Toolbar when some telephony, ACD, and management events occur, and can control the telephony, ACD, and management functions supported by the application. This section describes the interface controls, available methods, parameters, and additional information required to perform the integration.

It is assumed that the you are familiar with ActiveX specifications and use.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 32

Page 33: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Configuring Agent Toolbar3

For example, the following scenario details the process of an incoming call.

1. The moment a call is delivered to an agent and the phone rings, Agent Toolbar initiates an OnIncoming event to the application. The event supplies standard parameters (Call ID, Call type, DNIS, ANI, Service, Priority, and Time).

2. The application can get more call parameters from Agent Toolbar by getting properties (call profile fields).

3. At this time, the application can perform its functions, including displaying the customer screen and updating the database.

4. The application provides a button to the agent to answer the call. When the agent clicks the button, the application commands ShoreTel Agent Toolbar (using the Answer method) to answer the call.

5. The call is answered, the application gets an OnConnected event, and the agent handles the call.

6. The application provides another button to the agent to disconnect the call. When the agent clicks the button, the application commands ShoreTel Agent Toolbar to disconnect the call.

Contact Center gathers information about a call from the moment the call enters the system until the call is disconnected. The parameters are collected from the caller’s input in the IVR, read from the organization’s database, or set in the process of handling the call. All information is stored in the call profile.

Agent Toolbar makes all the call profile information available to the external application.

The call profile fields are either mandatory, for example priority, required service, and time that the call entered the system, or user-defined. Either type of field can be used to pass parameters that Contact Center can collect and share with the external application.

Before integrating an application using ActiveX, the ActivateServer parameter must be changed in the agent ETAS.ini file, as explained in Setting the ActivateServer Parameter on page 18.

Configuring Agent Toolbar

During the DDE integration, the configuration of the ActiveX behavior is done in the ETAS.INI file.

No configuration is required in Agent Toolbar. All events are sent, all call profile information is sent on relevant events, and all commands are enabled. It is the responsibility of the external application to ignore what is not required.

Managing Agent Toolbar

Management includes starting Agent Toolbar, and also stopping and monitoring the connection state to the Contact Center Server.

The application can start Agent Toolbar using the following method:

StartEa(AgentNumber AgentPwd)

Where:

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 33

Page 34: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Events3

AgentNumber = the agent's numberAgentPwd = the agent's password

The application waits for a response event. The following table includes two possible events:

The application can stop Agent Toolbar using the following method:

StopEa()No parameters are required.The Stopped() is the event indicating a successful action.

Monitoring the connection state to the Contact Center Server uses the Connection lost and Restarted events. When Connection is lost (until a Restarted event is received), the ShoreTel Agent DDE is Out of Service. No new calls are received, and all telephony and ACD methods are inoperative while ShoreTel Agent Toolbar is Out of Service.

After starting Agent Toolbar, the ActiveX component must be initialized by calling the init() method.

The init() method has the following signature:

HRESULT Init(BSTR name)

Where the default name is CRM and must match the Server definition on the DDE part of the ETAS.INI file.

Agent Toolbar Events

Agent Toolbar sends events to the external application when the events described in this section occur.

The ACD Events

The following table includes ACD events:

Table 9: Response Events

Event Description

Started() ShoreTel Agent Toolbar started and logged in.

Denied(Cause number)

ShoreTel ECC Server denied the login. See Possible OnDenied Causes on page 40.

Note

After calling the StopEa() method, the ActiveX component will stop to respond. In order to re-activate it is necessary to call the init() method again.

Command Parameters Description

OnLoggedIn GroupName Agent logged in.

OnLoggedOut GroupName Agent logged off.

OnReleased Agent was released.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 34

Page 35: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Events3

The following rules apply:

More than one active call can exist at the same time. Therefore the values for the call ID are important.

The TEL Events

The following table includes telephony events:

OnReleaseCodeEnter

release_code Agent entered release code.

The trigger executes only if the agent is in the Release state before system goes down, and once the Contact Center service has restarted or the network reconnects.

OnResumed Agent was resumed.

OnWrapUp Agent goes to wrap-up.

OnWrapUpCodeEnter

wrapup_code Agent enters wrap-up code.

OnReady Agent returns from wrap-up.

Command Parameters Description

OnIncoming CallId, Calltyp, DNIS, ANI, Service, Priority, ACD TimeIn

A call is ringing at the agent phone.

OnConnected CallId, Calltyp, DNIS, ANI, Service, Priority, ACD TimeIn

The agent answers the call.

OnCleared CallId The call terminates.

OnHeld CallId A call was held.

OnRetrieved CallId A call was retrieved.

Command Parameters Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 35

Page 36: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Methods (Services)3

Agent Toolbar Methods (Services)

Agent Toolbar supports the following commands:

ACD for ACD-related functions

TEL for all telephony-related functions

OnShowMessage MessageId Agent Toolbar opens a screen pop. The possible message types are specified by the enumeration ECC_MESSAGEID options:

MESSAGEID_NULL

MESSAGEID_ALERT_EMAIL_MSG

MESSAGEID_REJECT_EMAIL_MSG

MESSAGEID_OUT_OF_SERVICE

MESSAGEID_OOC_MSG

MESSAGEID_SYSTEM_EMAIL_ALREADY_IN_USE_MSG

OnUpdateCallStatusString

Alternate Call ID The agent state has changed. The possible call types are specified by the enumeration ECC_CALLTYPE options:

CALLTYPE_NULL

CALLTYPE_VOICE

CALLTYPE_CHAT

CALLTYPE_EMAIL

CALLTYPE_CALLBACK

CALLTYPE_ABANDONED

CALLTYPE_WEB_CALLBACK

CALLTYPE_CALL_FROM_LIST

CALLTYPE_CALL_FROM_CAMPAIGN_LIST

CALLTYPE_CALL_FROM_PREDICTIVE_LIST

CALLTYPE_OUT_ACD

Command Parameters Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 36

Page 37: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Methods (Services)3

The ACD Methods

The following table includes ACD methods:

The TEL Methods

The following table includes telephony methods:

Name Parameters Description

LoginPrimaryGroups None Logs in to all primary groups.

LogoutFromPrimaryGroups

None Logs off from all primary groups.

LoginGroup Group name Logs in to a specific group.

LogoutFromGroup Group name Logs off from a specific group.

ReleaseAgent None Makes agent enter “release” state.

ResumeAgent None Makes agent enter “resume” state.

Wrapup Wrap-up code Enters wrap-up code.

ReleaseAgentWithCode Release code Release agent with specified release code

AgentReady None Terminates wrap-up time.

TransferToAgent Agent number Transfers call to specified agent.

Help None Help request from supervisor.

SetCallProfile Call profile name, new call profile value

Sets call profile field value.

LogoutFromAgentQueue 1, 2, 3

1 = log agent out of all groups

2 = log agent out of agent queue

3 = log agent out of primary groups

Logout the agent from the specified group or agent queue.

SendCallToAgentQueue Call ID Send current connected ACD voice call to agent queue.

SetInFocusCall Call ID, Alternate Call ID Sets the specified call as the current call, enabling all telephony functions for the call.

Command Parameters Description

Answer None Answers the ringing call.

HangUp None Clears the current call.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 37

Page 38: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Methods (Services)3

MakeCall Destination dial number

Makes an outgoing call.

Hold None Puts the current call on hold.

Retrieve None Retrieves a call that was previously put on hold.

Divert Destination dial number

Diverts the call to the desired destination before answering the call.

StartTransfer Destination dial number

Starts the transfer process.

CompleteTransfer

None Removes the agent from the call, completing the transfer.

SingleStepTransfer

Destination dial number

Transfers the current call to another telephone.

StartConference

Destination dial number

Begins a conference call.

CompleteConference

None Complete a conference call.

Alternate None Exchanges between the call on hold and the active call.

Reconnect None Returns the agent to the original call and terminates the consultation.

CallStatusString

Call ID, Alternate Call ID

Retrieves the call status string. The call status string contains selected values from the call profile as defined in Contact Center Director > Agents entity > COS tab. The values are formatted as name-value pairs. The string may include an agent state name-value pair as well. An example is: “State=Reserved,Calling=2002,DNIS=3000,Status=Unknown,Service=Service 2,Group=Group2,Call Type=Abandoned,Priority=100,Call Entered at=13:23:13,Avg. Wait=00:00:00”.

Command Parameters Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 38

Page 39: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Methods (Services)3

Properties (Get Only)

The following table includes Get properties:

RingTone None Retrieves the full path to the ring tone wave file for the particular ring type. The possible ring types are specified by the enumeration ECC_SOUNDTYPE options:

SOUNDTYPE_NULL

SOUNDTYPE_VOICE_ACD

SOUNDTYPE_EMAIL

SOUNDTYPE_CHAT

SOUNDTYPE_CONFIRM_OUTBOUND

SOUNDTYPE_VOICE_NON_ACD

SetRingTone Sound type, Sound file path name

Sets the full path to the ring tone wave file for the particular ring type. The possible ring types are specified by the enumeration ECC_SOUNDTYPE options:

SOUNDTYPE_NULL

SOUNDTYPE_VOICE_ACD

SOUNDTYPE_EMAIL

SOUNDTYPE_CHAT

SOUNDTYPE_CONFIRM_OUTBOUND

SOUNDTYPE_VOICE_NON_ACD

Item name Parameters Returns Description

ISPHONEBUSY None TRUE or FALSE (0 or 1 Integer)

TRUE if the phone is busy.

HeldCallsCount

None Number of calls on hold (Integer)

Number of calls currently on hold.

CallProfile Call Profile field name

Field value (String) Retrieve the value of a specific call profile field.

IsReleased None TRUE or FALSE (0 or 1 Integer)

TRUE if the agent is in the release state.

IsLoggedIn Group name TRUE or FALSE (0 or 1 Integer)

TRUE if the agent is logged into the group.

IsWrapUp None TRUE or FALSE (0 or 1 Integer)

TRUE if the agent is currently in wrap-up state.

Command Parameters Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 39

Page 40: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Methods (Services)3

Possible OnDenied Causes

The following table includes possible OnDenied causes:

IsSupervisorApplicationEnabled

None Application Type The possible application types are specified by the enumeration ECC_APPLICATION_TYPE options:

APPTYPE_AGENT_MANAGER APPTYPE_HISTORICAL_REPORTS APPTYPE_WALL_BOARD APPTYPE_DIAGNOSTIC_CONSOLE APPTYPE_AGENT_TOOLBAR APPTYPE_GCCS

IsInEmailState()

None True or False (0 or 1 Integer)

TRUE if the agent is engaged in Email

Note

All strings are not case-sensitive.

Cause Name Description

1 LOGGED_ON_TO_ANOTHER_EXT Agent is already logged in to another extension.

2 NEW_AGENT_ON_EXT Another agent is logged in to current extension.

3 WRONG_AGENT Wrong agent ID is supplied.

4 WRONG_PASSWORD Wrong password is supplied.

5 MAX_NUM Maximum number of agents in system is exceeded.

6 FAILED_TO_READ_FROM_DBS Internal error.

7 STILL_INITIALIZING Agent Toolbar cannot start because the system is initializing.

8 AGENT_NUMBER_IS_ALREADY_IN_USE Agent number is already being used in the system.

9 EXTENSION_IS_ALREADY_IN_USE Extension is already being used in the system.

10 AGENT_ALREADY_LOGGED_AT_LRL Agent is already logged into the system.

11 EMAIL_ACCOUNT_ALREADY_IN_USE Email account is already being used in the system.

12 WRONG_ETAS_VERSION Wrong version of Agent Toolbar is being used.

Item name Parameters Returns Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 40

Page 41: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Agent Toolbar Methods (Services)3

13 AGENT_NUMBER_NOT_FOUND_IN_DB Agent number does not exist in the system

38 FAILMSG_FAILED_TO_SEND_CALL_TO_AGENT_QUEUE

Call could not be transferred to the agent queue.

39 FAILMSG_FAILED_TO_SEND_CALL_TO_AGENT_QUEUE_ALREADY_ANSWERED

Call has been answered by another agent.

40 FAILMSG_FAILED_TO_SEND_CALL_TO_AGENT_QUEUE_NON_ACD

Only ACD calls can be transferred to the agent queue.

41 FAILMSG_LOGOUT_FROM_AGENT_QUEUE_FAILED Logging out from the agent queue has failed.

100 AGENT_IS_DEACTIVATING Agent Toolbar is in the process of shutting down.

101 CANNOT_START_THE_SUP_PROCESS Supervisor process cannot be started because of an error.

102 NET_CONNECTION_TO_SERVER_FAILED Network connection to the server has failed.

103 INSTANCE_ALREADY_RUNNING Agent Toolbar is already running.

104 MAX_NUMBER_OF_AGENTS_LOGGED_IN Maximum number of agents are logged into the system.

200 INVALID SUPERVISOR_NAME_OR_PWD Supervisor cannot log into Agent Toolbar either because a wrong agent ID or password have been used, or because the user is not identified as a supervisor in the system.

201 MAX_NUMBER_OF_VISORS_LOGGED_IN Maximum number of supervisors with the Supervisor Administrator or Entity Administrator permissions are logged into the system.

202 MAX_NUMBER_OF_MONITORS_LOGGED_IN Maximum number of supervisors with the Entity Monitor permission are logged into the system.

203 SUPERVISOR_ALREADY_LOGGED_IN Supervisor is already logged into the system.

Cause Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 41

Page 42: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Activating Applications by Triggers3

Variable Types

The following table includes variable types:

Activating Applications by Triggers

ShoreTel Agent Toolbar triggers enable the activation of external applications at events, which are mainly states, of ShoreTel Agent Toolbar. When receiving an event such as a state change or activity performed by the agent, the command line related to that event in the ETAS.INI file is activated.

Table 10: Variable Types

Name Type Comment

AgentNumber String

AgentPwd String

Cause number Long

CallId Long

Calltyp Long

DNIS String

ANI String The format of the ANI call profile field includes a plus sign (+) before the ANI number. This facilitates external incoming calls (i.e. from outside your site).

Service String

Priority Long

TimeIn String (HH:MM:SS)

GroupName String

Destination Dial number

String

WrapUp code String

Any User field String Fields can be defined in administration.

Any Skill field String Fields can be defined in administration.

Note

All strings are VB strings/BSCR in C language and are not case-sensitive.

Note

Only one trigger per event is supported.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 42

Page 43: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Activating Applications by Triggers3

The following is a list of mandatory fields in the call profile. The field names in the call profile are case-sensitive.

Table 11: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ANI ANI Automatic Number Identification (ANI) transmits the customer’s telephone number and delivers it to your call center’s telephone system.

Note: The format of the ANI call profile field includes a plus sign (+) before the ANI number. This facilitates external incoming calls (i.e. from outside your site).

Agent Queue agent_queue Indicates that the call is being handled by a personal agent queue.

Group acd_group The internal group id related to the call

Original Destination called The original destination of the call

Trunk trunk PBX and call-type depended

Call ID callid The ID of the call

DNIS DNIS The DNIS of the call

calling calling The ANI (caller ID) of the caller

Type calltyp Call type (Voice, Chat, Email, Callback, Abandoned, Web Callback, Dial List)

Media Media Call media (WEB, VOICE, EMAIL)

Priority Priority Priority of the call

Service Service Service that handles the call

Customer Number CUSTOMER_NUMBER

Identifier number of the customer (if internal, the Customers Table is used)

Customer Name CUSTOMER_NAME Customer name (if internal the Customers Table is used)

ACD Enter Date ACD_ENTER_DATE Date the call entered Contact Center

ACD Enter Time ACD_ENTER_TIME Time the call entered Contact Center

Queue Position Q_POSITION Call position in the queue

Average Queue Time AVERAGE_Q_TIME Expected average wait time in the queue.

Call Back Time CALLBACK_TIME Callback time set by caller (if empty, Abandoned Call)

Call Back Destination CALLBACK_DEST Callback destination

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 43

Page 44: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Activating Applications by Triggers3

Language LANGUAGE The language associated with the call (0=English, 1=Hebrew, 2=Russsian, 3=Arabic, 4=Mexican Spanish)

Agent Extension AGENT_EXT The agent’s telephone extension number

Agent Number AGENT_NUMBER Number used to identify the agent

Dial List ID DIAL_LIST_ID The ID of the dial list

Start Queue Time START_QUEUE_TIME

The time when a call enters the queue

Agent PSW AGENT_PSW Agent password

Execute Req EXECUTE_REQ For any request to be executed

Trunk Number TRUNK_NUMBER The number of the trunk

Email To EMAIL_TO The text in the To field of the email

Email CC EMAIL_CC The text in the CC field of the email

Email Subject EMAIL_SUBJECT The text in the Subject field of the email

Email From EMAIL_FROM The text in the From field of the email

Email To EMAIL_REPLY_TO The text in the Reply To field of the email

Email Sent Date EMAIL_SENT_DATE

The text in the Date Sent field of the email

Email Sent Time EMAIL_SENT_TIME

The text in the Time Sent field of the email

Email Enter OMS Date EMAIL_ENTER_OMS_DATE

The text in the OMS Date field of the email

Email Enter OMS Time EMAIL_ENTER_OMS_TIME

The text in the OMS Time field of the email

Primary Call Back Destination

PRIMARY_CB The primary destination for the callback

Alternative Call Back Destination 1

ALTERNATIVE1_CB

The first alternative destination for the callback

Alternative Call Back Destination 2

ALTERNATIVE2_CB

The second alternative destination for the callback.

Last Time To Initiate Callback

LAST_TIME_TO_INITIATE_CB

The time when the last callback can be made

Alternative Call ID ALTERNATIVE_CALL_ID

The PBX TAPI call ID

Table 11: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 44

Page 45: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Configuring Agent Toolbar3

Configuring Agent Toolbar

The configuration of ShoreTel Agent Toolbar to activate triggers is done in the triggers area of the ETAS.INI file for the appropriate agent. Initially, the triggers area appears as follows:

[TRIGGERS]

OperateTriggers=1

To activate the triggers option, ensure OperateTriggers is set to 1.

Activating an Application

You can activate an application at a specific event by configuring the command for the event. For example, you might activate an application called MyApplication.exe when a call rings on an agent station, and then pass the application several parameters related to the call, such as an ANI number, DNIS, and the called extension. To activate the event, set the following commands:

[TRIG_OnIncoming]

Command=MyApplication.exe %calling %DNIS %Service %called

Activation Events

Agent Toolbar can activate a command when the following events occur:

TRIG_OnIncomingTRIG_OnConnectedTRIG_OnClearedTRIG_OnReleasedTRIG_OnResumedTRIG_OnWrapUpTRIG_OnReadyTRIG_OnLoggedInTRIG_OnLoggedOutTRIG_OnHeldTRIG_OnRetrievedTRIG_OnStartedTRIG_OnReStartedTRIG_OnDeniedTRIG_OnSystemAvailable

Group GROUP_ID The ID of the group

Outbound Caller ID OUTBOUND_CALLER_ID

The caller ID of the outbound call

SW Call GUID SW_CALL_GUID The PBX call GUID

Table 11: Call Profile Mandatory Fields

Call Profile Name DDE Name Description

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 45

Page 46: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Automating Agent Activities Command Substitution3

TRIG_OnStopedTRIG_OnConferencedTRIG_OnReservedTRIG_OnFailedTRIG_OnWrapUpCodeEnteredTRIG_OnReleaseCodeEntered

Command Substitution

The command line can include free text and call profile parameters (mandatory and user-defined fields). For more information, refer to Chapter 1, Integrating with a Customer Database Integrating with a Customer Database.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 46

Page 47: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

APPENDIX

A. Integration Examples

The following examples show possible integrations of the ShoreTel Contact Center Solution with external applications.

Refer to the following sections for more information about integration examples:

Web Application Using Triggers ................................................................................ 47

Vantive Using DDE.................................................................................................... 48

Microsoft Access Using DDE .................................................................................... 48

External Application Using ActiveX ........................................................................... 48

Web Application Using Triggers

The following is an example of activating a web application using the triggers interface. The application is started in a new Windows Internet Explorer window and shows all activities related to the calling customer:

[TRIGGERS]OperateTriggers=1

[TRIG_OnIncoming]command= “c:\\Program files\\internet explorer\\iexplore.exe”http://www.company.com/HomePages/CmaInternalPage/1,1564,11,FF.html?EZRu n=1&PersonalID=%calling

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 47

Page 48: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integration Examples Vantive Using DDEA

Vantive Using DDE

The following example is a display of a file for the calling customer on a Vantive application:

[DDE]Server=VantiveTopic=System

[DDE_OnIncoming]Command=maEaXIncoming X%calling

Microsoft Access Using DDE

The following example starts Microsoft Access by activating a database named MYDB when ShoreTel Agent Toolbar is launched, and then opening a specific caller’s file when a call is received:

[DDE]ActivateServer=TrueServer=MsAccessTopic=SystemDatabase=D:\MYDB.mdb[DDE_OnIncoming]Command=[OpenForm cust,,, phone = %calling][DDE_OnStarted]Command=[OpenDatabase D:\MYDB.mdb]

External Application Using ActiveX

The following example is a Visual Basic 6 implementation of a console that enables agents to activate the features of ShoreTel Agent Toolbar. Events are received in the List window of the console.

Code of VbController.exe

Private Sub Button_Alternate_Click()EaX.Alternate

End Sub

Note

Microsoft Access must open the database to display the screen popup with customer information.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 48

Page 49: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integration Examples Code of VbController.exeA

Private Sub Button_Answer_Click()EaX.Answer

End Sub

Private Sub cClearConn_Click()End Sub

Private Sub Button_CompTrans_Click()EaX.CompleteTransfer

End Sub

Private Sub Button_Divert_Click()EaX.Divert Edit_Divert.Text

End Sub

Private Sub Button_Exit_Click()EndEnd Sub

Private Sub Button_GetCp_Click()Edit_CallProfileValue.Text = EaX.CallProfile(Edit_CallProfileName.Text)End Sub

Private Sub Button_HangUp_Click()EaX.HangUp

End Sub

Private Sub Button_Hold_Click()EaX.Hold

End Sub

Private Sub Button_IsLoggedIn_Click()If EaX.IsLoggedIn(Edit_IsLogInGroupName.Text) = 1 ThenShape_IsLoggedIn.BackColor = &H80000003

ElseShape_IsLoggedIn.BackColor = &HFF&

End IfEnd Sub

Private Sub Button_LogIn_Click()EaX.LoginGroup Edit_LogInGroupName.Text

End Sub

Private Sub Button_LoginPrim_Click()EaX.LoginPrimaryGroups

End Sub

Private Sub Button_LogOut_Click()EaX.LogoutFromGroup eLoGroup.Text

End Sub

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 49

Page 50: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integration Examples Code of VbController.exeA

Private Sub Button_LogoutPrim_Click()EaX.LogOutFromPrimaryGroups

End Sub

Private Sub Button_MakeCall_Click()EaX.MakeCall Edit_MakeCallDestination.Text

End Sub

Private Sub Button_LogOff_Click()EaX.StopEa

End Sub

Private Sub Button_LogOn_Click()EaX.StartEa Edit_AgentId.Text, Edit_Password.Text

End Sub

Private Sub Button_CompConf_Click()EaX.CompleteConference

End Sub

Private Sub Button_Ready_Click()EaX.AgentReadyEnd Sub

Private Sub Button_Reconnect_Click()EaX.Reconnect

End Sub

Private Sub Button_Release_Click()EaX.ReleaseAgent

End Sub

Private Sub Button_Resume_Click()EaX.ResumeAgent

End Sub

Private Sub Button_Retrive_Click()EaX.Retrieve

End Sub

Private Sub AddToLog(ByVal line As String)If List.ListCount > 20 ThenList.Clear

End IfList.AddItem line

End Sub

Private Sub Button_SingleStepTransfer_Click()EaX.SingleStepTransfer Edit_SingleStepTransfer.Text

End Sub

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 50

Page 51: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integration Examples Code of VbController.exeA

Private Sub Button_StartConf_Click()EaX.StartConferrence Edit_Conferrence.Text

End Sub

Private Sub Button_StartTrans_Click()EaX.StartTransfer Edit_Transfer.TextEnd Sub

Private Sub Button_TransferToAgent_Click()EaX.TransferToAgent Edit_TransferTyAgendId.Text

End Sub

Private Sub Button_Wrapup_Click()EaX.WpapUp Edit_WrapupCode.Text

End Sub

Private Sub EaX_OnCleared(ByVal callid As Long)AddToLog "Cleared: " + Str(callid)

End Sub

Private Sub EaX_OnConnected(ByVal callid As Long)AddToLog "Connected: " + Str(callid)

End Sub

Private Sub EaX_OnHeld(ByVal callid As Long)AddToLog "Held:" + Str(callid)

End Sub

Private Sub EaX_OnIncoming(ByVal callid As Long)AddToLog "Incoming: " + Str(callid)

End Sub

Private Sub EaX_OnLoggedIn(ByVal group As String)AddToLog "LoggedIn " + group

End Sub

Private Sub EaX_OnLoggedOut(ByVal group As String)AddToLog "LoggedOut " + group

End Sub

Private Sub EaX_OnReady()AddToLog "Ready "

End Sub

Private Sub EaX_OnReleased()AddToLog "Released"

End Sub

Private Sub EaX_OnResumed()AddToLog "Resumed"

End Sub

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 51

Page 52: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Integration Examples The Control PanelA

Private Sub EaX_OnRetrieved(ByVal callid As Long)AddToLog "Retrieved " + Str(callid)

End Sub

Private Sub EaX_OnWrapUp()AddToLog "WrapUp"

End Sub

Private Sub EaX_Started()AddToLog "Started"

End Sub

Private Sub EaX_Stopped()AddToLog "Stopped"

End Sub

Private Sub Form_Load()EaX.Init "Temp"

End Sub

The Control Panel

The Control panel may appear as shown in the following figure.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 52

Page 53: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

APPENDIX

B. ActiveX API Quick Reference

ECC includes a set of APIs that lets a customer build custom ActiveX interfaces. The lists in this appendix are a list of included ActiveX functions and included ActiveX events.

Refer to the following section for API function reference:

Functions................................................................................................................... 53

Functions

HRESULT AgentReady(); HRESULT Alternate(); HRESULT Answer(); HRESULT CallProfile(BSTR cpname, [in] BSTR newVal); // Set a CP HRESULT CallProfile(BSTR cpname, [out, retval] BSTR *pVal); // Get a CP HRESULT CallProfileByCID(long cid, BSTR cpname, [out, retval] BSTR *pVal); HRESULT CallStatusString(long ecccid, BSTR altcid,BSTR *pVal);HRESULT CloseAgentBoard(); HRESULT CompleteConference(); HRESULT CompleteTransfer(); HRESULT Divert(BSTR dest); HRESULT ExecProc(BSTR path,BSTR directory); HRESULT ExtendWrapUp(); HRESULT HangUp(); HRESULT HeldCallsCount([out, retval] long *pVal); HRESULT Help(); HRESULT Hold();

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 53

Page 54: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

ActiveX API Quick Reference FunctionsB

HRESULT Init(BSTR name); HRESULT IsInEmailState([out, retval] BOOL *pVal); HRESULT IsLoggedIn(BSTR group, [out, retval] BOOL *pVal); HRESULT IsPhoneBusy([out, retval] BOOL *pVal); HRESULT IsReleased([out, retval] BOOL *pVal); HRESULT IsSystemAvailable([out, retval] BOOL *pVal); HRESULT IsSupervisorApplicationEnabled(BSTR ECC_APPLICATION_TYPE application, [retval][out] BOOL *pVal);HRESULT IsWrapUP([out, retval] BOOL *pVal);HRESULT LoginGroup(BSTR group); HRESULT LoginPrimaryGroups(); HRESULT LogoutFromAgentGroup(logout_type); HRESULT LogoutFromGroup(BSTR group); HRESULT LogOutFromPrimaryGroups(); HRESULT MakeCall(BSTR dest); HRESULT OpenAgentBoard(); HRESULT OpenCallsLog(); HRESULT OpenCallsStatus(); HRESULT OpenLoginGroupManager(); HRESULT Reconnect(); HRESULT ReinsertCBBusy(); HRESULT ReinsertCBNoAnswer(); HRESULT ReinsertCBTerminate(); HRESULT ReleaseAgent(); HRESULT ReleaseAgentWithCode(BSTR code); HRESULT ResumeAgent(); HRESULT Retrieve(); HRESULT RingTone(ECC_SOUNDTYPE rt_type, BSTR *pVal);HRESULT RouteMoreEmails(); HRESULT SendCallToAgentQueue(long cid);HRESULT SetCallProfile(BSTR cpname, BSTR newVal);HRESULT SetInFocusCall();HRESULT SetRingTone(ECC_SOUNDTYPE rt_type, BSTR fileName);HRESULT SingleStepTransfer(BSTR dest); HRESULT StartConferrence(BSTR dest); HRESULT StartEa(BSTR aid,BSTR pwd); HRESULT StartEaEx(BSTR aid,BSTR pwd,BSTR ext,BSTR email,BSTR email_pwd); HRESULT StartTransfer(BSTR dest); HRESULT StopEa(); HRESULT ToggleEmailState(); HRESULT TransferToAgent(BSTR aid); HRESULT Version([out, retval] BSTR *pVal); HRESULT WpapUp(BSTR code); HRESULT WrapUp(BSTR code); HRESULT Denied(long cause); HRESULT OnCleared(long callid); HRESULT OnConferenced(long callid); HRESULT OnConnected(long callid, long Calltyp, BSTR DNIS, BSTR ANI, BSTR Service, long Priority, BSTR ACD_Time_In); HRESULT OnFailed(long cause);

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 54

Page 55: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

ActiveX API Quick Reference FunctionsB

HRESULT OnHeld(long callid); HRESULT OnIncoming(long callid,long Calltyp, BSTR DNIS, BSTR ANI, BSTR Service, long Priority, BSTR ACD_Time_In); HRESULT OnLoggedIn(BSTR group); HRESULT OnLoggedOut(BSTR group); HRESULT OnReady(); HRESULT OnReleased(); HRESULT OnReleasedCodeEntered(%release_code); HRESULT OnReserved(long callid); HRESULT OnResumed(); HRESULT OnRetrieved(long callid); HRESULT OnShowMessage(ECC_MESSAGEID msg_id, BSTR msg_text);HRESULT OnSystemAvailable(bool sys_on); HRESULT OnUpdateCallStatusString(long callid, BSTR AlternativeCID, ECC_CALLTYPE Calltyp, BSTR msg_text);HRESULT OnWrapUp(); HRESULT OnWrapUpCodeEntered(%wrapup_code); HRESULT Restarted(); HRESULT Started(); HRESULT Stopped();

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 55

Page 56: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

APPENDIX

C. Supported SQL Syntax

This section describes the SQL syntax statements supported by the ShoreTel Enterprise Contact Center Solution.

Refer to the following sections for more information about supported SQL syntax:

All Simple Statements ............................................................................................... 56

Statements with Computed Fields............................................................................. 57

Joint Statements........................................................................................................ 57

Nested Statements.................................................................................................... 57

Scripts ....................................................................................................................... 57

SQL Syntax Format Limitations ................................................................................ 58

All Simple Statements

The following is an example of a simple SQL statement.

Select field1, field2, field3 from table1 where field1 = value Update table1 set field2=value where field1 = valueInsert into table1 values ( field1, field2, field3 )Delete from table1 where field1 = value

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 56

Page 57: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Supported SQL Syntax Statements with Computed FieldsC

Statements with Computed Fields

The following is an example of a SQL statement with computed fields.

Select field1, fieldx*2 as field2, field3 from table1 where field1 = value

Joint Statements

The following is an example of joint SQL statements.

Select field1, field2 from table1, table2 where table1.id1 = table2.id2 and field1 > 0Select field1, field2 from table1 left join table2 on table1.id1 = table2.id2 where field1 > 0Select field1, field2 from table1 inner join table2 on table1.id1 = table2.id2 where field1 > 0

Nested Statements

The following is an example of nested SQL statements.

Select field1 from table1 where id1 in ( select id2 from table2 )Update table1 set field1 = value1 where id1 in ( select id2 from table2 )Delete from table1 where id1 in ( select id2 from table2 )

Scripts

The following is an example of a SQL statement with scripts.

Declare @value1 intDeclare @value2 intSet @value1 = 5Select @value2 = field2 from table1 where field1 = @value1

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 57

Page 58: ShoreTel Contact Center 8 Applications Interface Guidecomm3.net/sites/default/files/UserGuides/ShoreTel/Contact Center... · 1 Integrating with a Customer Database Call Profile Fields

Supported SQL Syntax SQL Syntax Format LimitationsC

SQL Syntax Format Limitations

The following SQL syntax format restrictions apply to the ShoreTel Enterprise Contact Center Solution.

ECC supports only certain data types for write operations to an external database. For example, when the system writes the ANI to a database for routing purposes, the column must use VARCHAR—it cannot use NVARCHAR.

In a field that accepts only select statements, any statement that does not start with select does not work.

The outcome of complex scripts that include more than one basic statement usually depends on the ODBC driver of the database.

For database integration to succeed, music on hold (MOH) must be configured. During the execution of an SQL operation, the system plays the default hold music until it receives a result from the database. If the MOH is not specified, the system disconnects the caller. Specify MOH in System > Misc.

ShoreTel recommends customers work with ShoreTel professional services or implementation services for scripting a database or dial list to ensure that the scripts meet the requirements of the customer.

ShoreTel Enterprise Contact Center ShoreTel Contact Center Applications Interface Guide 58


Recommended