0% found this document useful (0 votes)
170 views418 pages

Avaya Interaction Center Release 7.3 Telephony Connectors Programmer Guide

Uploaded by

Rodrigo Mahon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
170 views418 pages

Avaya Interaction Center Release 7.3 Telephony Connectors Programmer Guide

Uploaded by

Rodrigo Mahon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 418

Avaya Interaction Center

Release 7.3
Telephony Connectors Programmer
Guide

March 2012
© 2012 Avaya Inc. All Rights Reserved. Trademarks
Avaya and the Avaya logo are either registered trademarks or trademarks of
Notice
Avaya Inc. in the United States of America and/or other jurisdictions.
While reasonable efforts were made to ensure that the information in this
All other trademarks are the property of their respective owners.
document was complete and accurate at the time of printing, Avaya Inc. can
assume no liability for any errors. Changes and corrections to the information Downloading documents
in this document might be incorporated in future releases.
For the most current versions of documentation, see the Avaya Support Web
Documentation disclaimer site:
Avaya Inc. is not responsible for any modifications, additions, or deletions to http://www.avaya.com/support
the original published version of this documentation unless such modifications,
Avaya support
additions, or deletions were performed by Avaya. Customer and/or End User
agree to indemnify and hold harmless Avaya, Avaya's agents, servants and Avaya provides a telephone number for you to use to report problems or to ask
employees against all claims, lawsuits, demands and judgments arising out of, questions about your product. The support telephone number
or in connection with, subsequent modifications, additions or deletions to this is 1-800-242-2121 in the United States. For additional support telephone
documentation to the extent made by the Customer or End User. numbers, see the Avaya Support Web site:
http://www.avaya.com/support
Link disclaimer
Avaya Inc. is not responsible for the contents or reliability of any linked Web
sites referenced elsewhere within this documentation, and Avaya does not
necessarily endorse the products, services, or information described or offered
within them. We cannot guarantee that these links will work all the time and we
have no control over the availability of the linked pages.

Warranty
Avaya Inc. provides a limited warranty on this product. Refer to your sales
agreement to establish the terms of the limited warranty. In addition, Avaya’s
standard warranty language, as well as information regarding support for this
product, while under warranty, is available through the Avaya Support Web
site:
http://www.avaya.com/support

License
USE OR INSTALLATION OF THE PRODUCT INDICATES THE END USER'S
ACCEPTANCE OF THE TERMS SET FORTH HEREIN AND THE GENERAL
LICENSE TERMS AVAILABLE ON THE AVAYA WEB SITE
http://support.avaya.com/LicenseInfo/ ("GENERAL LICENSE TERMS"). IF
YOU DO NOT WISH TO BE BOUND BY THESE TERMS, YOU MUST
RETURN THE PRODUCT(S) TO THE POINT OF PURCHASE WITHIN TEN
(10) DAYS OF DELIVERY FOR A REFUND OR CREDIT.
Avaya grants End User a license within the scope of the license types
described below. The applicable number of licenses and units of capacity for
which the license is granted will be one (1), unless a different number of
licenses or units of capacity is specified in the Documentation or other
materials available to End User. "Designated Processor" means a single
stand-alone computing device. "Server" means a Designated Processor that
hosts a software application to be accessed by multiple users. "Software"
means the computer programs in object code, originally licensed by Avaya and
ultimately utilized by End User, whether as stand-alone Products or
pre-installed on Hardware. "Hardware" means the standard hardware
Products, originally sold by Avaya and ultimately utilized by End User.

License type(s)

Copyright
Except where expressly stated otherwise, the Product is protected by copyright
and other laws respecting proprietary rights. Unauthorized reproduction,
transfer, and or use can be a criminal, as well as a civil, offense under the
applicable law.

Third-party components
Certain software programs or portions thereof included in the Product may
contain software distributed under third party agreements ("Third Party
Components"), which may contain terms that expand or limit rights to use
certain portions of the Product ("Third Party Terms"). Information identifying
Third Party Components and the Third Party Terms that apply to them is
available on the Avaya Support Web site:
http://support.avaya.com/ThirdPartyLicense/

Preventing toll fraud


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

Avaya fraud intervention


If you suspect that you are being victimized by toll fraud and you need technical
assistance or support, call Technical Service Center Toll Fraud Intervention
Hotline at +1-800-643-2353 for the United States and Canada. For additional
support telephone numbers, see the Avaya Support Web site:
http://www.avaya.com/support
Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Purpose. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Related documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
The Telephony Connector server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
The Telephony Server Queue Statistics server . . . . . . . . . . . . . . . . . . . . . . 16
How this book is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Terminology and Acronyms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Example call flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Chapter 2: Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configuration considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Supported switches and protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chapter 3: Call Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


Host-based Call Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Avaya Communication Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Route request/responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Route end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Link failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
TS assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
IC 6.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Business Advocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Voice call flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Video call flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Route request/responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Link failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
TS assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Business Advocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Aspect CallCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Call Control Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Telephony Connectors Programmer Guide March 2012 3


Route request/responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Route end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Link failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
TS assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Business Advocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Cisco Unified Contact Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Route request/responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Route end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Link failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
TS assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Chapter 4: Telephony Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


Before configuring servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Avaya Communication Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Hardphone vs. softphone capabilities . . . . . . . . . . . . . . . . . . . . . . . . . 53
Telephony server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Configuration tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Agent configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Preset States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Agent events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Prerequisites for agent events . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
SIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Supported SBCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Supported SIP phones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Supported telephones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Call Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Handle incoming calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Park incoming calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Deliver incoming calls to available agents . . . . . . . . . . . . . . . . . . . . . 70
Originate outgoing calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4 Telephony Connectors Programmer Guide March 2012


Put incoming calls on hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Transfer incoming calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
RONA incoming calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Agent After Call Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Conference incoming calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Video support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Configuration considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Implementation checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Security certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Avaya Communication Manager . . . . . . . . . . . . . . . . . . . . . . . . . . 78
SIP Enablement Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Interaction Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Conference calling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
IVR integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Mixed SIP and Traditional Telephony server environment . . . . . . . . . . . . . . 107
Mixed environment of SIP TS only . . . . . . . . . . . . . . . . . . . . . . . . . 107
Mixed environment of Traditional TS and SIP TS . . . . . . . . . . . . . . . . . 108
Frequently Asked Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Aspect CallCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Software prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Hardphone vs. softphone capabilities . . . . . . . . . . . . . . . . . . . . . . . . . 112
Telephony server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Configuration tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
IC Workflow considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Basic Properties tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Advanced Properties tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Cisco Unified Contact Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Software prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Hardphone vs. softphone capabilities . . . . . . . . . . . . . . . . . . . . . . . . . 124
Telephony server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Configuration tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Chapter 5: Queue Statistics Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131


Before configuring servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Avaya Communication Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Queue Statistics server configuration . . . . . . . . . . . . . . . . . . . . . . . . . 134

Telephony Connectors Programmer Guide March 2012 5


Aspect CallCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Software prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Queue Statistics server configuration . . . . . . . . . . . . . . . . . . . . . . . . . 137
TSQS considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Transferring calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Cisco Unified Contact Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Supported platforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Software prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Queue Statistics server configuration . . . . . . . . . . . . . . . . . . . . . . . . . 144
TSQS considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Chapter 6: Multi Site Heterogeneous Switch . . . . . . . . . . . . . . . . . . . . . . . . . 147


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Network transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Functional unit descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Destination resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Agent ADU elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Queue ADU elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Multiple ways to interconnect sites . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Network transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Bypassing MSHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Multiple ANI per site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
TS grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Call interflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
User interface or external API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Configuring multi site heterogeneous switches. . . . . . . . . . . . . . . . . . . . . . 159
Prerequisites for MSHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Creating TS groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Configuring MSHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Setting advanced properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Chapter 7: Telephony Server API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169


Method Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
TS.AnswerVDU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
TS.Assign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
TS.Busy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
TS.BusyWithReason. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
TS.ConferenceCancelVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

6 Telephony Connectors Programmer Guide March 2012


TS.ConferenceCompleteVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
TS.ConferenceInitVDU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
TS.ConferenceInitExVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
TS.CreateQueueADU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
TS.Deassign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
TS.Divert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
TS.DropVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
TS.GenericUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
TS.GetPBXTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
TS.GetPhoneInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
TS.GetQueueInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
TS.GetStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
TS.HangupVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
TS.HangupExVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
TS.HeteroSwitchHandoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
TS.HoldReconnectVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
TS.HoldVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
TS.Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
TS.Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
TS.LogoutWithReason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
TS.MakeBusy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
TS.MakeBusyTerminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
TS.MakeCallSetVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
TS.MakeCallExSetVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
TS.MakeCallVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
TS.MakeCallExVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
TS.PropertyUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
TS.Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
TS.ReadyAuto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
TS.ReceiveData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
TS.ResetPhone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
TS.Rona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
TS.Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
TS.RouteEx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
TS.RouteWithInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
TS.RouteWithInfoEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
TS.SelectiveDisconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
TS.SelectiveReconnectVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
TS.SendDTMFtonesVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
TS.SetContactState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
TS.SingleStepConferenceVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Telephony Connectors Programmer Guide March 2012 7


TS.StartTimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
TS.SwapHeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
TS.TransferCancelVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
TS.TransferCompleteVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
TS.TransferInitVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
TS.TransferInitExVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
TS.TransferVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
TS.TransferExVDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
TS.Unpark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
TS.UnparkEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
TS.WrapUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
TS.WrapUpComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Obsolete Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Chapter 8: Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Voice contact containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
EDU elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
EDU containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Advocate qualifiers in the EDU container . . . . . . . . . . . . . . . . . . . . . . . 262
Initial Contact Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Initial Contact Route Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Transfer Calls to Service Class . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Abandoned Calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Flow Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Adapter Server Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Reporting from EDU containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Switch support for EDU containers . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Agent containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Agent container example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
ADU containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Switch support for ADU containers . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Reporting from an agent container . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Queue ADU fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Service Class Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Service Class Summary record . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Service Class State record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
sc<scid> format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Service Class Detail record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
ADU fields for statistical reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

8 Telephony Connectors Programmer Guide March 2012


ADU fields for MSHS support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Container implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Interaction Center 6.0.1 and subsequent releases . . . . . . . . . . . . . . . . . . 293
Call scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Route point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Simple call scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Call at a queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Call at an agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Abandoned call scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Abandoned in queue scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Abandoned on hold scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Abandoned while ringing scenario . . . . . . . . . . . . . . . . . . . . . . . . . 302
Transfer call scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Call at agent 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Transfer to agent 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Conference call scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Call at agent 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Conference with agent 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Consultative cancel scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Call at agent 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Consultation cancelled during ring with agent 2 . . . . . . . . . . . . . . . . . 314
Consultation cancelled after agent 2 answered . . . . . . . . . . . . . . . . . . 315

Chapter 9: Telephony Server Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317


Event descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
TS.Abandoned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
TS.AgentOtherWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
TS.AuxWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
TS.Busy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
TS.Conference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
TS.Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
TS.Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
TS.Diverted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
TS.Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
TS.Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
TS.HoldReconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
TS.IncomingCall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
TS.Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
TS.Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
TS.ObserverConnected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

Telephony Connectors Programmer Guide March 2012 9


TS.ObserverDropped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
TS.Queued . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
TS.Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
TS.Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
TS.Rona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
TS.SelectiveDisconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
TS.SelectiveReconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
TS.SendData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
TS.SessionFailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
TS.ServerFailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
TS.Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
TS.Wrapup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

Chapter 10: Telephony Server Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335


Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

Chapter 11: Generic Call Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363


Route call. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Inbound call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Outbound call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Busy destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Blind transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Consultative transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Internal call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

Chapter 12: Supported Switch Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 373


Avaya Communication Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Aspect CallCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Cisco Unified Contact Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Limitations on normalizing switch features . . . . . . . . . . . . . . . . . . . . . . . . 390
Supported methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

Chapter 13: Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395


Abandoned call time calculated incorrectly . . . . . . . . . . . . . . . . . . . . . . . . 397
ADN calls not displayed on the desktop . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Avaya Agent does not respond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Agent becomes unavailable on reconnect . . . . . . . . . . . . . . . . . . . . . . . . . 398
Agent cannot reconnect a consult call . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Calls cannot be answered on the hardphone . . . . . . . . . . . . . . . . . . . . . . . 399

10 Telephony Connectors Programmer Guide March 2012


Calls dropped using IVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Calls not delivered to agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Conferencing agent not put in wrapup . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Connectivity between SES and CM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Contact count automatically not set after server failure . . . . . . . . . . . . . . . . . 401
CTI Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Event Lock Expired Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Hold button on an agent phone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
IC logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Link up alarm does not come up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Making calls while in a customer call . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Request for DS.GetViewRecords Fails . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Second conference allowed too soon . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Server selection with TS Groups and TS Sets . . . . . . . . . . . . . . . . . . . . . . . 404
Softphone does not indicate new call . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Talk time and wrap time exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Thread fatal error in script (flow), routing flow fails . . . . . . . . . . . . . . . . . . . . 405
Transition from VDUSatisfied to Receive is missing . . . . . . . . . . . . . . . . . . . 405
TS entering times for containers that are before EDUID create times . . . . . . . . . . 406
TSQS incorrectly increments ServiceLevelMiss value . . . . . . . . . . . . . . . . . . 406
Two EDUIDs created for the same call . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
UUI container information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Wrapup duration not reported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

Telephony Connectors Programmer Guide March 2012 11


12 Telephony Connectors Programmer Guide March 2012
Preface

This section contains the following topics:


● Purpose on page 13
● Audience on page 13
● Related documents on page 14

Purpose
The purpose of this guide is to provide detailed information about Avaya Interaction Center 7.3.
This guide describes the Avaya Telephony Connector server.

Audience
This guide is intended primarily for those who use Avaya Interaction Center. You should use
this guide as an information source for programming and changing the configuration of your
Telephony Connector server
The audience for this manual includes:
● Application consultants
● Integration consultants
● BusinessPartners
● Customers

Telephony Connectors Programmer Guide March 2012 13


Related documents
The following IC documents are related to IC Telephony Connectors Programmer Guide:
● Agent Data Unit Server Programmer Guide
● Core Services Programmer Guide
● Electronic Data Unit Server Programmer Guide
● IC Administration Volume 1: Servers & Domains
● IC Installation and Configuration

14 Telephony Connectors Programmer Guide March 2012


Chapter 1: Introduction

Computer Telephony Integration (CTI) is the technology that applies computer intelligence to
telecommunications devices by integrating telephone hardware (PBXs, IVRs, and ACDs) with
computers and software. The Telephony Connector server is the heart of the Avaya Computer
Telephony Integration solution.
This section includes the following topics:
● The Telephony Connector server on page 16
● The Telephony Server Queue Statistics server on page 16
● How this book is organized on page 17
● Terminology and Acronyms on page 17
● Example call flow on page 22

Telephony Connectors Programmer Guide March 2012 15


The Telephony Connector server
The Telephony Connector server is commonly referred to as the Avaya Telephony server or
Avaya TS (TS). It is the Avaya server software responsible for linking Avaya Interaction Center
(Avaya IC) to CTI products; such as private branch exchange (PBX) systems, automatic call
distribution (ACD) systems, and interactive voice response (IVR) units.
Using the Avaya TS, other servers and clients in Avaya IC request telephony services (such as
transfer a call, route a call, or hang up a call) by invoking Avaya TS methods. These servers
and clients also assign to the Avaya TS to receive telephone-related events (for example, “there
is a call from customer 999-1111”).
The Avaya TS separates client applications from the telephone switch (ACD) and its interface
by encapsulating switch-specific features. Client applications are then portable across multiple
types of switches, CTI links, and other types of telephony interfaces, such as Integrated
Services Digital Network (ISDN).
Multiple Avaya TSes can be implemented for redundancy to enable transparent failover in the
events of a Telephony server failure. Failover rules for redundancy may differ for IC systems
operating in Advocate mode as opposed to non Advocate mode. For more information on
server failover on Avaya IC, refer to IC Administration Volume 1: Servers & Domains.
For more information on the TS, refer to Telephony Server on page 51

The Telephony Server Queue Statistics server


The Telephony Server Queue Statistics server (TSQS) is the Avaya server that monitors the
voice channel and maintains queue statistics on the Agent Data Unit (ADU) server. When
running on the Avaya Communication Manager switches, the TSQS relies on the Avaya TS to
interact with the switch. On the Aspect CallCenter and Cisco Contact Center, the TSQS
interacts directly with the switch.
Although the TSQS is an independent software server, it is documented is in this guide for
convenience.
For more information on the TSQS, refer to Queue Statistics Server on page 131.

16 Telephony Connectors Programmer Guide March 2012


How this book is organized
This guide is intended for internal and external audiences.
For external users, this book is structured and sequenced according to the other Avaya
Interaction Center (IC) guides, namely, pre-requisites, installation and administration, and
provides cross-references to specific chapters of these documents.
Chapters dedicated to the operation of the server present additional details, such as the data
containers, alarms, events generated by the server, as well as its method calls (API).

Terminology and Acronyms


This section lists and defines some of the terms and acronyms used in the IC Telephony
Connectors Programmer Guide.

Term Definition

ACD Automatic Call Distributor - a device at the contact center that


handles and routes calls to queues and agents. It also provides
information that can be used to determine the operational
efficiency of the contact center.
Adjunct Routing Communication Manager’s nomenclature for a Route Point
ADU Agent Data Unit - a record of an agent’s activities during an
Avaya Agent session.
ADU server Agent Data Unit server - the custodian of ADUs on Avaya IC,
handles current information on all active agents and queues.
ADUID A unique identifying number assigned to the ADU by the ADU
server when it creates the ADU.
ANI Automatic Number Identification - the telephone number of the
telephone from which the call into the contact center originated.
API Application Programming Interface - a group of functions or
methods used by programmers to customize the server.
Avaya CM Avaya Communication Manager - the Avaya PBX/Call Center
Media Servers previously known as MultiVantage software.

Telephony Connectors Programmer Guide March 2012 17


Term Definition

B2BUA Back-To-Back User Agent - a SIP-based logical entity that can


receive and process INVITE messages as a SIP User Agent
Server (UAS).
B2BUA can also act as a SIP User Agent Client (UAC) that
among other functions, initiates SIP INVITE messages to
devices such as park devices, agent phones, and external
numbers.
Unlike a SIP proxy server, the B2BUA maintains complete call
state and participates in all call requests.
Business Advocate Avaya Business Advocate - the Avaya resource management
system
Call Reference ID Call reference ID as assigned by the switch.
CCT Call Control Table - Aspect’s nomenclature for a vector.
CTI OS Computer Telephony Integration Object Server
CVLAN An application that extends the CallVisor® PC API over the LAN.
The CVLAN application allows multiple clients with different
operating systems to access the CVPC API.
DN Directory Number - also Dialable Number
DNIS Dialed Number Identification Service - the number assigned to
the telephone that was dialed by the caller. For example, if the
caller dials 1-800-123-4567, the DNIS is not 1-800-123-4567.
When this call arrives in the PBX, it is assigned a number, called
the DNIS, to identify the telephone number that was dialed. In
this example, the DNIS could be 4567.
DNIS is a service provided by the carriers to help customers
identify the telephone numbers they dialed.
EDU Electronic Data Unit - a record of a caller’s activities during an
Avaya Agent session.
EDU server Electronic Data Unit server - the server that maintains all active
EDUs on all of the media channels on Avaya IC.
EDUID A unique identifying number assigned to the EDU by the EDU
server when it creates the EDU.
ICM (Cisco Unified) Intelligent Contact Management
IPCC IP Contact Center (renamed to Unified Contact Center)
ISDN Integrated Services Digital Network - a system of digital phone
connections which allows data to be transmitted using
end-to-end digital connectivity.

18 Telephony Connectors Programmer Guide March 2012


Term Definition

IVR Interactive Voice Response - device which interacts with callers


using prerecorded messages that prompt callers to select
available options.
Parking Device The switch resource used by Business Advocate to hold calls
until it finds a contact resource to handle the call.
● On the Avaya CM, it is a VDN pointing to a vector which
contains an adjunct routing step.
● On the Aspect CallCenter, it is a CCT.

PBX Private Branch Exchange - private telephone exchange used


within an enterprise and located on the premises.
PSTN Public Switched Telephone Network - typically refers to a local
long distance exchange carrier.
Reserved DN UA Reserved DN User Agent - a SIP user agent residing within the
SipTS that is used for MSHS scenarios. There can be more than
one Reserved DN UA within a single SipTS.
Resource Manager The Avaya IC server that matches contacts to those agents who
are best qualified to handle them. The Resource Manager is
used to support the optional Avaya Business Advocate feature
of Avaya IC.
RONA Redirected on No Answer - a feature on the switch that allows
the switch to redirect a queue call that is not answered by an
agent after a certain number of rings or time.
Route Point Directory Number (DN) on the switch, which requests call
routing instructions from a host application (Avaya TS) outside
the switch.
Route Point UA Route Point User Agent - a SIP user agent residing within the
SipTS that handles inbound calls (INVITEs) to IC. There can be
more than one Route Point UA within a single SipTS.
The Route Point UA is responsible for supporting notification of
inbound calls and for routing the calls to the appropriate
destination (park device or agent endpoint) using the B2BUA of
the SipTS.
SBC Session Border Controller - a device whose primary function is
to provide isolation between public and private networks similar
to a firewall. SBC’s support SIP signaling, multiple network
interfaces, and use a B2BUA to provide the isolation function.
The SBC must support RFC 3515 (REFER) functionality to work
properly with SIP Telephony Server.
SDP Session Description Protocol - format for describing streaming
media initialization parameters.

Telephony Connectors Programmer Guide March 2012 19


Term Definition

Service Class The service class defines a type of interaction work for Business
Advocate using a qualifier set. Each service class is assigned a
goal that is used to measure how quickly contacts in that service
class should be serviced. Each Advocate queue has a
one-to-one mapping with the service class.
SES Avaya SIP Enablement Server - SIP registrar and proxy server.
SIP Session Initiation Protocol - an application-layer control
(signaling) protocol that is used for creating, modifying, and
terminating sessions with one or more participants.
Sessions include Internet telephone calls, multimedia
distribution, and multimedia conferences.
SIP Trunk SIP based interface between SES and CM used to convey SIP
signaling messages. SIP Trunks are needed to support agent
(OPTIM) extensions on the switch.
SIP Trunking The voice channel between the carrier’s voice equipment and IC
voice equipment. SIP Trunks enable IC to create a single, pure
IP connection to carrier clouds.
SipTS SIP Telephony server
TDM Time Division Multiplexing - a method of putting multiple data
streams in a single signal by separating the signal into many
segments, each having a very short duration.
Each individual data stream is reassembled at the receiving end
based on the timing.
TS Avaya Telephony server
TSA Avaya Telephony Server Adapter server - connection point
between the Resource Manager server and the Avaya TS. The
TSA is used to support the optional Avaya Business Advocate
feature of Avaya IC.
TSQS Avaya Telephony Server Queue Statistics server - the server
that monitors the voice channel and keeps current queue
statistics in the ADUID.
UAC User Agent Client - the logical entity within a SIP user agent
(UA) that initiates SIP requests (for example, INVITEs) to
another SIP signaling entity or endpoint.
UAS User Agent Server - the logical entity within a SIP user agent
(UA) that processes SIP requests (for example, INVITEs)
received from another SIP signaling entity.
UCCE Unified Contact Center Enterprise
UCM Unified Communication manager

20 Telephony Connectors Programmer Guide March 2012


Term Definition

URI Uniform Resource Identifier - a compact string of characters


used to identify or name a resource. Used to enable interaction
with representations of the resource over a network, typically the
Internet, using specific protocols.
UUI User to User Information - a field within an ASAI message that
normally contains the EDUID of a call.
VDN Vectored Directory Number (DN) - used on the Avaya CM.
Vector Set of instructions or scripts that are implemented by the switch
to conduct call processing.
Virtual Queue A logical abstraction that represents a number of real queues or
service classes. An agent can pick a virtual queue to transfer a
call to a qualified agent.
VRU Voice Response Unit

Telephony Connectors Programmer Guide March 2012 21


Example call flow
The function of the Avaya TS is illustrated in the following call flow. Please note that call flows
vary, depending on business rules. Additional call flow diagrams are provided in Generic Call
Flows on page 363.

Public
Sw itched
N etw ork

Avaya AC D & IVR 1


and other
Telecom 2
9
H ardw are
AC D IVR

16 7 8 10
3 18 13 14

IC Telephony
System 15 VO X
Avaya TS 6 Server

17 5

4 11
12

ED U
Server
19

20 21

Agent Agent
Phone W orkstation

22 Telephony Connectors Programmer Guide March 2012


Step Description

1 A call arrives at the switch (ACD) from the Public Switched Network.
2 The ACD, in this example, is set up to route calls directly to an Interactive Voice
Response (IVR) unit. The call moves from the ACD to the IVR.
3 The ACD notifies the Avaya TS that it has received a call on a line that the Avaya TS
was previously monitoring.
4 The Avaya TS invokes a method on the EDU server, which instructs the EDU server
to create a new EDU for the call. The method specifies the elements to place into the
EDU (such as ANI and DNIS).
5 The EDU server creates the EDU with the specified elements and sends it to the
Avaya TS.
6 The Avaya TS checks its tables to see which clients or servers previously indicated
an interest in monitoring events on the phone line to which the call was routed. The
Avaya TS discovers that the VOX server is an interested party, so the Avaya TS
sends an incoming call event to the VOX server. The event includes the extension to
which the call was routed and the call’s EDU identifier (EDUID).
7 The IVR notifies the VOX server of the new call. The notification includes the
channel number on which the call arrived.
8 The VOX server associates the IVR channel number with a telephone extension.
The VOX server then matches that extension with the incoming call event received
in Step 6. The EDUID from the incoming call event is then returned to the IVR.
9 The IVR greets and prompts the caller for an account number and collects the digits
entered by the caller via a touch-tone keypad.
10 The IVR instructs the VOX server to place the account number in the EDU as a
name/value pair (for example, “account”, “123456789”).
11 The VOX server translates the IVR request into a CORBA method call to the EDU
server (VDU.SetOneValue).
12 The EDU server stores the value and returns a response to the VOX server
(VDU.SetOneValue.response).
13 The VOX server informs the IVR that its request (see Step 10) has been granted.
14 The IVR invokes a method on the VOX server (VOX.Transfer) to route the call to an
agent queue.
15 The VOX server invokes the Avaya TS Transfer method on behalf of the IVR.
16 The Avaya TS instructs the ACD to transfer the call.
17 The ACD places the call in a queue and transfers it to the next available agent,
whose telephone rings.

Telephony Connectors Programmer Guide March 2012 23


Step Description

18 The ACD notifies the Avaya TS of the transferred call. The Avaya TS keeps track of
which EDUID is associated with the call.
19 The Avaya TS sends an incoming call event (TS.IncomingCall.event) to the client
application assigned to the extension to which the call was transferred. The event
includes the EDUID for the call.
20 The client application uses the EDUID to request an account ID from the EDU server
(VDU.GetOneValue).
21 The EDU server responds to the client application (VDU.GetOneValue.response)
with the requested account ID.

24 Telephony Connectors Programmer Guide March 2012


The following diagram illustrates the same call flow in a different format.

Public
Agent
Switched ACD IVR Avaya TS VOX Server EDU Server Agent Phone
Workstation
Network

10

11

12

13

14

15

16

17

18

19

20

21

Telephony Connectors Programmer Guide March 2012 25


26 Telephony Connectors Programmer Guide March 2012
Chapter 2: Installation

This chapter provides general installation and configuration information for the Avaya Telephony
server (TS). It also provides links to the appropriate sections of this manual or other manuals in
the Avaya IC documentation set for more detailed information.
For more detailed installation and configuration instructions, refer to IC Installation and
Configuration.
This section includes the following topics:
● Configuration considerations on page 28
● Prerequisites on page 29
● Supported switches and protocols on page 29

Telephony Connectors Programmer Guide March 2012 27


Configuration considerations
This section provides general voice channel configuration considerations for Avaya IC. Refer to
IC Installation and Configuration when installing and configuring the voice channel and the other
Avaya IC components, on your system.
● Make sure you configure an ACD name parameter for each ACD (switch) in your Avaya IC
environment. You can include identifying information, such as department or site in the
ACD name. This is done on IC Manager when you add a TS to your system.
● You may need to create voice queues to gather statistics information to provide a literal
translation for an ACD (switch) or to integrate with routing hints. You can also create a
queue for each of the possible route (transfer) points where the Incoming call flow can
route a voice contact.
● During configuration, you can specify the switch for the TS on the machine that hosts the
TS. Specify the switch on the General tab of the Avaya IC Configuration Tool to ensure the
executable file matches the executable name in IC Manager.
● Assigning too many agents to a TS could negatively impact system performance. It is
recommended that you assign no more than 800 agents to each TS in your Avaya IC
environment.
● The TS and TSQS may be slow to start in a system with an large number of queues (over
2,000). Be aware of the potential impact of large number of queues when you plan your
Avaya IC system.

28 Telephony Connectors Programmer Guide March 2012


Prerequisites
The prerequisites for the Avaya Telephony server (Avaya TS) may vary based on system
environment and implementation. Refer to IC Installation Planning and Prerequisites for
information on the prerequisites that apply to your implementation and installation.

Supported switches and protocols


The following table illustrates the switches (ACDs), and protocols used by those switches, that
are supported by the Avaya TS in IC 7.3:

ACD Type ACD Model ACD Protocol

Aspect CallCenter version 8.3, 9.1 via Portal AspectCMI


(not via Event Bridge)
Avaya Avaya Communication Manager 4.x and 5.x ASAI
Cisco Cisco ICM 7.5.1 CTIOS

These switches are supported on various platforms. For more information on supported
platforms and software requirements, refer to IC Installation Planning and Prerequisites.

Telephony Connectors Programmer Guide March 2012 29


30 Telephony Connectors Programmer Guide March 2012
Chapter 3: Call Routing

This chapter describes the implementation of Host-based Call Routing on Avaya IC 7.3.
Host-based Call Routing is the ability of an ACD (switch) client application to dynamically
influence call handling.
This chapter also discusses some of the issues associated with Host-based Call Routing and
offers recommendations on how to setup Avaya IC 7.3 to take full advantage of Host-based Call
Routing features.
This section includes the following topics:
● Host-based Call Routing on page 32
● Avaya Communication Manager on page 33
● SIP on page 41
● Aspect CallCenter on page 45
● Cisco Unified Contact Center on page 48

Telephony Connectors Programmer Guide March 2012 31


Host-based Call Routing
Host-based Call Routing (call routing) lets contact centers distinguish and prioritize voice
contacts. Contact centers can differentiated how to handle their customer to create better
relationships and retain, or increase, their market penetration. Typically, call routing is defined
by a set of instructions, scripted or table driven, defined in the switch and executed when the
call is connected to specific end-points in the switch. The actual mechanism and types of
end-points vary between switch manufacturers, but the concept is the same.
Host-based Call Routing is an ACD feature, which allows a host application, like an ACD client
for CTI operations (the Telephony server on Avaya IC), to determine where a call should be
moved next to dynamically influence prioritization of the various calls arriving at the Call Center.
This determination is based on criteria foreign to the switch, for example, it could be data stored
in a database and linked to a customer via a phone number.
The following two services are available from the Public Switched Telephone Network (PSTN)
to assist in identifying the source and destination of a call:
● Automatic Number Identification (ANI)
● Dialed Number Identification Service (DNIS)
The methodology on how this all happens varies from manufacturer to manufacturer. Therefore,
it is important to understand what is available, and issues behind it, to ensure proper use of the
feature. This chapter presents this information in sections for each of the switches supported in
Avaya IC 7.3.

32 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager
Scripts are stored in vectors on the Avaya Communication Manager switches, and these
vectors are associated with Vector Directory Numbers (VDNs). A route request is initiated when
a vector encounters the command “adjunct routing”. At this point the vector processing stops,
and a route request (C_RT_REQ) is posted to the host application (the TS) associated with the
ASAI station specified in the adjunct route step.
Note:
Note: The Avaya Communication Manager has an adjunct route limit of 2000 calls.
When this limit is exceeded, calls are not dropped, but the Adjunct Route step in
the vector processing falls through to the next Route step fails. There is no way to
detect the cause of the adjunct route failure inside the vector. Nothing returned to
the TS because the adjunct route failed.
This architecture means the TS receives route requests per link extension, not per VDN. The
VDN and vector are simply the “connecting elements” between a call, a link extension, a MAPD
signal, and the client application.
The route request carries a “route id” (on Avaya CM it is an association ID, such as “saoid”),
which is used by the host application (the TS), upon route response (C_RT_SEL), to indicate
which call to route.
The TS keeps track internally of the "route id" for a route request, and associates it with the
EDUID for a given contact. This enables the client application (typically IC Workflow Server) to
specify the EDUID and the destination to which a call is to be routed. The TS performs tasks like
formatting the ASAI route response.
The client application tells the TS where to route the call via TS.Route() request.

Telephony Connectors Programmer Guide March 2012 33


Vectors
Vector scripts for route points use the following layout:
1 wait-time 1 sec hearing ringback
2 adjunct routing link 140
3 wait-time 5 secs hearing ringback
4 route to number 451 with cov n if unconditionally

The vector in this example indicates that the customer will hear ringing for 1 second, then the
switch will post a route request to the TS associated with link 1 (the ASAI station, such as a link
extension). The switch then waits for 5 seconds (wait-time step) for a route response from the
TS.

Route request/responses
In a successful route response, step 4 in the previous example, is not be executed. The call is
routed to a different Directory Number (DN) in the switch, and, if appropriate, scripting continues
from there.
Typically, route requests are used as a placeholders for incoming calls from customers. They
allow the Avaya IC to determine how to best route a call based on available data. Calls are
usually routed within a 4 to 6 second window.
With Avaya Business Advocate (Business Advocate) on Avaya IC, VDNs similar to the one in
the previous example are configured with a wait-time period of 1 hour. This provides Business
Advocate with the flexibility to “store” (or park) a call for longer periods of time, then route the
call to a given agent.

Route end
When the switch moves to step 4, it cancels the original route request post to the TS with a
C_RT_END (a route end). If a route response is not received within the specified time in the
wait-time step, the route is terminated and step 4 is executed. In this case, the switch moves the
call to DN 451, which could be another VDN (a queue, or a route point), an agent, or a station.
For some calls, the logic in Routing Engine may indicate to the TS that no special routing is to
be conducted. For example, the vector continues as if the TS never responded to the route
request. This operation is called "default routing". In the previous script, step 3 is terminated
before 5 seconds and step 4 is executed.

34 Telephony Connectors Programmer Guide March 2012


Link failure
If the Telephony server (host application) fails, the CTI link is severed, and the switch waits 5
seconds before going to step 4 in the previous example. The TS will not receive the route
request in step 2 until the CTI link is re-established, and therefore will not respond. Calls on step
3 are processed from step 4, during the link failure.

TS assignment
TS clients (such as IC Agent, Routing Engine, and TSQS) need to assign with servers in order
to receive events, and to indicate to the TS that an association with the switch should be
created for the given device the client wants to monitor or control.
The switch maintains a one-to-one relationship between the device and the switch association,
one device, one switch association. However, multiple clients can be assigned to the same
device, and the TS will multiplex events/requests/responses appropriately.
Some rules that apply are:
1. Assigned clients cannot have different ADUs.
● Two agents cannot be assigned to the same device.
● However, an agent and a server or an agent and two servers can be assigned to the
same device because servers do not have ADUs.
● The same agent can be assigned to the same device from more than one workstation.
2. Race conditions between applications are not resolved by the TS.
● If two Routing Engines assigned to the same route run into a race condition between
them, the TS will not resolve the race condition.
Note:
Note: Race conditions on resolving a route request do not cause duplicate EDUs, but
they may cause incorrect call handling, and/or application errors.
The only method used by a client to associate for a device is TS.Assign(). To assign for a route
point, the criterion is TS.Assign(“*r40010”), where “40010” is a VDN front-ending a vector, which
is set to post a Route Request via Adjunct Routing step. The Avaya TS allows for a criterion of
“*r*default”, which has special meaning and indicates “all-non-monitored-VDNs”. For more
information, refer to TS.Assign(“*r*default”) on page 36.

Telephony Connectors Programmer Guide March 2012 35


IC 6.x
On Avaya IC 6.1, the ability of the TS to further extend the TS.Assign() criteria and the filtering
mechanism per VDN is built into the TS. The assign method syntax is enhanced and changed
to identify the VDN in which a client application is interested. The TS informs the client
application of a route request arriving on the particular VDN and filters out (and gives to other
client applications if applicable) route requests from other VDNs.
On Avaya IC 6.1, the TS was modified to support multiple assignments to same device. For
example, two Routing Engines could receive route-requests from same VDN. For more
information, refer to Multiple assignments on page 37).

TS.Assign(“*rVDN”)
On Avaya IC 6.1, the syntax used is TS.Assign(“*r4001”), where 4001 is a VDN front ending a
vector in the form presented above.

TS.Assign(“*r*default”)
The departure from TS.Assign(“*r”) had a migration impact on the customer configuration built
around it. In order to allow for some backward compatibility with eContact 5.6, the Avaya IC 6.1
TS provides similar functionality via TS.Assign(“*r*default”).
This method tells the TS to send all of the route requests to all of the VDNs that are not
individually monitored by the associated client application. In a configuration where there are 4
VDNs and one Routing Engine assigned to "*r*default", and another Routing Engine assigned
to a specific VDN, the one assigned to "*r*default" receives route requests for 3 VDNs. All the
other route requests pertain to the individually assigned VDN and, as such, go to the second
Routing Engine.
If a call is routed based on an assign criteria of *r*default, the VDN number is added to the
switch specific field as "route_vdn". This causes this field to be written to the EDU in the
IncomingCall event.
The behavior of the “catch-all-route-requests” device on eContact 5.6, and Avaya IC 6.1, is
similar, but not the same. This is indicated by the assignment criteria. On Avaya IC 6.1, it is
“*r*default”, on eContact 5.6 it is “*r”. It is worth noting that migration issues must be considered
when moving from eContact 5.6 to Avaya IC 6.1.

36 Telephony Connectors Programmer Guide March 2012


Multiple assignments
Since multiple assignments per device are allowed on Avaya IC 7.3, you should be aware of the
implications of double assignments.
There are two possible configurations:
● One Telephony server, two Routing Engines
● Two Telephony servers, two Routing Engines
Typically, these combinations exist to distribute traffic, load, and/or promote redundancy, which
improves crash-recovery and increases system reliability.
One TS – Two Routing Engines
In this scenario, the two Routing Engines are assigned to the same VDN, and receiving route
requests from the same TS.
Without the appropriate coordination between Routing Engines, a race condition is established.
The first Routing Engine to respond to a route request moves the call, while the second Routing
Engine receives a request failure response.
This condition is difficult to diagnose and it places an unnecessary load on the system starting
with the TS, passing through the CTI link, and reaching all the way inside the switch.
Two TSes – Two Routing Engines
In this scenario, the two Routing Engines are assigned to the same VDN, but through different
Telephony servers, and in turn, different CTI links whether it is through same MAPD or not.
Note:
Note: A route request is associated with a link extension as illustrated in the example in
Vectors on page 34. Depending on how the vector is configured, Routing Engines
might never see a request originating from the “cross-domain” VDN. This would
be the case in which an adjunct route step does not exist on a vector to send a
route request to the Routing Engine on the “other domain”.
Having adjunct routes cascaded appears to improve this scenario, but it also has issues.
Examine the following two vectors:
VDN 100 - Vector1 (route point 1)
adjunct routing link 1400
wait-time 5 seconds
adjunct routing link 1401
wait-time 5 second
route to vector 99 unconditionally

VDN 200 - Vector2 (route point 2)


adjunct routing link 1401
wait-time 5 seconds
adjunct routing link 1400
wait-time 5 seconds
route to vector 99 unconditionally

Telephony Connectors Programmer Guide March 2012 37


In this case, with two Telephony servers and two Routing Engines, one could have better link
redundancy. However, a route end due to timeout, on either vector, would cause two EDUs to
be associated with same customer contact. Unfortunately, route ends due to timeout are a
common occurrence, even more so when the system is overloaded and database matches are
slow.
"*r*default”
The TS can contain the following assignment combinations:
● one Routing Engine assigned to “*r*default” – no other “*r” assignment
An eContact 5.6 setting, only one Routing Engine and all route requests are processed by
this single Routing Engine.
● one Routing Engine assigned to “*r*default” – other Routing Engine assigned to “*rVDN”
With Routing Engine1 assigned to “*r*default” and Routing Engine2 assigned to “*r*VDN”,
a RoutingEnginge2 crash causes route requests to “*rVDN” to be posted to workflow1. If
Routing Engine1 is not properly configured to handle calls arriving from this VDN, these
calls might be routed incorrectly.
● two Routing Engines assigned to “*r*default” – no other “*r” assignments
With two Routing Engines assigned to “*r*default”, a race condition is established between
them. The first Routing Engine to respond with TS.Route() moves the call to a new
destination, and the other Routing Engine receives a response indicating failure from the
TS.
● two Routing Engines assigned to “*r*default” – other Routing Engines assigned to “*rVDN”
With Routing Engine1 and Routing Engine2 assigned to “*r*default”, and Routing Engine3
and Routing Engine4 assigned to “*rVDN”, as long as Routing Engines3 and 4 are
running, any discrepancy in behavior, or race conditions is restricted to Routing Engines 1
and 2.

Routing Engines 3 and 4 compete to route on “*rVDN”, which causes the first Routing
Engine to send a TS.Route() request to succeed, and the other to receive a failure.

Therefore, for the most part this behaves like the single “*r*default” and “*rVDN”, except
that a race condition exists on every request, there is more traffic to/from the switch, and a
failure is reported on every second attempt. This condition can put an extra load on an
already busy TS.

38 Telephony Connectors Programmer Guide March 2012


Events
When a call arrives at the adjunct route step in a vector, the switch sends a route request
(C_RT_REQ) to the TS. The TS translates the route request to a TS.IncomingCall event and
delivers it to the client application, which is typically a Routing Engine.
When the TS.IncomingCall.Event reaches the Workflow server, it triggers a flow that instructs
the TS to route the call to another destination via a TS.Route() request. When the TS requests
this work from the switch, and an ACK is received confirming the call was processed, the TS
issues a TS.Divert.Event informing the Routing Engine that the call left the route point and was
delivered to the destination indicated in the TS.Route().
Immediately after a TS.Divert.Event, the TS issues a TS.Disconnect.event, which informs the
Routing Engine the call is no longer at the adjunct route step.
If the Routing Engine does not respond in a timely fashion, the route request will timeout, and
the switch will send a route end (C_RT_END) to the TS. The TS converts the route end into a
TS.Divert.Event. The difference between this event and the event created during the
TS.Route() is that, in the case of a timeout, the TS does not know the final destination for this
call, so the TS.Divert.Event informs a divert took place, but does not carry the destination of the
call.

Event Comment

TS.IncomingCall.Event Route Request posted from PBX to TS.


TS.Divert.Event Call got routed or timed out while in route
point.
TS.Abandoned.Event Call got terminated by far end while in route
point
TS.Disconnect.Event Indicator that call is no longer associated
with route point.

Telephony Connectors Programmer Guide March 2012 39


Business Advocate
On Avaya Business Advocate (Business Advocate), the Telephony Server Adapter (TSA)
assigns to the TS using the following criteria:
● ‘*r” (route point)
● “*w” (wait device, a.k.a., parking device)
● "*wt" (wait device and a RONA destination device)
Note:
Note: Only one assignment of the "*wt" type is supported by IC.
These criteria are implemented via Adjunct Routing and care should be taken when
implementing hybrid systems with Business Advocate and non-Business Advocate
environments.
Since Business Advocate parking devices are implemented via Adjunct Routing, factoring in a
Routing Engine using “*r*default” might be convoluted and subject to failures due to switch
configuration changes. This may not present a problem on small systems, but will become a
burden in large environments with large number of parking devices. More detailed information
about Avaya Business Advocate is provided in IC Business Advocate Configuration and
Administration.

Recommendations
Some recommendations for proper usage of “*r*default” are:
● Do not assign more than one Routing Engine to “*r*default”.
● Do not assign more than one Routing Engine to the same “*rVDN” number.
● Plan and document how to make “*r*default” and “*rVDN” work together.
● When using Business Advocate, consider a dedicated link extension/signal and TS to
handle Business Advocate traffic. Avoid using “*r*default” on this link.
● Routing Engines assigning for “*r*default” will typically have flows (scripts) designed to
handle a set of VDNs. Take care when designing these flows, so that route requests
arriving from “unexpected” VDNs (VDNs outside the interested set) are properly handled
and calls are not dropped or incorrectly routed.
● When configuring a voice device for the TSQS in IC Manager, make sure you use a queue
number with *vm as the entity to which to issue the TS.Assign. If you mistakenly enter a
routing point, the TSQS thinks that routing point is a queue. This creates confusion when a
call arrives after the Workflow server has issued a *r*default request for all route points.
The TSQS thinks the call is in queue and the Workflow treats it like a routing point.

40 Telephony Connectors Programmer Guide March 2012


SIP
This section describes how a SIP call is handled in IC 7.3.

Step Description

0 Registration process takes place. The Route Point UAs, Reserved DN UAs and
B2BUA register with the SES server first. This tells SES where to send the signaling
for those extensions.
1 A call arrives at the Session Border Controller (SBC) and a subsequent INVITE is
sent by the SBC to the UA that is monitoring the incoming route point. This UA is a
software only UA and resides on the SipTS.
Avaya Communication Manager (CM) is the SBC for voice only contact centers.
The third party SBC is used for video contact centers.
2 A new Incoming Call event is sent which causes a resource request to be sent to the
Business Advocate Resource Manager (RM) via the Telephony Server Adapter
server (TSA).
3 The destination address is sent to the SipTS in a route request. In response, the
SipTS moves the call to the destination address.
4 The call is answered by the Route Point UA. A REFER sequence is generated that
moves the call from the UA of the incoming route point to the UAS side of the B2B
for the destination address.
5 The B2B invites, via the UAC, the destination of the call. The destination can be a
park device (auto-answer) or an Agent SIP phone.
6 When connected, the audio RTP stream runs between the agent phone and the
SBC’s representation of the customer’s call but the call signaling goes through the
B2B. This allows the SipTS to monitor the call.
7 The softphone buttons on the Agent desktop can be used control the call as normal.

Telephony Connectors Programmer Guide March 2012 41


Voice call flow
For voice calls, the Communication Manager acts as the Session Border Controller. The
following diagram illustrates a voice call flow on SIP Telephony Server:
Customer
Telephone CM SES SipTS

B2B UA

Register
Invite

Refer (with User-to-User)

B2B

Invite (with User-to-User) UAS

Invite Invite UAC

Register

Agent
Telephone

42 Telephony Connectors Programmer Guide March 2012


Video call flow
Video calls use a video Session Border Controller, not Communication Manager.The following
diagram illustrates a video call flow on SIP Telephony Server:

V id e o C u s to m e r

S IP N e tw o r k
In v ite w / V id e o S D P

SBC SES S ip T S

B2B UA

R e g i s te r
In v ite w / V id e o S D P

R e fe r (w ith U s e r -to -U s e r )

B2B

In v ite (w ith U s e r -to -U s e r )


W / V id e o S D P UAS

In v ite w /V id e o S D P UAC

R e g i s te r

V id e o A g e n t
( N O N-O P T I M
E x t e n s io n )

Route request/responses
The SIP INVITE message coming to SES through SBC is treated as a Route request. Route
response is issued via TS.Route() request.

Link failure
In the event of a link failure between SIP TS and SES, all the calls entering the system will fail.

Telephony Connectors Programmer Guide March 2012 43


TS assignment
On SIP TS, you must indicate individual Route Points to monitor. The only syntax available is
TS.Assign(“*rRoutePoint”). SIP TS does not support the “*r*default” assignment criteria.

Events
When a SIP INVITE message arrives at the route point, SIP TS considers this as a route
request, translates it to a TS.IncomingCall event and delivers it to the client application (TSA).
When the TS.IncomingCall Event reaches the TSA server, it instructs the TS to route the call to
another destination via a TS.Route() request after getting route destination from Business
Advocate. After successfully processing the route request, it issues a TS.Divert.Event informing
the TSA that the call left the route point and was delivered to the destination indicated in the
TS.Route().
Immediately after a TS.Divert.Event, the TS issues a TS.Disconnect.event, which informs the
TSA that the call is no longer at the route point.

Event Comment

TS.IncomingCall.Event SIP INVITE message came to route point.


TS.Divert.Event Call got routed from the route point to
destination.
TS.Abandoned.Event Call got terminated by far end while in route
point
TS.Disconnect.Event Indicator that call is no longer associated
with route point.

44 Telephony Connectors Programmer Guide March 2012


Business Advocate
On Avaya Business Advocate (Business Advocate), the Telephony Server Adapter (TSA)
assigns to the TS using the following criteria:
● ‘*r” (route point)
● “*w” (wait device, a.k.a., parking device)
● "*wt" (wait device and a RONA destination device)
Note:
Note: Only one assignment of the "*wt" type is supported by IC.
More detailed information about Avaya Business Advocate is provided in IC Business Advocate
Configuration and Administration.

Recommendations
There are no special recommendations for the SIP Telephony Server.

Aspect CallCenter
The Aspect CallCenter 8.3 and 9.1 are supported on Avaya IC 7.3. This switch has similar
behavior the Avaya Communication Manager, but because the Aspect switch has a set of 6
variables associated with the call and Call Control Tables (CCTs) that can act based on these
variables, the implementation of route points is different than that used for the Avaya
Communication Manager.
The set of variables on a call are:
● subtype
● data_a
● data_b
● data_c
● data_d
● data_e
Subtype is type string and 12 bytes long. Data_e is type string and 40 bytes long. All of the
variables are read/write, except subtype, which is set by the CCT, and cannot be directly
modified by the TS.

Telephony Connectors Programmer Guide March 2012 45


The EDUID is associated with the call by storing it with data_e. In spite of the fact that CCTs can
manipulate data_e, it should not be done.
The TS no longer puts the ANI in the data_a field and the DNIS in the data_b field of the 401
message to Aspect. The ANI and DNIS now come in on the 401 message as ET_ANI and
ET_DNIS respectively, and are placed in anidigits and dnisdigits.

Call Control Table


In order to implement Route Points, CCTs must be coded with SEND DATA and RECEIVE
DATA steps. The SEND DATA step passes a CIM message to the TS. The TS examines field
“subtype” and if there is an assigned client for the value in the “subtype” field, a
TS.IncomingCall.Event is posted. The TS treats this as a route request.
After the SEND DATA step, the CCT steps into a RECEIVE DATA where it remains until timeout
(usually 15 minutes per RECEIVE DATA), or until a 601 message is passed from the TS.
Upon receiving the Routing Engine response, the TS.Route() request is translated into a 601
message, which satisfies the RECEIVE DATA, and the call is routed in accordance to
instructions in the 601 message.

Route request/responses
The Aspect CallCenter does not have a concept for a device associated with a route point, so
the TS implements one using the “subtype” field.
The route response is issued via TS.Route() request, similar to Avaya Communication
Manager.
Note:
Note: The Aspect CallCenter has another method, which can be used to respond to a
route request: TS.ReceiveData(). This method overrides all variables associated
with a call. It exists to extend to the client switch features.

Route end
Route ends occur due to timeouts, abandonment, or link failure. The CCT should be coded so
calls are default routed and treated by the contact center in some fashion (usually a direct
queuing to an agent pool).

46 Telephony Connectors Programmer Guide March 2012


Link failure
The CCT is not informed about a host application failure on a RECEIVE DATA step. As a
consequence, calls do not continue CCT processing via “ON ERROR” code path and remain in
the RECEIVE DATA step until timeout.
This would allow definition, at the CCT level, on how to behave in case of link failure. The
behavior is usually to queue calls to an agent pool.

TS assignment
The assignment for a route point on the Aspect CallCenter is somewhat different than on the
Avaya Communication Manager because rather than a DN to assign to, there is a “subtype”,
which is of type string.
The command becomes TS.Assign(“*rR001”), where “R001” is a subtype in an incoming CCT.
The issues with Avaya IC 7.3 assignments are similar to those on the Avaya Communication
Manager, except the Aspect CallCenter does not support the “*r*default” assignment.

Events
The Aspect CallCenter does not report when a call leaves a route point. Events reporting on call
progress from a route point is generated by the TS based on a timer for route ends or on return
code for route selects.
A TS.Divert.Event is issued by the TS when the request to move the call is accepted by the
switch, not when it actually was moved.
If a call is abandoned while in a route point or if the route request times out, the TS will not know
about it, which could cause the TS to allocate more memory than necessary. The TS
implements a mechanism to deal with these conditions. In this mechanism, when a route
request arrives, a structure is saved and a timer initiated. When a route select arrives, the TS
clears the data structure and issues the TS.Divert.Event. If the timer expires, the TS issues a
TS.Divert.Event without a destination.
Note:
Note: This matches two conditions, abandonment, or actual timeout. There is no way
for the TS to distinguish between them, so determination of call abandonment on
route points on the Aspect CallCenter is not possible.

Telephony Connectors Programmer Guide March 2012 47


Business Advocate
On Business Advocate, the TSA assigns to the TS using the following two criteria:
● ‘*r” (route point)
● “*w” (wait device, a.k.a., parking device).
Both are of these criteria are implemented via Adjunct Routing and care should be taken when
implementing hybrid systems with Business Advocate and non-Business Advocate
environments.
The implementation of a parking device on Business Advocate requires multiple RECEIVE
DATA steps in a CCT, because each RECEIVE DATA step can wait only 15 minutes. This
timeout is set at the CTI link level.
Note:
Note: If an agent initiates a consultative transfer or conference with a second agent who
does not pick up the phone, the call cannot be diverted via RONA to a third agent
because the Aspect switch does not support diverting a ringing call. The first
agent must cancel the transfer or conference to get the call back.
More detailed information about Avaya Business Advocate is provided in IC Business Advocate
Configuration and Administration.

Recommendations
The Avaya IC implementation on the TS configured for the Aspect CallCenter switch requires a
set of CCT adjustments. Among these adjustments are specific settings relative to call progress
reporting via reserved subtypes. Take care to not assign to these special subtypes from Routing
Engine.
For more information on the reserved subtypes used in IC 7.3, refer to IC Installation Planning
and Prerequisites.

Cisco Unified Contact Center


The Cisco Unified Contact Center 7.5.1 is supported in IC 7.3. The Cisco Contact center switch
uses Dialed Number (DN) devices, which behave similar to an Avaya Communication Manager
VDN in Avaya IC.

48 Telephony Connectors Programmer Guide March 2012


Route request/responses
The Cisco ICM Application Gateway is used for handling route request/ response mechanism.
In a typical Cisco Environment, the Route Request/Response takes place between the Routing
Client such as Cisco Communication Manager or a VRU and the ICM.
In the event of a new call the routing client sends a route request to ICM. ICM then runs the
scripts and responds to the request with the target or the destination to which the call has to be
routed.
A route response is issued via TS.Route() request. The Cisco Application gateway sends the
route request to Avaya IC and Avaya IC runs the workflow and returns the routing label to
Application gateway based on the Dialed Number (DN).

Route end
Route ends occur due to timeouts, abandonment, or Application Gateway link failure.

Script Editor
ICM software determines the best way to handle a call through routing scripts, which are
programs that access information about calls and call center activity.

Routing scripts contain instructions that can:


● Examine the call information provided by the routing client and use that information to
classify the call as a particular call type.
● Analyze call center information and determine the best destination for the call.
● Direct the call to an appropriate routing target; for example, an individual agent, a skill
group, or an announcement.

Link failure
In the event of an Application gateway link failure, the switch will not able to route the calls.

Telephony Connectors Programmer Guide March 2012 49


TS assignment
On Cisco, you must indicate individual DNs to monitor. The only syntax available is TS.Assign
("*rDN"). For example TS.Assign("*r5027")

Events
When a call arrives at the route point, the switch (Application Gateway) sends a route request
(QUERY_REQ) to the TS. The TS translates the route request to a TS.IncomingCall event and
delivers it to the client application, which is typically a Routing Engine.
When the TS.IncomingCall.Event reaches the Workflow server, it triggers a flow that instructs
the TS to route the call to another destination via a TS.Route() request.
TS issues a TS.Divert.Event informing the Routing Engine that the call left the route point and
was delivered to the destination indicated in the TS.Route().
Immediately after a TS.Divert.Event, the TS issues a TS.Disconnect.event, which informs the
Routing Engine that, the call is no longer at the route point.

Event Comment

TS.IncomingCall.Event Route Request posted from PBX to TS.


TS.Divert.Event Call got routed or timed out while in route
point.
TS.Abandoned.Event Call got terminated by far end while in route
point.
TS.Disconnect.Event Indicator that call is no longer associated
with route point.

Recommendations
● Cisco ICM Application Gateway Request Timeout value should be 1000 ms
● Cisco ICM script Editor call flow must contain Application Gateway Node, VRU node,
Queue to Skill group node
● Agent must be in Not Ready State while making a new call

50 Telephony Connectors Programmer Guide March 2012


Chapter 4: Telephony Server

This chapter provides Telephony server configuration and administration information for the
switches that are supported in IC 7.3.
This section includes the following topics:
● Before configuring servers on page 52
● Avaya Communication Manager on page 53
● SIP on page 64
● Aspect CallCenter on page 111
● Cisco Unified Contact Center on page 123

Telephony Connectors Programmer Guide March 2012 51


Before configuring servers
Read this section before you configure the servers described in this chapter.
The following characters are reserved because they have special meaning in Avaya IC. These
characters cannot be present in the values of any server configuration. When entering text in
the server configuration fields, do not use these reserved characters.

Character Description

( Left parentheses
) Right parentheses
[ Left bracket
] Right bracket
{ Left brace
} Right brace
, Comma
\ Backslash
" Quotation mark

52 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager
This section provides information to configure and administer the Avaya TS to work with the
supported Avaya Communication Manager switches.
For information about specific versions of these switches supported in the current release of
Avaya IC, see IC Installation Planning and Prerequisites.
You should configure the switch for the Avaya TS before proceeding with the steps in this
section. For detailed instructions on configuring the Avaya Communication Manager for the
Avaya TS, refer to IC Installation Planning and Prerequisites.

! Important:
Important: When configured for the Avaya Communication Manager, the Avaya TS requires
the latest version of the CVLAN client, which can be downloaded from the Avaya
web site. The CVLAN client is not distributed with the IC 7.3 installation disks.

Refer to IC Installation and Configuration and IC Installation Planning and


Prerequisites for specific instructions on downloading and installing the CVLAN
client.

Supported platforms
The servers that support the Avaya Communication Manager can be run on various operating
systems for IC 7.3. The following table lists operating systems on which the Telephony server
can run for the Avaya Communication Manager:

Operating System Avaya TS

Windows Server 2003 R2 SP2 Yes


SUN Solaris 10 Yes
AIX 6.1 Yes

Hardphone vs. softphone capabilities


The following table summarizes the capabilities of the Avaya Communication Manager by
comparing its hardphone and softphone capabilities. Events listed in the Hardphone column
are supported by the TS when evoked manually through the hardphone. The events listed in the
Softphone column are supported by the Avaya TS when evoked through softphone.

Telephony Connectors Programmer Guide March 2012 53


Note:
Note: The Avaya Communication Manager does not complete transferred calls to a
busy line if the call transfer is initiated from a hardphone with the speaker phone
on. To successfully complete a call transfer to a busy line on the Avaya
Communication Manager, you must take the hardphone off speaker mode before
initiating the transfer.

Capability Hardphone Softphone

alternate call yes yes


answer call, connect yes yes
auto-ready (auto-in) yes yes
blind transfer yes yes
bridge two calls yes no
busy (aux-work) yes yes
conference call yes yes
consultative transfer yes yes
consultative transfer, one-step yes yes
forward calls, cancel forward calls yes no
hang up call yes yes
hold call yes yes
listen disconnect/reconnect (mute) yes no
login yes yes
logout yes yes
make call yes yes
message waiting, cancel message waiting yes no
off hook yes no
on hook yes no
ready (in service/manual-in) yes yes
reconnect held call yes yes
send all calls, cancel send all calls yes no
send DTMF tones yes yes
service observing yes yes

54 Telephony Connectors Programmer Guide March 2012


Capability Hardphone Softphone

single-step conference1 yes no


third party drop no yes
walk away, return from walk-away yes no
wrap-up (after-call work) yes yes

Telephony Connectors Programmer Guide March 2012 55


Telephony server configuration
The Avaya TS is configured on the Server Editor of IC Manager. This section provides the
required and optional parameters that must be set to configure the Avaya TS for the Avaya
Communication Manager.
For information on adding and configuring servers on Avaya IC using IC Manager, refer to IC
Administration Volume 1: Servers & Domains.
Enter or modify the following parameters on the TS tab of the Server Editor. Right mouse click
on the screen and select the Show Advanced Properties option to display all of these
parameters.

Field Recommended entry Notes

ACD Name Select the name of the ACD The name of the ACD that this TS is
assigned to the Avaya switch. serving from a pick list of names
assigned to the ACD during system
configuration.
ACD Type Select Avaya The type of ACD with which the TS will
communicate.
ACD Model Select Definity The model of the ACD that corresponds
to the selected ACD Type.
ACD Protocol Select asai The protocol to be used between the
TS and the ACD.
If your system includes a Legacy TS
with switch with Avaya Communication
Manager software, see IC/OA Software
Upgrade and Data Migration.
Site Select the site of your TS. Select the site that this server is
associated with. The TS uses this
information to retrieve the queues for
internal monitoring.
ACD Link Enter the IP address (or a name The device through which the TS
if it can be resolved into an IP) communicates with the ACD.
of the MAPD card set.
Maximum length is 32.
Signal Number Specify a signal number when The signal extension number of the
configuring multiple Avaya ASAI line associated with each TS.
users on a single machine.
There is no default value in the The signal number is mandatory, if it is
TS, but IC Manager sets this not specified, the TS will not be able to
value to 1. establish the link between users.
Maximum length is 8.

56 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Call Control Check to enable call control on If checked, enables the TS to monitor
every call. calls, not stations, on the system.
Advanced Properties
Enable Call Check to create call containers If checked, the TS creates call
Containers for the TS. containers to store information about
Default is checked. the different legs of calls.

Enable Agent Check to turn on agent If checked, the ADU containers for the
Containers containers for the TS. TS are turned on.
Default is checked.
Use 5.6 State Check to give containers for Example, ts.loginid.
Fields agent states entries in the 5.6 For more information, refer to the IC
style. Telephony Connectors Programmer
Default is unchecked. Guide.
Use 6.0 State Check to give containers for Example, voice.loginid.
Fields agent states entries in the 6.0 For more information, refer to the IC
style. Telephony Connectors Programmer
Default is checked. Guide.
Wrap up by Check to have the TS wait for If unchecked, the TS may remove the
Client the wrap-up process to be call information from memory before
completed before removing the wrap-up is complete.
call information from memory.
Default is unchecked.
Wrap up Client Enter the period of time, in If unchecked, the TS issues a request
Time to Live minutes, that the TS waits for for wrap up on behalf of the client.
(min) the wrap-up process to be
completed by the client.
Default is 15.
Wrap up Server Enter the period of time, in If unchecked, the TS issues a request
Time to Live minutes, that the TS waits for for wrap up on behalf of the server
(min) the wrap-up process to be
completed by the server.
Default is 2.
Call Plan Enter the number of digits on This helps identify the call as internal to
the external extension numbers the switch.
used by the contact center.
Default is 6.
Thread Pool Size Enter the number of threads to
allocate for the server thread
pool.
Default is 20.

Telephony Connectors Programmer Guide March 2012 57


Field Recommended entry Notes

Queues Owned Enter the name of the queue or The TSQS should not be associated
queues for which the TS is with this queue in any way.
responsible for creating queue
ADUs.
Default ANI Enter the default ANI value, for
incoming calls, which did not
carry ANI information.
Suppress Logout Check to ignore the logout This setting allows for Multiple Queue
Event event generated when the Assignment support because the agent
agent presses “Logout” on the can logout from the hard phone without
hard phone. terminating the softphone session.
Default is unchecked.
IMPORTANT: When this parameter is
set to true, the TS also suppresses
logout events that are caused by an
agent logging out of the hardphone. In
this case, the softphone and hardphone
become out of sync.
Call Timeout Enter the length of time, in
seconds, to keep the call
information in memory.
Wait Time Before Enter the length of time, in
Merge Call milliseconds, to wait before
sending a merge call.
ACD Mode Select the ACD mode that is This field must be set to EAS for the TS
compatible with the settings of to support CVLAN Agent Events.
the switch. If this field is set to ACD, the TS will not
Default is EAS. receive agent events.
ACD Version Enter the version number of the For example:
switch software. Enter 10 for Avaya DEFINITY version
10.
Reason Codes Check to configure the ACD for The application can use reason codes
are Enabled reason codes. for agent logouts and agent
Default is unchecked. changeState to Busy.

Default Aux Enter the code to use when the This is only used if reason codes are
Reason Codes agent does not enter a code enabled.
when changing their state to
Busy.
Default is 0.

58 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Route Timeout Enter the length of time, in


seconds, to keep route request
information in memory.
Wait Event Uncheck to merge the call after
During xfer acknowledge (ACK) instead of
waiting for an event during
transfer/conference.
Abort on Link Check to abort (stop) the TS if
Down the link goes down.
Default is checked.
Call Record Time Enter the maximum period of A TpDisconnected event is generated
to Live time, in hours, that a for this record.
CtsCallRecord can remain in
memory before the TS cleans it
up.
Default is 24.
Dial by Check to determine if the ACD If you are using Avaya Business
Equipment requires the destination to be Advocate, do not check this field.
reached by equipment.
Default is unchecked.
RONA via Call Check to enable RONA This tells the TS that the switch is
Divert Request (Redirect on No Answer). capable of handling a call deflection
Default is checked. (divert) on an alerting device or if the
call needs to be answered before it can
be transferred or conferenced to
another destination.
RONA indicated Check to enable the switch to
via Call Divert send a divert event when RONA
is in progress.
Ccti Trace Level Select the desired log level for Valid values are debug, info, warning,
Ccti. and error.
Default is info.
Cpbx Trace Select the desired log level for Valid values are debug, info, warning,
Level Cpbx. and error.
Default is info.
TSV5 Trace Select the desired log level for Valid values are debug, info, warning,
Level TSV5. and error.
Default is info.

Telephony Connectors Programmer Guide March 2012 59


Field Recommended entry Notes

DTMF Tone Enter the duration length of This value specifies the length of each
Duration each DTMF tone between 6 and DTMF tone in .01 second increments.
35. If you enter 35, the tone duration length
Default is 35. 0.35 is applied at the switch.
If this value is set out of the 6 to 35
range, the default value of 35 is set
automatically.
DTMF Pause Enter the duration length of This value specifies the length of the
Duration each DTMF pause between 4 pause between tones in .01 second
and 10. increments.
Default is 10. If you enter 10, the pause duration
length 0.01 is applied at the switch.
If this value is set out of the 4 to 10
range, the default value of 10 is set
automatically.
Cutthrough Enter the number of seconds Values: 0 - 30 (seconds).
Waittime the TS will wait for an event
after it receives a
C_CUT_THROUGH event.
Once this time expires, the TS
assumes the call has been
answered.

Configuration tab
The following configuration parameters are not presented on the TS tab in IC Manager. Set
these parameters on the Configuration tab:

Field Recommended entry Notes

allow_names_mixed_case Enter "true" to enable processing Values: true or false.


of queue names in the case that
comes in. If set to "false", queue
names will be set to lower case.

60 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

blockedani Enter the ANI number you want If an ANI is not present,
to display if the ANI currently translates to the default ANI
displays as ***** because the specified in the Default ANI
caller has caller ID blocked. parameter.
If the ANI is ***** or #####,
translates to this value.
reconnect_on_busy By default this is set to true. Set this value to false, if you
do not want the agent to be
reconnected to the incoming
call in case of a consult /
conference to a busy
destination.

Agent configuration
The following agent configuration parameters are set on IC Manager when adding an agent to
Avaya IC. These parameters relate to the switch parameters set on the Avaya Communication
Manager. For information on configuring agents in hunt groups, refer to IC Installation Planning
and Prerequisites. The table lists the label used when configuring with IC Manager, followed in
parentheses by the parameter name as it is required internally by the Avaya TS.

Label and Internal Description


Name

Phone ID For EAS agents, this is the agent's login ID. For non-EAS, this can
(phone) be any identifier for the agent. For a direct connection (one without
any queue involvement) this is the physical teleset extension.
Password For EAS, password to log in phone. This can be supplied at
(phone_ passwd) TS.Login time. Not used for non-EAS agents.

Phone Type Agent work mode. ACD signifies non-EAS. If empty, a direct phone
(phone_type) (one with no queue involvement) is assumed.

Equipment Agent station extension. If used, the agent does not have to enter
(equipment) an equipment number when logging in. This number can be
overridden at log in time.

Telephony Connectors Programmer Guide March 2012 61


Preset States
While in call, agents can preset the state to which they will transition when the call ends to Busy
or Wrapup. The agent can also decide to change this preset state while still in the call. For
example, when the call begins the agent presets the state to Busy. After being in the call, the
agent knows there will be after call work to do related to the call. The agent can then change the
preset to Wrapup to be able to perform this after call work. The agent cannot back out of a
preset during a call. That is, once the agent has set preset, that agent can only go to a Busy or
Wrapup state after the call. The agent can go to another state like Ready from the preset state
once the call is over.

Agent events
Agent state changes on the TS are not synchronously transmitted over the CVLAN interface to
CTI applications. This can result in the softphone and the CTI applications’ agent states getting
“out of sync” with the agent states on the hardphone. This creates confusion for the agent and
can cause incorrect call routing on non-voice interactions in a multi-channel environment.
The TS has been enhanced to support CVLAN Agent Events to keep the agent state on the
softphone in sync with the agent state on the hardphone. The TS only receives agent events
after an agent’s softphone has assigned to the TS. The TS does not get agent events, such as a
login entry, if the agent has only logged into the hardphone.

! Important:
Important: The Preset phone state must be in sync on the hardphone and the softphone to
support CVLAN Agent Events.
The TS must be configured in EAS mode (not ACD mode) as described in ACD
Mode on page 58 to support CVLAN Agent Events.
When the Avaya Communication Manager TS is enabled for Agent Events:
1. Agent state changes (such as login, logout, busy, ready, readyauto, and after call work)
done by the agent over the hardphone are reported to the ACD.
2. The ACD sends events for these agent state changes to the Avaya TS.
3. The TS generates and sends corresponding events to the softphone to keep it in sync with
the events sent to the ACD by the hardphone.
4. The Avaya TS updates the EDU and the ADU with agent state changes.

62 Telephony Connectors Programmer Guide March 2012


Note:
Note: The person responsible for the installation and administration of the Core
Services on Avaya IC must have root permission for Unix machines and
Administrator permission for Windows-based machines on the machine where
the TS is installed when they use the Configuration tool to do the following.
- Add and configure the Telephony server
- Create and configure the web applications for the website, Email Template
Administration, Web License Manager, and Letter Generator

Prerequisites for agent events


To enable Agent Events on an Avaya TS running with an Avaya Communication Manager
switch, install the following prerequisites on IC 7.3.
● AES / CVLAN server Release 9.1 or higher
● CVLAN Client Release 8.2.5 or higher
For more detailed information about these requirements, consult the administrator responsible
for the Avaya Communication Manager at your site.

Telephony Connectors Programmer Guide March 2012 63


SIP
SIP Telephony Server provides SIP signaling based calling capability in IC 7.3 that supports
native SIP signaling capabilities, inbound and outbound SIP sessions, and SIP based
endpoints, described in System features on page 64, by connecting to Avaya SES server. SIP
Telephony server is used in place of the traditional Telephony server (TS) that uses CTI
interfaces to the PBX/switch.
This section includes the following topics:
● Overview on page 64
● Prerequisites on page 67
● Supported platforms on page 67
● Call Control on page 68
● Video support on page 72
● Configuration on page 73
● Mixed SIP and Traditional Telephony server environment on page 107
● Frequently Asked Questions on page 108

Overview
The SipTS works with the Avaya SES server. The SES server acts as an enterprise SIP
registrar, proxy, and network ingress/egress.
SIP Telephony server only supports Business Advocate and Operational Analyst (OA) for
routing and reporting. CMS and Avaya Call Center software are not supported. OA operates in
the same way as it does in traditional TS environments, with one exception. Blind transfers are
recorded slightly differently because they are single step transfers on a SipTS.
SipTS does not support the IC Telephony Queue Statistics Server (TSQS) in this release.

System features
SIP Telephony server supports native SIP endpoints for contacts and agents. In addition, IP and
DCP endpoints can be used by contact center agents to receive work that originated from either
non-SIP (for example, ISDN-PRI) or SIP trunks.

64 Telephony Connectors Programmer Guide March 2012


SIP endpoints
SIP voice contact centers support SIP endpoints that use an Avaya Communication Manager
(CM) to support SIP trunks. Business Advocate, Communication Manager, and SES are used in
the voice contact center.
SIP endpoints for voice can be a SIP hardphone (for example, Polycom) or SIP Softphone
supported by Avaya.

Toll by-pass/VoIP
The Toll by-pass/VoIP application includes a SIP Softphone for the customer and the agent.
Agents can login to IC via Avaya Agent and use a SIP phone which is connected to SES.
Customers are furnished a SIP softphone application that includes a matching voice codec that
is in the SIP Softphone. Customers can use this softphone application or any SIP phone.
Customers can call the contact center from the softphone application (VoIP) and SES and IC
accept the request and deliver it to the agent specified by Business Advocate. The agent can be
using any supported phone and Avaya Agent. The customer can call their published Uniform
Resource Identifier (URI) to initiate a session to the SIP contact center and be routed to the
most appropriate available agent to handle the call.

Remote Worker
The Remote Worker application supports remote Business Advocate users. The IC Client
(available with Avaya Agent, Avaya Agent Web Client, SDK Client, Hybrid Siebel Client, and
Native Siebel Client) is required on the agent desktop. Conventional contact center features are
used for login, logout, ready, not ready, aux, etc., as well as the ability for IC to deliver
communication context with each work item.

Traditional TS vs SIP TS
The features supported in SIP Telephony Server differ from traditional IC implementations. This
section describes these differences.
See Call Control on page 68 for more detailed information on some of the supported features of
SIP Telephony Server

Traditional TS SIP TS

ASAI Link to CM for call control and call SIP based call control and call monitoring via
monitoring the SipTS B2B user agent.
Agents administered as hard ACD agents in Agents are administered as extensions, not
CM for failover agents, in CM.
Hard ACD failover is not supported.
Supported on Windows, Solaris, and AIX Supported on Windows platform only.
platforms
No video support Supports voice and voice/video contacts.
Video conferencing is not supported.

Telephony Connectors Programmer Guide March 2012 65


Traditional TS SIP TS

Notification of call delivery to agent and Desktop notification is first, the call is then
desktop is simultaneous delivered to the hardphone after the work
item accept.
Make call - call originated from the hardphone Make call follows a 2 step sequence:
as an outbound call 1. call sent to the "originator"
2. after the call is manually answered, call
sent to the "destination"
6 party conference 3 party conference (voice only).
Cannot transfer conference calls.
Call Recording available with NICE, Witness No Call Recording available.
integration
Service Observing (CM Call Center feature) No Service Observing available
Ringback, Music on Hold features available No Ringback for outgoing calls or Music on
Hold to the customer.

Unsupported features
The following features are not available for voice calls or video calls in SIP Telephony server in
addition to the features described in Traditional TS vs SIP TS on page 65.
● Transfer Conference Call
● CM Agent Administration
● Adjunct Route in the VDN/Vector
● Auto Answer
● Call Coverage/Forwarding
● CM-based Call Center Features
● CVLAN Clients
● IC Agent direct phone login
● Aux Reason Codes
● DTMF
● Music On Hold

66 Telephony Connectors Programmer Guide March 2012


Prerequisites
This chapter describes the prerequisites for SIP Telephony Server.
The following software is required for the SipTS:
● Avaya SES Release 4.x and 5.0
● Avaya Communication Manager or Ingate or Customized Asterisk.
Note:
Note: Avaya CM 4.0.1 onwards. However its recommended to use Communication
Manager 5.1 onwards

Supported platforms
The SipTS is supported on the following platform:

Operating System SipTS

Windows Server 2003 R2 SP2 Yes

For more information about this platform, see IC Installation Planning and Prerequisites.
Note:
Note: The SipTS can co-reside with IC Advocate Services on IC 7.3.

Supported SBCs
IC 7.3 supports the following SBCs for SIPTS:
● CM 4.0.1 onwards. However its recommended to use CM 5.1 onwards.
Note:
Note: Depending on the version of CM you are running, you may need to apply certain
patches to the CM for it to work properly with the SipTS. Contact Avaya Technical
Support for specific instructions related to required CM patches.
● Ingate (for Video Support)
● Customized Asterisk SBC
Note:
Note: Contact Avaya Technical Support for Customized Asterisk SBC.

Telephony Connectors Programmer Guide March 2012 67


Supported SIP phones
SIP Telephony Server supports all voice SIP endpoints that can be registered as OPTIM
extensions with Avaya SES. If you need to determine if a SIP voice endpoint is supported,
contact Avaya Technical Support. SIP Telephony Server also supports video SIP endpoints.
See Video support on page 72 for more details.
The following is a partial list of the SIP phones that are supported by the SES:

Softphones Hardphones

SIP Softphone R2.2 4620 Series IP Phone


SIP Softphone R2.1 4610 Series IP Phone
IP Softphone R6.0 SP2 4602 Series IP Phone

For more information about IP phones, see 4600 Series IP Telephone Installation Guide.

Supported telephones
SIP Telephony server supports the following telephones;
● SIP voice endpoints configured as SES OPTIM extensions and certified with DevConnect.
● Avaya DCP and IP phones configured as SES OPTIM extensions.
● SIP voice/video endpoints configured as non-SES OPTIM extensions. Avaya expects
voice endpoints to be tested and certified by DevConnect prior to using them.

Call Control
This chapter describes the call control functions available with the SipTS in an IC 7.3
implementation. The SipTS does not support use of certain CM endpoint features such as Call
Coverage, Call Forwarding, and Send All Calls.
This section includes the following topics:
● Login on page 69
● Handle incoming calls on page 69
● Park incoming calls on page 69
● Deliver incoming calls to available agents on page 70
● Originate outgoing calls on page 70
● Put incoming calls on hold on page 70
● Transfer incoming calls on page 71

68 Telephony Connectors Programmer Guide March 2012


● RONA incoming calls on page 71
● Agent After Call Work on page 71
● Conference incoming calls on page 71

Login
The agent login to Avaya Agent, Avaya Web Client Agent, SIP endpoints, Toll by-pass/VOIP,
and Remote Worker uses the login ID and password provided by the IC Administrator. The
control of agent availability is done through the Avaya Agent the same as it was in previous
releases of IC.

Handle incoming calls


All incoming calls are delivered to CM or a third party Session Border Controller (SBC). The CM
or SBC sends a new INVITE to the SIP Route Point User Agent (UA) that is administered (via
SIP REGISTER) to receive calls at this address. This Route Point UA is responsible to notify IC,
via events sent to the SipTS, that a new incoming call has arrived.
Once the SipTS is notified where to deliver the call and the SipTS has provided the UA with the
EDUID for this new call, the UA performs an in-dialog REFER. In-dialog specifies that the call
must be answered before the REFER message can move the call. Once the REFER is
successful, the UA is no longer involved in the call.
All REFER messages contain the User-to-User header with the EDUID embedded as a Generic
URI and the purpose tag set to 'isdnuui'. This header is placed in the corresponding INVITE
message to the destination address. This propagation of the User-to-User header is crucial to
the SipTS being able to keep track of existing calls. Upon receipt on a SIP INVITE, the SipTS
always looks for the User-to-User header as described above, and if found, treats this call as an
existing call and not a new one.
Agents are notified of incoming calls on Avaya Agent. To handle the call, the agent presses the
Answer button which causes the SIP phone to ring. Avaya recommends the SIP phone has
auto answer capability, but it is not required.

Park incoming calls


Call park is the ability to deliver the call to a wait treatment device. As described in Handle
incoming calls on page 69, the call is moved from the incoming route point to a wait treatment
address by way of an in-dialog REFER. The refer-to address is the address of the Back-to-Back
(B2B) that is used to contact the park device. The park device is not accessed directly.
When the INVITE arrives at the UAS (User Agent Server) side of the B2B, the UAC (User Agent
Client) side of the B2B immediately sends an INVITE messages to the actual park device
address. An exchange of SIP messages and SDP occurs and the RTP stream of the contact is
connected with the RTP address of the physical park device. The park device must be set to
auto-answer.

Telephony Connectors Programmer Guide March 2012 69


Deliver incoming calls to available agents
Delivering calls to available agents in the SipTS is similar to parking calls except that when
delivering a call to an agent, the SipTS waits for the agent to accept the call before extending
the SIP INVITE to the phone of the agent.
Calls can be delivered to available agents in the following ways:
● The call is delivered directly from the incoming route point UA to the available agent.
● The call is already in wait treatment and an agent becomes available.
In both scenarios, the same sequence is used for delivering the call to the agent.
When an agent becomes available, the TSA sends a route request to the SipTS with the
destination address. This causes an in-dialog REFER to move the call away from the device the
call is currently at (Park or VDN) and generates an INVITE at the destination address. This
address is the UAS side of a B2B in the SipTS.
The receipt of an INVITE at an Agent B2B generates an Incoming Call event to the SipTS. This
event causes the SipTS to send an TS.IncomingCall(...) event to the desktop of the agent which
displays the call in a Ringing state.
When the agent presses the Answer softphone button, a request is sent to the SipTS to answer
(accept) this call. The SipTS uses the UAC of the B2B to send an INVITE to the SIP phone of
the agent. The hardphone of the agent rings and the agent must press the line appearance on
the hardphone to complete the connection.
An exchange of messages and SDP connects the contact and the agent phones. The agent SIP
phone must be set to auto-answer, otherwise the additional step of answering the ringing SIP
phone is required.

Originate outgoing calls


The SipTS enables agents to originate a call to another telephone through the Initiate button on
the Softphone. A dialog box is displayed where the agent can either type the destination phone
number or select the phone number from a list.
SIP calls can be delivered to any phone number that is reachable by CM.
PSTN calls can be delivered to SIP based agents.

Put incoming calls on hold


The SipTS enables agents to put incoming calls on hold and take them off hold. An agent, who
is in a call, can put the call on hold using the Hold button on Avaya Agent. The agent can
retrieve the call from hold using Avaya Agent. The agent should not use the hardphone to put
the call on hold and retrieve the call from hold.

70 Telephony Connectors Programmer Guide March 2012


Transfer incoming calls
The SipTS supports blind transfer and consultative transfers via a single step transfer and two
step transfer, respectively. An agent who is currently on a call can transfer that contact to
another agent using the buttons on the Avaya Agent. The call transfer not handled any
differently with SIP Telephony Server than it was with Business Advocate and the CVLAN/ASAI
based TS.
The agent must press the Consultative softphone button to initiate a consultative transfer at
which time the light for a second call appearance is lit on the hardphone. After designating the
phone number to which to consultative transfer on the softphone, the agent must press the
second line appearance on the hardphone to send the call to the second party. The consultative
transfer is completed through the softphone, not at the hardphone.

RONA incoming calls


RONA (Redirected on No Answer) is a Business Advocate feature that allows redirection back to
queue of a call that is not answered by an agent after a certain number of rings or time.
For more information about RONA and RONA properties, see Telephony Server Programmer’s
Guide.

Agent After Call Work


In SIP mode, there is no PBX state for the agent so the ACW agent state is not applicable to the
SipTS. The equivalent of the ACW agent state on the SipTS is Wrap up. There is no switch
tracking of agent states, but after call work is still supported as Wrap up on IC. Because there is
no PBX involvement, all the reporting from the SipTS is delivered through Operational Analyst
(OA). To look at the ACW time for an agent, you must look in the Wrap up time for that agent.

Conference incoming calls


This section describes the SipTS conference feature for agents who are using Communication
Manager (CM) as the Conference Bridge and SES as the Conference Server. To initiate a
conference, the agent must press the Conference softphone button, which displays a second
call appearance on the hardphone. After the agent designates the phone number with which to
conference on the softphone, the agent must press the second line appearance on the
hardphone to send the call to the second party. The conference is completed through the
softphone, not at the hardphone.
Meet-me VDN extensions in CM are used to support conferencing. When the conference
operation is invoked, all the endpoints (including the customer) are invited to the meet-me
conference. SES is responsible for allocating and managing the use of the conference
resources on the CM.

Telephony Connectors Programmer Guide March 2012 71


! Important:
Important: On SES the conferencing feature supports CM-based 3-party conferences only.
SIP Endpoints cannot initiate the Spectel-based Expanded Meet-Me
Conferencing (EMMC) conference.

Video support
SIP Telephony Server provides video support using an SBC (Session Border Controller) that
supports RFC3515 (REFER) commands. REFER commands use contact information that is
provided in INVITE commands to contact third parties and move the contact. The SBC must
also support INVITE commands with Video SDP and User-to-User header.
REFER commands are used to move a session away from one endpoint to another. The SBC
processes the REFER command and uses the contact information to issue an INVITE message
to the new call destination.
SIP video calls have the same limitations as SIP Telephony Server voice calls described in
Traditional TS vs SIP TS on page 65. Some of the other SIP video limitations on SIP Telephony
Server include:
● Conferencing is not supported
● Video endpoints cannot be OPTIM extensions
● For video wait treatment an alternate SIP video wait treatment device must be used
IC routes SIP based video contacts the same way it routes voice contacts using the IC voice
channel and Avaya Business Advocate.

72 Telephony Connectors Programmer Guide March 2012


The following diagram illustrates the required configuration for SIP Telephony Server:
Voice-only Agent
SIP Voice
Customer E
T
U
M
T
S
D
A
E
H
R
K
A
E
P
S

GHI
4
1
IT
/X
E
N
O
H
P

5JKL
T
F
E
L
E
G
A
P

ABC 3DEF
2
6M
NO
P
O
R
D
T
H
IG
R
E
G
A
P

R
E
F
N
O
C
E
F
S
N
A
R
T
S
IN
T
P
O

D
L
O
H

P
7QRS TUV W9XYZ
L
IA
D
E
R

8
0 #
*

E
T
U
M
T
S
D
A
E
H
R
K
A
E
P
S

1
IT
/X
E
N
O
H
P

T
F
E
L

ABC
2
E
G
A
P

3DEF
T
H
IG
R
E
G
A
P

R
E
F
N
O
C
E
F
S
N
A
R
T
S
IN
T
P
O

D
L
O
H
SIP
SIP SIP Hardphone
Network
GHI
4 5JKL 6M
NO P
O
R
D

P7QRS 8 TUV W 9XY


Z
L
IA
D
E
R

0 #
*

Network

PSTN
`
CM SBC
Customer S8700
Media Server IC Agent Desktop

PSTN
PSTN
POTS Phone

SES Home IC SIP TS


Proxy / w/ Advocate
Registrar
Voice/Video Agent

SIP Video
Customer

SIP Video Softphone


SIP
Network
Network
Video Softphone
3rd Party SBC
`
IC Agent Desktop

Configuration
This chapter describes the configuration of SIP Telephony Server. It provides setup and
configuration information for the IC SipTS (Telephony server), the SIP Enablement Server
(SES), and Avaya Communication Manager (CM).
This section includes the following topics:
● Configuration considerations on page 74
● Implementation checklist on page 74
● Security certificates on page 75
● Avaya Communication Manager on page 78
● SIP Enablement Services on page 88
● Interaction Center on page 93
● Conference calling on page 100
● IVR integration on page 103

Telephony Connectors Programmer Guide March 2012 73


Configuration considerations
Some configuration considerations for this release of SIP Telephony Server are:
● Make sure your User domains are set up to failover to the correct Voice domain.
● A single SipTS supports 500 agents and 8,000 contacts per hour.
● For video support, you need to use your third party SBC to provide the isolation between
the public and private network like a firewall. For SBC configuration instructions, see the
installation and configuration documentation for your specific SBC.

Implementation checklist
The following checklist lists the tasks needed to successfully implement a SipTS in an IC 7.3
environment. When you are finished, you should be able to route a SIP call to an agent through
IC 7.3 Business Advocate.
Use this checklist to assign and track the progress of these tasks. Click on the link for the task to
go to the section in this chapter where the task is described.

# Task Assigned Status

1 Security certificates on page 75


Communication Manager configuration
5 Verify IP connectivity on page 79
6 Set IP network region on page 79
7 Change feature-related system parameters on
page 81
8 Set public unknown numbering on page 82
9 Add the IP signaling group on page 82
10 Create IP trunk group on page 83
11 Set the dial plan on page 85
12 Set AAR analysis on page 86
13 Set the routing pattern on page 87
14 Verify the order of IP codec sets on page 87
SES Server configuration
15 SES server configuration on page 88
16 Add route points, B2B, Reserved DNs and agents
as endpoints on page 89

74 Telephony Connectors Programmer Guide March 2012


# Task Assigned Status

17 Map patterns on page 90


18 Add telephone stations for OPTIM extensions on
page 92
Interaction Center configuration
19 SipTS configuration on page 94
20 Add agents using SIP phones on page 98
21 Call transfer configuration on page 99
Call Conferencing configuration
22 Set up a conference on page 101
23 Configure Conferencing on CM on page 101
24 Enable the meet-me customer option on page 101.
25 Administer meet-me numbers (VDN) on page 101.
26 Administer vectors on page 102.
27 Configure Conferencing on SES on page 103.
IVR integration
28 Configure IVR extensions on page 104
29 Configure workflow assignments on page 105
30 Configure VOX server on page 105
31 Configure IVR Scripts on page 105

Security certificates
The security certificates for TLS installation are required for implementations that want a secure
TLS channel between the SIP Telephony Server and the SES server. Two way validation is
required between the SIP Telephony Server and the SES server. No configuration is required on
CM for TLS certificates.
For standard implementations that are not concerned with SIP security, the security certificates
are not needed.

Creating the Root Certificate


This section describes how to create the SIP Root certificate through SES. For more
information, see SIP Enablement Services Installing and Administering.

Telephony Connectors Programmer Guide March 2012 75


1. Go to the SES Web Administration interface and click Certificate Management.
2. Click Generate SIP Certificate Signing Request.
3. Enter the relevant details in the Generate SIP Certificate Signing Request form.
The following figure shows an example of a SIP Certificate Signing Request form:

Note:
Note: In the above form, Common Name refers to FQDN of SES server.

4. Click generate request. You will be prompted to save the SIP Certificate Signing Request
file usersip.csr.
5. Save the file usersip.csr to the local disk. This file will used to generate the Root
certificate.
6. FTP usersip.csr file to the SES server at the appropriate location.
For example, /var/home/ftp/pub/usersip.csr
7. Telnet to the SES server.
8. Type the following command at the command prompt:
openssl x509 -req -days 365 -in /var/home/ftp/pub/usersip.csr
-signkey /etc/opt/ecs/certs/private/tmpusersip.key -out
sipts.crt

76 Telephony Connectors Programmer Guide March 2012


Note:
Note: In the above command tmpusersip.key is the private key. If this is not found on
the SES server, contact Avaya Technical Support for assistance.
9. FTP the generated Root certificate sipts.crt to the SIP TS computer.
10. Install this sipts.crt in the Trusted root certification authorities in the certificate
management.

Creating Domain Key and Certificate


SIP Telephony server requires a certificate for itself. This certificate can be a Self signed one or
can be a certificate issued from a CA authority. This section describes how to create the SIP
Domain certificate for SIP Telephony server.

Perform the following steps to generate a Self signed certificate.


1. Generate a Private Key. Type the following command at the command prompt:
openssl genrsa -des3 -out server.key 1024
2. Generate a CSR (Certificate Signing Request). Type the following command at the
command prompt:
openssl req -new -key server.key -out server.csr
3. Remove Passphrase from Key. Type the following command at the command prompt:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
4. Generate a Self-Signed Certificate. Type the following command at the command prompt:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out
server.crt
Note:
Note: Avaya recommends to use the certificate issued from a CA authority.
For the certificate issued by CA authority, ensure that the passphrase is removed from
the private key. Type the following command at the command prompt:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
Where, server.key is the private key for the server, returned by the CA authority.
SIP Telephony server will not start if the passphrase is not removed from the
privatekey.
If you are using a self signed certificate ensure the server.crt that was generated is
part of the trusted root certificate in the SES server.

Telephony Connectors Programmer Guide March 2012 77


SES Installation
This section describes how to install the SIP Root certificate to SES. For more information, see
SIP Enablement Services Installing and Administering.
1. Go to the SES Web Administration interface and click Certificate Management.
2. Click the Install SIP certificate link and locate sipts.crt generated at Creating the Root
Certificate on page 75
3. Click Install SIP certificate and verify that the certificate is successfully installed.

IC installation
This section describes how to install the SIP Root certificate, SIP Domain key and SIP Domain
certificate on the SIP Telephony server.
1. Rename sipts.crt generated at Creating the Root Certificate on page 75, to
root_cert_<FQDN>.pem.
For example, root_cert_icses.rnd.avaya.com.pem
2. Rename server.key, generated at Creating Domain Key and Certificate on page 77, to
domain_key_<FQDN>.pem.
For example, domain_key_icses.rnd.avaya.com.pem
3. Rename server.crt, generated at Creating Domain Key and Certificate on page 77, to
domain_cert_<FQDN>.pem.
For example, domain_cert_icses.rnd.avaya.com.pem
4. Copy following three files to <AVAYA_IC_HOME>/etc folder.
● root_cert_<FQDN>.pem
● domain_key_<FQDN>.pem
● domain_cert_<FQDN>.pem
Note:
Note: Replace <FQDN> with the Fully Qualified Domain Name of SES server for all
three certificates.

Avaya Communication Manager


The installed Communication Manager is configured to support SIP endpoints. For more
information, see the Administering Communication for SIP Services section of the Avaya
Communication Manager documentation that was provided with your switch.
This section provides the CM configuration procedures that are required to map the CM to SES
for your SIP Telephony Server deployment. These procedures are performed on the Avaya Site
Administration (ASA) application.

78 Telephony Connectors Programmer Guide March 2012


Verify IP connectivity
Before you configure the Communication Manager for SIP Telephony Server, verify your
Communication Manager switch supports IP connectivity.
Perform the following steps to verify IP connectivity on the CM:
1. In the ASA application, type system-parameters customer-options.
2. On page 4, set the IP Trunk? parameter is set to y (if it is currently set to n).
3. On page 2, verify the setting for the Maximum Administered SIP Trunks parameter falls
within the following ranges:

Server Type Range

Server S8300 0 - 400


Server S8500 0 - 800
Server S8700 0 - 2000
Server S8710 0 - 2000

4. If needed, make the appropriate changes and select F3.

Set IP network region


This section describes how to set the IP network region for your domain on CM so it maps to
SES.
To set the IP network region for your domain:
1. In the ASA application, type add ip-network-region next at the command line to open the
IP Network Region form.
2. Complete the following fields on page 1 of this form:

Field Entry

Region The next available number is assigned to the


network region.
Location The number assigned to the location of the region.
Authoritative Domain Domain used in the SES map pattern
(example avaya.com)
Name SIP Network
MEDIA PARAMETERS
Codec Set 1
UDP Port Min Same as the SES UDP Port Min (example, 2048)

Telephony Connectors Programmer Guide March 2012 79


Field Entry

UDP Max Same as the SES UDP Port Max (example, 3029)
Intra-region IP-IP Direct Audio no
Inter-region IP-IP Direct Audio no
IP Audio Hairpinning n
DIFFSERV/TOS PARAMETERS
Call Control PHB Value 34
Audio PHB Value 46
Video PHB Value 26
RTCP Reporting Enabled y
RTCP MONITOR SERVER PARAMETERS
Use Default Server Parameters y
802.1P/Q PARAMETERS
Call Control 802.1p Priority 7
Audio 802.1p Priority 6
Video 802.1p Priority 5
AUDIO RESOURCE RESERVATION PARAMETERS
RSVP Enabled n
H.323 IP ENDPOINTS
H.323 Link Bounce Recovery y
Idle Traffic Interval (sec) 20
Keep-Alive Interval (sec) 5
Keep-Alive Count (sec) 5

3. Select F3 to save these settings.


4. Select next page to display page 2 of the IP Network Region form.
5. In the Security Procedures field, enter challenge.
6. Select F3 to save this setting.
7. Select next page to display page 3 of the IP Network Region form.
8. In the codec set field for rgn 1, enter 1.

80 Telephony Connectors Programmer Guide March 2012


9. Select F3 to save this setting.

Change feature-related system parameters


This section describes how to change the feature-related system parameters on CM for SIP
Telephony Server. These changes are done at the signaling level.
To change the feature related system parameters:
1. In the ASA application, type change system parameters feature at the command line to
open the Feature-Related System Parameters form.
2. On page 1, change the Trunk-to-Trunk Transfer setting to all.
3. Select F3 to save this change.
4. On page 16, shut off shuffling for the trunk connected to the SipTS. This is the trunk to
which the OPTIM stations are assigned. Set the following parameters to n to for this trunk
only.
● Direct IP-IP Audio Connections?
● IP Audio Hairpinning?
5. Select F3 to save this change.

Change customer options parameters


This section describes how to change the customer options parameters on CM for SIP
Telephony Server.
To change the customer options parameters:
1. In the ASA application, type change system parameters customer-options at the
command line to open the Customer-Options form.
2. On page 1, in the Maximum Off-PBX Telephones section, select the licensing option
used by your implementation:
● Licensing obtained for this feature applies to EC500 or CSP phones.
● Licensing for this feature to OPS phones (SIP phones for advanced SIP technology)
3. Select F3 to save the setting.
4. On page 4, set ISDN PRI to y to provide support for H.323 signaling.
5. Set Enhanced EC500 to y to provide mobile call services.
6. Set IP Trunks to y to control administration permissions to H.323.
7. Select F3 to save the settings.
8. On page 5, set Private Networking to y.
9. Select F3 to save the changes.
10. Logoff and log back into ASA application to effect the changes on CM.

Telephony Connectors Programmer Guide March 2012 81


Set public unknown numbering
This section describes how to set public unknown numbering for incoming CM calls to SES.
This avoids getting an anonymous@domain on SES from CM callers.
Note:
Note: CM has a five digit numbering scheme with 4 being the first number. For example
40038 is a CM DCP station extension.
To set public unknown numbering for incoming CM calls to SES:
1. In the ASA application, type add public-unknown-numbering next at the command line
to open the Numbering - Public/Unknown Format form.
2. Complete the following fields on this form:

Field Entry

Ext Len The number of digits in the extension, example 5.


Ext Code The first number in the extension, example 4.

3. Select F3 to save these settings.

Add the IP signaling group


This section describes how to add the IP signaling group to map to SES.
To add an IP signaling group:
1. In the ASA application, type change add signaling group next at the command line to
open the Signaling Group form for the next available signaling group.
2. Complete the following fields on this form:

Field Description

Group Number The next available number is assigned to the


signaling group.
Group Type Enter sip.
Transport Method Enter tls.
Near-end Node Name The name of the IP interface at the local end of the
SIP Trunk signal group.
Far-end Node Name The node name administered as the SES server
used for trunks assigned to this signaling group.
Near-end Listener Port Enter 5061 for SIP over TLS.
Far-end Listener Port Enter 5061 for SIP over TLS.

82 Telephony Connectors Programmer Guide March 2012


Field Description

Far-end Domain Enter the domain specified in the network region


and all other SES domain information, for example
avaya.com.
DTMF over IP Set this field to rtp-payload.

3. Select F3 to save these settings.

Create IP trunk group


This section describes how to create an IP trunk group on CM that maps to SES.
To create an IP trunk group:
1. In the ASA application, type change add trunk-group next at the command line to open
the Trunk Group form for the next available trunk group.
2. Complete the following fields on form 1:

Field Description

Group Number The number assigned to this group when the trunk
was added.
Group Type Enter sip
CDR Reports Enter y to generate call detail records for all of the
outgoing calls on this trunk group.
Group Name Enter SIP-Trunk as a unique name for the group.
COR Enter 1 for the Class of Restriction control access to
the trunk group.
TN Enter 1 to assign the trunk to a universal group
which can be called by any other TN group.
TAC Enter the Trunk Access Code for this trunk group.
This can be 1 to 4 digits long and must be unique to
this trunk group, for example 1004.
Direction Enter two-way
Outgoing Display Enter n to display the digits the caller dials.
Dial Access Enter n because this is a SIP trunk.
Night Service Leave blank because the trunk group is not auto.
Queue Length Enter 0, callers hear a busy when are not available.
Service Type Enter tie for tie trunks, general purpose.

Telephony Connectors Programmer Guide March 2012 83


Field Description

Auth Code Enter n.


Signaling Group The number assigned to the signaling group in Add
the IP signaling group on page 82.
Number of Members Enter the number of SIP trunks in the trunk group.
Approximate the number of calls you expect to
receive simultaneously and allow 4 ports for each
call.

3. Select F3 to save these settings.


4. Select next page to display page 2 of the Trunk Group form.
5. Complete the following fields on form 2:

Field Description

Group Type Enter sip


Unicode Name Enter y to use the table with legacy names.
Digital Loss Group Enter 18 for the index into the loss and tone plans.

6. Select F3 to save these settings.


7. Select next page to display page 3 of the Trunk Group form.
8. Complete the following fields on form 3:

Field Description

ACA Assignment Enter n to prevent taking ACA measurements for


this trunk group.
Measured Enter both to collect data internally and send it to
Communication Manager.
Maintenance Tests Enter y to run hourly maintenance tests on this trunk
group.
Numbering Format Enter public, the default for SIP trunks.
Replace Unavailable Numbers Enter n, the default for SIP trunks.
UUI Treatment Enter service provider.
If the value is shared, SIP TS cannot route the call
to an agent.

9. Select F3 to save these settings.


10. Select next page to display page 4 of the Trunk Group form.

84 Telephony Connectors Programmer Guide March 2012


11. Complete the following fields on form 4:

Field Description

Mark Users as Phone Enter n


Prepend * to Calling Number Enter n
Telephone Event Payload Type Enter 127

12. Select F3 to save these settings.


13. Select next page to display page 4 of the Trunk Group form.
14. Complete the following fields on form 4:

Field Entry

Port The port number assigned to each of the members


administered in the trunk group.
Name The name assigned to the trunk group.

15. Select F3 to save these settings.

Set the dial plan


This section describes how to set the dial plan for CM to SES extensions. In this example, the
Dial Plan is set up to look for 47 as the matching pattern. The dial plan looks for 47 as the
matching pattern so extensions with 47 (47100, 47200, etc.) go to the AAR table.
Note:
Note: The matching pattern can contain more than the 2 digits (47) in this example.
Some organizations use as many as 5 digits because their numbers are not
contiguous.
To set the dial plan for CM to SES:
1. In the ASA application, type change uniform dial-plan<n> at the command line to open
the Uniform Dial Plan Table form.
2. Complete the following fields on this form:

Field Description

Matching Pattern Enter the number the CM looks for as the matching
pattern in the aar table, for example 47.
The number can be a route point or B2B IC agent, It
cannot be the actual agent station number.

Telephony Connectors Programmer Guide March 2012 85


Field Description

Len Enter the number of digits in the matching pattern’s


extension number, for example 5.
Net Enter aar.

3. Select F3 to save these settings.

Set AAR analysis


This section describes how to set AAR analysis to enable CM to dial SES extensions directly. In
this example, the Dial Plan is set up to look for 47 as the matching pattern. The Dialed String
field in the AAR table must match 47 as the matching pattern.
To set AAR analysis for CM to SES:
1. In the ASA application, type change aar at the command line to open the AAR Digit
Analysis Table form.
2. Complete the following fields on this form:

Field Description

Dialed String Enter the digits that closely match the dialed number.
(Route Point, Reserved DN and For example, if the dialed number is 47100, and the
B2BUA) AAR Digit Analysis Table contains a dialed string
entry of 47, the match is on the 47 entry.
Total (min) Enter the minimum number of digits CM collects to
match to the dialed string, if the dialed number is
47100, enter 5.
Total (max) Enter the maximum number of digits CM collects to
match to the dialed string, if the dialed number is
47100, enter 5.
Route Pattern Enter the digits you entered for the Dialed String
field.
Call Type Enter aar.
Num Node Leave blank.
ANI Reqd Enter n.

3. Select F3 to save these settings.

86 Telephony Connectors Programmer Guide March 2012


Set the routing pattern
This section describes how to set the route pattern for CM to SES extensions. In this example,
the Dial Plan is set up to look for 47 as the matching pattern. The matching pattern 47 is set up
as the Dialed String in the AAR table. The Pattern Number field in the Route Pattern form must
match 47 as the matching pattern.
To set the route pattern for CM to SES:
1. In the ASA application, type change add route-pattern next at the command line to open
the Route Pattern form.
2. Complete the following fields on this form:

Field Description

Pattern Number Enter the number to assign to the pattern. For this
example, enter 47.
This pattern can contain more than the 2 digits (47) in
this example. Some organizations use as many as 5
digits because their numbers are not contiguous.
Pattern Name Enter the name to assign to the pattern.
Secure SIP Enter n.
Group No Enter the number of the trunk being used, example 5.

3. Select F3 to save these settings.

Verify the order of IP codec sets


The IP network region uses the G.711MU codec set, so G.711MU must be the first codec set
listed on the IP Codec Set form in the ASA.
To verify the IP codec sets are listed correctly:
1. In the ASA application, type change ip-codec set at the command line to open the IP
Codec Set form.
2. In the Audio Codec column, verify the G.711MU set is listed first.
3. If GU.711MU is not listed first, move it to the first position.
4. Select F3 to save this change.

RONA
The SipTS supports RONA (Redirect on No Answer) functionality. IC 7.3 should already be
enabled for RONA.
Perform the following steps to ensure the system is RONA enabled:
1. Start IC Manager, if it is not already running.
2. Select the Agent tab.

Telephony Connectors Programmer Guide March 2012 87


3. Select Tools > Groups.
4. Select the Properties tab
5. Select Agent/Voice/Configuration from the Sections pane.
6. Make sure the ronatimeout parameter is set to a value other than 0.
7. If the ronatimeout is set to 0, change the value to the number of seconds you want the
system to wait before it redirects work.
8. Select OK to save any changes.

SIP Enablement Services


This section provides the SES configuration procedures that are required for SIP Telephony
Server. Prior to running these procedures, ensure SES must be installed and configured on a
Non-VMWARE ESX platform.

! Important:
Important: Due to possible performance issues associated with running SES on VMWARE,
Avaya does not recommend the use of a VMWARE platform.
Before you begin, record the following information from the SES installation:
● System IP address
● Host Type (Home/Edge)
● SIP domain name
● License host FQDN of the SES server
● Admin password
● SES Database user MVSS password

SES server configuration


This section describes the steps required to configure the SES server for SIP Telephony Server.
To configure the SES server for SIP Telephony Server:
1. Open the Administration Web Interface (for example, http://192.168.10.134/admin
where 192.168.10.134 is the IP address of the SES.)
2. Select Media Server from the left pane.
a. At the Edit Media Server Interface page, enter the following parameters:

Field name Entry

Media Server Interface Name Name of the Communication Manager CLAN interface
Host IP address of the SES server

88 Telephony Connectors Programmer Guide March 2012


Field name Entry

SIP Trunk Link Type Select TLS


SIP Trunk IP Address IP address of the CLAN on Communication Manager
Media Server Admin Address IP address of the active Communication Manager
Note: CM has Active, Standby, and Alias addresses.

b. Click Update to save the changes.


3. Select Media Servers>List from the left pane.
4. Select the Map option and enter the following to enable SES to call CM extensions:
a. In the Name field, enter the name assigned to the map, for example 40extensions.
b. In the Pattern field, enter the map pattern, for example, ^sip:4[0-9]*@avaya.com.
Note:
Note: Media mappings tell SES which numbers reside on the CM host and how to route
those calls to CM. See Map patterns on page 90 for details on regular expression
patterns in the Media Server Address Map.
c. Click Update to save the change.

Add route points, B2B, Reserved DNs and agents as endpoints


To add route points, B2B, Reserved DNs and agents:
1. Open the Administration Web Interface (for example, http://192.168.10.134/admin
where 192.168.10.134 is the IP address of the SES.)
2. Select Users>Add from the left pane.
3. At the Add Users page, enter the following users:
● B2B (single B2B in SES)
● Route Point (can be multiple route points in SES)
● Reserved DN (can be multiple reserved DNs)
4. Do not check the Add Media Extensions option.
5. Click Update to save the changes.
6. At the Add Users page, enter the agent ID:
7. Check the Add Media Extensions option.
8. Click Add to add the user, then click Continue.
9. At the prompt, enter the Media Server extension for the agent.
10. Click Add to add the extension, then click Continue.
11. Click Update to save the agent record.

Telephony Connectors Programmer Guide March 2012 89


Administering users as endpoints
Route points, B2B, Reserved DNs and agents should be users in SES. The agent extensions
should be administered as OPTIM users. The agent extensions must have corresponding CM
extensions and those CM extensions must be tied to SES agent users through media server
extensions configured in SES. The users must have a numeric ID.
Route points, Reserved DNs and B2B should not be administered in CM.
Wait treatment devices should not be users in SES. They should only be configured in CM
through vectors.
Conference devices should be administered in CM and configured as conference devices in
SES. Conference devices should not be administered as Users in SES.

Map patterns
This section describes the patterns for a contact and a map in a media server address map. The
media mappings tell SES which numbers reside on the CM host, and to route those calls to CM.
For configuration requirements to use SES as a proxy, see SES Installation and Configuration.

Pattern for a contact in a media server address map


The regular expression pattern for a contact describes how to get calls to the CM. This pattern
is used by a media server to match the calls of any contact and send them to the media server
IP address displayed after the "@" sign.
^sip:$(user)@123.4.56.78:5061;transport=tls
The following table describes the pattern for a contact example:

Field/Symbol Description

^ The beginning of a line in the SIP message.


sip: The protocol. This could be sip: and sips: protocols.
$ A user identification.
@ An indicator that a media server IP address is next in the pattern.
123.4.56.78 The IP address of the media server.
5061 The port number of the TLS.
transport=tls The transport method. For customer use, this must be tls on port 5061.

Pattern for a map in a media server address map


The regular expressions in the Media Server Address Map describe which addresses should be
sent to the contact.

90 Telephony Connectors Programmer Guide March 2012


This following regular expression in this pattern sends all calls to 6xxxx extensions to CM.
^sip:6[0-9]*@customer.com*
The following table describes the pattern for a map example:

Field/Symbol Description

^ The beginning of a line in the SIP message.


sip: The protocol. This could be sip: and sips: protocols.
538 The specific digits (538) of the calls.
[0-9] The variety of digits to match.
* For any length.
@customer.com The domain

In the contact example in Pattern for a contact in a media server address map on page 90, the
map example fields are:

Field/Symbol Description

^ The beginning of a line in the SIP message.


sip: The protocol. This could be sip: and sips: protocols.
nnn The specific digits
[nnn-nnn] The variety of digits on which to match.
{nnn} The length of match digits.
* Any length.
@ An indicator that a media server IP address is next in the pattern.
123.4.56.78 The IP address of the home host or edge host that takes the call
because of a successful match.

This pattern matches for any seven-digit call in area code 303.
^sip:303{3}[0-9]{7}@customer.com*
This pattern matches calls from anywhere in Uzbekistan, country code 7.
^sip:7{1}[0-9]*@customer.com*
This pattern matches calls from Australia, country code 61, city of Sydney, city code 2.
^sip:61{2}2{1}[0-9]*@customer.com*

Telephony Connectors Programmer Guide March 2012 91


Pattern
This is a Linux regular expression that will match the extension numbers you wish to map.
Regular expressions are a way to describe text through pattern matching. The regular
expression is a string containing a combination of normal text characters, which match
themselves, and special metacharacters, which may represent items like quantity, location, or
types of characters.
Note:
Note: You do not need to match punctuation like dashes, periods, or parentheses,
which may sometimes be used to enhance the readability of telephone
extensions. For example, [0-9] represents any single digit and * represents any
number of digits or characters.
The previous example (^sip:538[0-9]*@customer.com) matches any SIP message for
any extension three or more digits in length, beginning with the digits 538, and ending with any
other sequence of digits, in the customer.com domain.
An example of a pattern useful for matching outside call messages would be:
^sip:9[0-9]*@customer.com
This example would match a SIP invite message for any length of dial string beginning with the
digit 9.

Add telephone stations for OPTIM extensions


This section describes the steps required to add telephone stations for OPTIM extensions to
pass CM features to the SES server. Information for the other fields, such as config set, is
provided in the Administrator Guide for Avaya Communication Manager.
To add telephone stations for OPTIM extensions:
1. Open the Administration Web Interface (for example, http://192.168.10.134/admin
where 192.168.10.134 is the IP address of the SES.)
2. Select Start GEDI from the left pane.
3. Login to GEDI.
4. Type add off-pbx-telephone station in the command field.
5. In the Station Extension field, enter the agent phone extension from the CM.
6. In the Application field, enter OPS.
7. In the Phone Number field, enter the phone extension from the SES.
8. In the Trunk Selection field, enter aar.
Note:
Note: If you do not have contiguous numbers for the agents, aar works if it does not
conflict with the existing rules of the aar. Or you can enter the SIP trunk number in
the Trunk Selection field of the off-pbx station mapping screen.
9. Click Update the save this telephone station information.

92 Telephony Connectors Programmer Guide March 2012


10. Type change station <station extension> in the command field where <station
extension> is the value from step 5 above.
11. On page 1, enter the phone station type in the Type field.
12. On page 2, set Mapping Mode to both.
13. Click Update the save this telephone station information.

Interaction Center
This section describes how to configure and administer the SipTS for Communication Manager
on Interaction Center. For information about the specific versions of the CM switches supported
in this release of Avaya IC, see Prerequisites on page 67.

SIP domain structure


SIP Telephony Server requires a domain structure where specific IC servers are assigned to
specific IC domains. This structure should already be created on your existing IC 7.3 system.
For more information, see IC Administration Volume 1: Servers & Domains.
The following table lists the IC domains and indicates which IC servers must be assigned to
them:

Domain name Assigned servers

Default ORB server


Directory server
Data server
License server
Alarm server
User Blender server
Workflow server
Java Application Bridge server
Agent Data Unit server
Resource Manager Resource Manager server
Agent Data Unit server
SIP (or Voice) Workflow server
Report server
Telephony Server Adapter server
Telephony server (SipTS)
Agent Data Unit server
DUStore server
Electronic Data Unit server

Telephony Connectors Programmer Guide March 2012 93


Advocate park device
Make sure your existing IC 7.3 has Business Advocate installed. Business Advocate can use
park devices on CM and park devices that are not on CM. The park device can be administered
on any system that can handle SIP INVITE messages, auto answer them, and be configurable
to provide various wait treatments.
Note:
Note: Although they are not tested for SIP Telephony Server yet, Voice Portal, and
Asterisk are some alternative systems that should work for wait treatment. Voice
Portal will be released for SIP soon.
For more information about on park devices on CM, see IC Business Advocate Configuration
and Administration.
Calls hit a particular wait treatment based on the wait treatment style provided by the Advocate
qualification flow if there are no agents readily available to answer the call. The flow chooses
the wait treatment style to be applied on the call. The wait treatment style is configured as part
of the Advocate parking device configuration. Wait treatment style "1" is a special device in that
RONA calls are parked to that device before the call is delivered to another agent. This is the
same as the standard Advocate configuration.
When writing vector steps for the Park device, follow the guidelines provided in IC Business
Advocate Configuration and Administration. The one difference is when configuring Advocate
parking devices in CM for the SipTS, the vectors should not contain the adjunct route step.

SipTS configuration
This section describes the required and optional parameters that must be set to configure the
SipTS on IC Manager.
To configure the SipTS on IC Manager:
1. Start IC Manager, if it is not already running.
2. Select the Server tab.
3. Select Create Server on the toolbar.
4. Select the TS server type.
5. Configure the following parameters at the appropriate tabs.

94 Telephony Connectors Programmer Guide March 2012


TS tab
The settings on this tab pertain to Communication Manager switches supported in IC 7.3:

Field Recommended entry Notes

ACD Name Select the name of the ACD The name of the ACD that this SIP TS
configured. is serving from a pick list of names
assigned to the ACD during system
configuration.
ACD Type Select SIP The type of ACD with which the SIP TS
will communicate.
SBC Type Select the appropriate SBC The SBC that SIPTS is integrated with.
Type
ACD Protocol Select SIP The protocol to be used between the
SIP TS and the ACD.
Site Select the site of your TS. Select the site that this server is
associated with. The SIP TS uses this
information to retrieve the queues for
internal monitoring.
SIP B2B Device User name of single B2BUA This is mandatory property.
within the SipTS. Note: One SIP TS can have only one
For example, 62011. B2BUA.
SIP B2B Password for the B2BUA.
Password
SIP Domain The IP address or FQDN of the This is mandatory property.
SIP Registrar. For example, avaya.com
SIP Fail Device The route point or phone This is mandatory property.
number, for example, 47000. It cannot be the park device with wait
treatment style 1.
SIP Outbound The IP address or FQDN of the This is mandatory property. The
Proxy SIP Proxy. address must be a valid SIP URI and
starts with sip, for example
sip:135.8.52.125.
Note: Use sips instead of sip for TLS
support.
For example,
sips:135.8.52.125.

Telephony Connectors Programmer Guide March 2012 95


Field Recommended entry Notes

SIP Protection The SIP domain name This is advanced and optional property.
Domain Its required format is: sip:avaya.com
The property is used for Digest
Authentication.
SIP RoutePoint The common password for all route
Password points configured in any TSA. The
same password is used for all
Reserved DNs.
Advanced Properties
Enable Call Check to create call containers If checked, the SIP TS creates call
Containers for the SIP TS. containers to store information about
Default is checked. the different legs of calls.

Enable Agent Check to turn on agent If checked, the ADU containers for the
Containers containers for the SIP TS. SIP TS are turned on.
Default is checked.
Use 5.6 State Check to give containers for Example, ts.loginid.
Fields agent states entries in the 5.6 For more information, refer to the IC
style. Telephony Connectors Programmer
Default is unchecked. Guide.
Use 6.0 State Check to give containers for Example, voice.loginid.
Fields agent states entries in the 6.0 For more information, refer to the IC
style. Telephony Connectors Programmer
Default is checked. Guide.
Wrap up by Check to have the SIP TS wait If unchecked, the SIP TS may remove
Client for the wrap-up process to be the call information from memory
completed before removing the before wrap-up is complete.
call information from memory.
Default is unchecked.
Wrap up Client Enter the period of time, in If unchecked, the SIP TS issues a
Time to Live minutes, that the SIP TS waits request for wrap up on behalf of the
(min) for the wrap-up process to be client.
completed by the client.
Default is 15.
Wrap up Server Enter the period of time, in If unchecked, the SIP TS issues a
Time to Live minutes, that the SIP TS waits request for wrap up on behalf of the
(min) for the wrap-up process to be server
completed by the server.
Default is 2.

96 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Call Plan Enter the number of digits on This helps identify the call as internal to
the external extension numbers the switch.
used by the contact center.
Default is 6.
Thread Pool Size Enter the number of threads to
allocate for the server thread
pool.
Default is 20.
Queues Owned This is not used for SIP TS.
Default ANI Enter the default ANI value, for
incoming calls, which did not
carry ANI information.
Abort on Link Check to abort (stop) the TS if
Down the link goes down.
Default is checked.
Call Record Time Enter the maximum period of A TpDisconnected event is generated
to Live time, in hours, that a for this record.
CtsCallRecord can remain in
memory before the SIP TS
cleans it up.
Default is 24.
Enable Reason Check to configure the ACD for The application can use reason codes
Codes reason codes. for agent logouts and agent
Default is unchecked. changeState to Busy.

Default Aux Enter the code to use when the SIP TS does not support aux reason
Reason Codes agent does not enter a code code.
when changing their state to
Busy.
Default is 0.
RONA via Call Check to enable RONA This tells the TS that the switch is
Divert Request (Redirect on No Answer). capable of handling a call deflection
Default is checked. (divert) on an alerting device or if the
call needs to be answered before it can
be transferred or conferenced to
another destination.
RONA indicated Check to enable the switch to
via Call Divert send a divert event when RONA
is in progress.
Default is checked.

Telephony Connectors Programmer Guide March 2012 97


Field Recommended entry Notes

Ccti Trace Level Select the desired log level for Valid values are debug, info, warning,
Ccti. and error.
Default is info.
Cpbx Trace Select the desired log level for Valid values are debug, info, warning,
Level Cpbx. and error.
Default is info.
TSV5 Trace Select the desired log level for Valid values are debug, info, warning,
Level TSV5. and error.
Default is info.
SIP Register Default 3600
Timer
SIP Message Default is unchecked. Select this check box to log additional
Log SIP messages.
DTMF Tone SIP TS does not support DTMF.
Duration
DTMF Pause SIP TS does not support DTMF.
Duration

Advocate tab
The settings on this tab pertain to the Communication switches supported in IC 7.3:

Field Recommended entry Notes

Enable Advocate Check to enable Business Checking this parameter displays the
Advocate. other parameters listed in this table.
Default is unchecked.
Default RONA Select a parking device on
Destination the same ACD as the server.
Optional Backup Link No Selection
for Advocate

Add agents using SIP phones


The next step is to add the agents to Interaction Center.
To add agents using SIP phones to IC:
1. In IC Manager, select the Agent tab.
2. Select the workgroup from the left pane to which you want to add the agent.

98 Telephony Connectors Programmer Guide March 2012


Note:
Note: If you create a single workgroup with all of your agents in it, Avaya Agent users
may experience long wait times when opening the Unified Agent Directory and
selecting agents from that list. Avaya recommends that a single workgroup
should contain no more than 500 agents.
3. Select Agent > New to display the Agent Editor.
4. Select the General tab and enter the basic agent information.
5. Select the Channels tab.
a. Select the Voice option from the Channel drop down menu.
b. Enter the Phone ID and Equipment number that matches the User ID you created in
SES for this agent. The SES User ID must be numeric. The Password field can be
blank.
c. Skip the EAS drop down field, it does not apply to SIP phones.
d. Select OK.
6. Enter the pertinent agent information on the remaining tabs, see IC Administration Volume
2: Agents, Customers, & Queues for more information.
7. Select OK at each tab to save the settings.

Agents using DCP and IP phones


When using DCP and IP phones with the SipTS, the agents are not logging in to
Communication Manager.
To add agents using DCP and IP phones:
1. In IC Manager, add the agent like a SIP phone user.
2. At the Channels tab.
a. Select the Voice option from the Channel drop down menu.
b. Set the Phone ID and Equipment to match the physical phone extension.
c. Skip the Password and Queue fields, they are not used by the SipTS.
d. Set the Phone Type to EAS.
e. Select OK.
3. Enter the pertinent agent information on the remaining tabs, see IC Administration Volume
2: Agents, Customers, & Queues for more information.
4. Select OK at each tab to save the settings.

Call transfer configuration


All call transfers except consultative transfers are implemented in a single step. Consultative
transfers are two step transfers. If the user transfers a call without consult, the Transfer button
on the agent desktop is implemented through single step transfer (Blind) in SipTS.

Telephony Connectors Programmer Guide March 2012 99


The default implementation of the IC transfer feature is a two step transfer in a traditional TS
configured for Communication Manager. In this implementation, the system parameters are set
to enable the two step transfer, which does not work in SIP TS.
This section describes how to change the transfer parameters for Avaya Agent and Avaya
Agent Web Client to enable single step transfer for the SipTS.

Avaya Agent configuration


To change this behavior on Avaya Agent clients:
1. Open a text editor, such as Notepad.
2. Go to the <AVAYA_IC_HOME>/bin directory.
3. Open the vtel.ini file.
4. Set the TransferBlind parameter to y, see the following example:
TransferBlind y # Allow a blind transfer

5. Set the TwoStepTransfer parameter to n, see the following example:


TwoStepBlindTransfer n # Performs a 2-step transfer-init, then an automatic
complete-or-cancel. 1-step if not enabled.

6. Select File>Save to save the changes.

Avaya Agent Web Client configuration


To change this behavior on Avaya Agent Web Client you must edit the existing property setting
for single step transfer and apply it to the TransferType property.
To edit the single step property value:
1. In IC Manager, select Tools>Properties.
2. Select the Agent/Desktop/Voice in the Property Section pane.
3. Select TransferType in the Properties pane.
4. Select the Values tab.
5. In the Name field, enter Single-step.
6. In the Description field, enter a description for Single-step.
For example, a single step transfer uses a single request to the connector. This is a blind
transfer.
7. Select OK to save the property value.

Conference calling
This section describes how a conference call is setup when using SipTS. For more information
about conference calls on the SipTS, see Conference incoming calls on page 71.

100 Telephony Connectors Programmer Guide March 2012


Set up a conference
This section describes how to set up a SipTS conference. The SipTS currently supports 1
customer and 2 agents per conference.
In this example, agent A and agent B are in a call and agent A initiates a conference to agent C.
1. The SipTS sends an INVITE to confsvr@<domain> where domain is the SIP domain and
SES is set as the outbound proxy.
2. SES looks for available, non-reserved conference points.
3. SES sends the 302 redirect with the contact address pointing to one of the available meet
me points after negotiating with the CM.
4. The SipTS acts as a B2BUA and uses the contact address (example, [email protected])
to set up calls between agent A, agent B, and agent C to the same contact address
returned in the 302 redirect.
5. The SipTS internally creates three calls to the three parties on the conference.
6. Agent A, agent B, and agent C are talking to the same end point on the CM. Due to the
nature of the meet me end point, the media is mixed and the users are in the conference
mode.

Configure Conferencing on CM
This section describes how to configure Communication Manager for the Conference feature.

Enable the meet-me customer option


The Enhanced Conferencing feature must be enabled. This allows you to use the meet-me
conferencing, selective conference party display, drop, mute, and no-hold conference features.
To enable enhanced conferencing:
1. Log on to the Avaya console.
2. Enter the Change System Parameter Features command.
3. At the system-parameters customer-options form, set the Enh Conf parameter to Y.

Administer meet-me numbers (VDN)


Meet-me numbers used for conferencing must be administered on both the CM and SES. The
password does not need to be administered for these meet-me numbers and the password digit
collection and verification step does not need to be administered on the vector. This is because
the meet-me number is assigned from a pool of administered numbers and users are not aware
of which number is assigned when a conference is initiated.
To administer meet-me numbers:
1. On the system console, add the VDN, for example VDN 501.
2. On page 1, set the set meet-me conf parameter to y.

Telephony Connectors Programmer Guide March 2012 101


Note:
Note: The Enh Conf on system parameters must already be set to y, see Enable the
meet-me customer option on page 101.
3. The Extension, Name (for example, “meet-me 5001 - SES conf”), Vector Number,
meet-me conf, COR, and TN fields are displayed.
4. Set the COR so it is accessible all endpoints.
5. Go to page2, meet-me conf parameters.
6. Leave the Conference Access Code field blank.
7. In the Conference Controller field, enter a user on CM who can change/remove the
meet-me access code if it gets administered. If left blank, any station user with console
permissions can change the access code using the FAC.

Administer vectors
This Vector Administration screen provides a series of commands that specify how to handle
calls directed to a VDN. The SIP endpoint that is joining meet-me conference is similar to a
H.323 IP trunk user, there is a slight delay in setting up the audio channel. But connecting the
user is an asynchronous operation. Since the vector steps are executed immediately, it allows
the party to join a conference before setting up the audio channel. As a result, the caller may not
have talk path with others in the conference.
To prevent this, include a wait step in the vector for a short duration (1 second) before the party
joins the meet-me conf. Alternately, you could include the play announcement step. The
announcement works because it takes time to attach to the announcement port, etc. Since
meet-me vectors are generally configured with announcements, this should rarely be an issue.

Example
The following is an example of a meet-me vector for CCS Conferencing. The same meet-me
vector must be used on all meet-me VDNs for consistent operation and user experience.
Simple meet-me vector steps are provided in this example. More steps may be added to make it
more sophisticated.
1. On the Vector Administration form, add vector 1.
2. Set the Meet-me Conf field to Y.
3. Set the Lock field to Y. This ensures the vector cannot be changed by adjunct vectoring
programs such as Visual Vectors.
4. Enter a name for this vector.
5. Add the following vector steps:
a. Step 1: announcement 4001 (where 4001 refers to the announcement port. Must
record the announcement such as “you are joining a conference”);
b. Alternately, step1 could be: wait-time 1 sec hearing ringing
c. Step 2: route-to number meet-me number if unconditionally

102 Telephony Connectors Programmer Guide March 2012


d. Step 3: stop

Configure Conferencing on SES


On the SES web administration pages, configure the media server pointing to the CM where
meet me conference points are administered. Add the same meet me conference points and
attach to the media server that is administered above. For more details, see SES Installation
and Configuration.

IVR integration
SIP Telephony Server supports two IVR configurations:
● IVR First
● Traditional IVR Behind IC

IVR First
IVR First requires a SIP IVR. It uses the SIP IVR with the customer data sent to IC in INVITE
messages. In this configuration, the SIP IVR receives the call before it reaches IC and interacts
with the customer. Customer data is packaged in the INVITE message using extended headers
in the message. IC receives the call and processes SIP INVITE. This processing includes
putting the initial contents of the INVITE message into the EDU field sip.invite.msg. An IC
workflow block can be used to extract the headers that contains the customer data. The
customer data is then used for caller segmentation and routing in the same way as the
traditional IVR Behind IC configuration.
With IVR First, you can connect the SIP IVR to the SBC, which is connected to SES, which is
connected to IC or you can put the SIP IVR between the SBC and SES. Either way, there is no
direct interaction between IC and the SIP IVR.
In a traditional IVR Behind IC configuration, the VOX server is used to put the customer data
into the EDU. The IVR First configuration does not use the VOX server, because it passes the
customer data with the incoming INVITE message, so the VOX link to the IVR is not needed.
For detailed configuration information, see the SIP IVR configuration documentation.

Traditional IVR Behind IC


IVR Behind IC is the traditional IVR implementation that uses the VOX server. Perform the
procedures in this section to integrate SIP Telephony Server with an IVR Behind IC
implementation.
If your IC implementation does not include an IVR, skip these procedures.

Telephony Connectors Programmer Guide March 2012 103


Configure IVR extensions
To route incoming calls to an IVR on your system, you must define the Group Extension and the
IVR extensions in the Hunt Group on the CM. The workflows need this information to route the
calls to the Group Extension in the Hunt Group that contains the IVR extensions. This enables
the Hunt Group to route the calls to the IVR ports for the extensions.
Perform the following steps to configure IVR extensions on the CM:
1. In the ASA application, type change hunt-group<number>.
2. On page 1, in the Group Extension field, enter the extension that will contain the IVR
extensions.
3. On page 3, in the Ext fields, enter the IVR extensions to assign to the group extensions,
for example 89651 and 89652.
4. Select File>Save to save these settings.

Set public unknown numbering


Perform the following steps to set public unknown numbering IVR extensions:
1. In the ASA application, type add public-unknown-numbering next.
2. Complete the following fields on this form:

Field Entry

Ext Len The number of digits in the extension. For example,


the number of digits in extension 89651 is 5.
Ext Code The first <n> digits of the extension number
specified in the matching pattern. For example, the
first 2 digits in the extension number 89651 are 89.
This field can contain more than 2 digits. Some
organizations specify as many as 5 digits.

3. Select File>Save to save these settings.

104 Telephony Connectors Programmer Guide March 2012


Configure workflow assignments
To support a non-SIP IVR, configure the workflow in Avaya Workflow Designer as illustrated in
the following example. This workflow is required to prevent IC from losing calls when routing
them to a non-SIP IVR. See the Avaya Workflow Designer User Guide for instructions.

The workflow assigns to the SipTS for the initial incoming route point used for routing calls to
the IVR. The workflow should also assign to the SipTS for the IVR Hunt Group extension. The
workflow is run when there is an incoming call and it routes the call to the Hunt Group that is
administered with the IVR ports.
1. Assign the channel *r<incoming VDN number to the IVR> on the workflow. This points to
a route point set up in SES.‘
2. Run the workflow on the TS.IncomingCall event that routes the call to the Hunt Group
extension.
3. Assign the channel *q<group extension in the Hunt Group> on the workflow.

Configure VOX server


Configure the VOX server to assign to the SipTS for IVR port extensions. This procedure is the
same as configuring an IVR for IC 7.3. See VOX Server Programmer Guide for instructions.

Configure IVR Scripts


Modify the IVR scripts to call the TS.TransferVDU method to the original Advocate route that is
monitored by the Telephony Services Adapter (TSA) server.

Telephony Connectors Programmer Guide March 2012 105


Modify the IVR scripts to hard code the numbers that can be called from the SipTS. These
numbers must contain numeric characters only. Special characters (such as #, @, *, etc.) are
not allowed in the dialable numbers.
See the External Function Library documentation for your IVR for instructions.

Call Flow
This section describes an IVR call flow scenario.

Step Description

1 Call is delivered to the IVR specific route point assigned through the workflow.
2 SIP layer of the SipTS generates the Incoming call event to the PBX layer of the
SipTS.
3 PBX layer creates the EDU and sends the TS.Incomingcall event to the
Workflow server because the work flow is monitoring that extension.
4 Workflow calls TS.Route to route the contact to the Hunt Group.
5 PBX layer manipulates the Route command to the SIP layer to execute the
REFER command.
6 SIP layer executes the REFER command to the Hunt Group through the B2B
because the Hunt Group is a known extension to SIP layer. The original EDU is
preserved.
7 As part of the B2B operation, SipTS invites the Hunt Group and waits for 200
OK on the device type eCtiSIPDevice_Queue.
8 On 200 OK, SIP layer gets the port connected to the call even though it sent the
call to Hunt Group. SIP layer takes the port connected from the 200 OK and
posts the IncomingCall and tpAnswered events with the connected port as the
device and with the EDU that is already in place.
9 PBX layer posts the TS.IncomingCall and TS.Connect events through upper
layers on the same session of the vox.assign because the device is known to
TS through VOX.Assign.
10 VOX server performs normal processing by matching the TS.Connect
TS.IncomingCall,and Vox.NewCall and updates the data in the EDU.
The VOX server then transfers the call to the Original Route point device that is
monitored by Advocate (the Route Point URI that is administered in SES for
Advocate) by calling the TS.TransferVDU.
11 This step is a pass through the PBX layers and it is issued to the SipTS as a
REFER command preserving the EDU ID.

106 Telephony Connectors Programmer Guide March 2012


Step Description

12 When the call arrives at the original Advocate monitored route point (SES
Advocate monitored URI), the EDU ID is preserved and the incoming call event
is posted to the TSA and it follows through to the workflow.
13 Original Advocate call flow continues. In this call flow you can query the EDU to
get the data that is written by the VOX and assign the Advocate qualifiers.
14 Call is delivered to the agent following the normal SIP call flow preserving the
original EDU.

Mixed SIP and Traditional Telephony server environment


Mixed SIPTS and Traditional TS environment enables transfers and conferences across SIP
and Traditional Telephony servers using existing Multi Site Heterogeneous Switch feature and
allows them to operate as one large contact center. For the methods related to make call,
conference, transfer, and route, the TS determines, via a MSHS protocol, how and where to
route a call. See Multi Site Heterogeneous Switch on page 147.
The mixed environment can either contain only SIP Telephony servers or a mixture of SIP
Telephony servers and Traditional Telephony servers.

Mixed environment of SIP TS only


SIP TS moves calls from the incoming route point to either WT or an Agent using a REFER.
That REFER always generates an INVITE to the Referring entity, that is, the same SIP TS. For
mixed environment of only SIP TS, Referring entity can be B2B Uri of other SIP TS based on
the name resolution performed through an ADU query. In this case the INVITE will be sent to
B2B Uri of other SIP TS along with User-to-User information. B2B UA of other TS will take care
of the call in regular manner going forward as described in Deliver incoming calls to available
agents on page 70.
For this type of environment Reserved DN configuration is not required. Enabling Hetero Switch
transfer and configuring TS Group will ensure name resolution performed through ADU query.
Note:
Note: All SIP Telephony servers within the TS group for this environment should be able
to send REFER to each others B2B Uri. TS.HeteroSwitchHandoff() will not be
used for this environment. Calls will be transferred by referring to B2B UA of other
SIP TS.

Telephony Connectors Programmer Guide March 2012 107


Mixed environment of Traditional TS and SIP TS
For mixed environment of Traditional TS and SIP TS, MSHS is invoked via the method
TS.HeteroSwitchHandoff(), which passes the EDUID and the final destination for the call to the
destination TS.
The source TS expects a response with a phone number to dial, which is used to establish the
voice path between the two switches.
The destination TS gets this phone number from a list of Reserved DNs. The destination TS
scans the list and finds an entry that is not in use. It then associates the EDUID and the final call
destination with that entry, and reserves the entry for a period of time.
Once informed about which number to dial, the source TS would dial that number. When the call
reaches the reserved VDN, the destination TS is notified, and it associates the EDUID with the
call and routes the call to its final destination, thus releasing the reserved DN, and making it
available for re-use by another MSHS transaction.
For this type of environment Reserved DN configuration is required along with enabling Hetero
Switch transfer and configuring TS Group of SIP & Traditional Telephony servers.
Note:
Note: For SIP TS B2B to be able to call reserved DN of Traditional TS, make sure that
SES can find the reserved DN through patterns in media server address map. For
Traditional TS to be able to call reserved DN of SIP TS, make sure the reserved
DN users are set up in the Uniform Dial Plan so CM can deliver them to SES.

Frequently Asked Questions


This section provides answers to frequently asked questions (FAQs) about SIP Telephony
Server.

SipTS functionality
What happens with Service Observing?
SIP Telephony Server does not use the Call Center features, so Service Observing is not
supported. Call recording tools, such as Witness, that require Service Observing cannot be
used.
What about existing vectors and adjunct routes in an IC environment?
Unlike the standard TS routing, the SipTS does not use a vector with an adjunct route. CM
delivers the call to the SES server, where the call is immediately sent to the Parking vector until
it can be delivered to an agent.

CM configuration
What is the role of the Uniform Dial Plan and AAR table for integration to SES?

108 Telephony Connectors Programmer Guide March 2012


The Uniform Dial Plan and AAR tables describe which call extension ranges (or specific
extensions) to deliver to the SIP Trunk. For example, “77” as the matching pattern in Uniform
Dial Plan matches all numbers starting with 77 (for example, 77123, 77555, etc).
Multiple matching patterns may be required if agents and IC users have non-sequential
numbers (one customer hard coded their 5 digit extensions to map). If matching patterns are not
set up correctly, CM does not know how to deliver calls to the SES users.
What is the role of TS Route Point user for call delivery?
The route point must be set up so that calls arriving on that VDN are delivered to the SES
server. In a sample call flow, calls arrive at VDN 67212. This number is added to the Uniform
Dial Plan to tell CM to send this call to SES. For this implementation, digit replacement was set
up in Uniform Dial Plan such that 67212 is converted to “69111”. Normally this is not required.
What is the role of SIP TS Reserved DN UA in MSHS?
The Reserved DN must be configured so that calls arriving to that UA due to MSHS are
delivered to the SES server. This number is added to the Uniform Dial Plan to tell CM to send
this call to SES.
My agent is available, does the call still go to the Parking vector?
Calls go directly to the agent from the incoming route point if an agent is available.
Why would I get an “invalid destination” error from CM during the call?
Make sure the Route Point, Reserved DN and B2B users are set up in the Uniform Dial Plan so
CM can deliver them to SES. Also, make sure that SES can find the parking VDNs and
Reserved DN of traditional TS on CM. When a call comes in, it initially comes to the route point
user, but it will be handed off to the B2B user and CM needs to know to deliver this to SES.

Telephony Connectors Programmer Guide March 2012 109


For Business Advocate setup, do the parking VDN/vectors need to have adjunct routes?
No, adjunct routes are not used. This is different from Business Advocate with the standard TS.
The following example illustrates a Parking Vector”

SES Configuration
Do the IC Route Point, Reserved DN and B2B agent users need to be created in SES?
Yes, these users must exist in SES (but not in CM). Route Point UAs and Reserved DN UAs
use the same password configured in SIP RoutePoint Password in the TS tab of Telephony
Server configuration.
Are special user rights required to add the conference stations to SES?
Yes, SES checks the CM version when the conference stations are created. The SES user may
have to be promoted to a higher, super-user permission level to allow this. This promotion can
be temporary upon the creation of the conference extensions.
Do the parking VDNs need to be set up as users in SES?
No, SES only needs to be able to find the extensions on CM.

110 Telephony Connectors Programmer Guide March 2012


Aspect CallCenter
This section provides information necessary to configure and administer the Avaya TS to work
with the Aspect CallCenter switch.
For information about specific versions of this switch supported in the current release of Avaya
IC, see IC Installation Planning and Prerequisites.
You should configure the Aspect switch for the Avaya TS before proceeding with the steps in
this section. For instructions on configuring the Aspect CallCenter switch for the Avaya TS, refer
to IC Installation Planning and Prerequisites.

Software prerequisites
The following table lists the Aspect software that is required for the Avaya servers to work
properly with the Aspect CallCenter switch:

Software Purpose

Aspect CMI server version 4.X Installed and available via an Ethernet connection.
and 5.X Enables the Avaya TS to establish a connection to the
Aspect CallCenter System. The Avaya TS uses no
external libraries.
Aspect RealTime Data Server Installed and available via an Ethernet connection.
Enables the TSQS to gather statistics from the Aspect
CallCenter System.
Aspect RealTime Receiver Install on the same machine as the TSQS.
Custom Control
(RealTime Runtime version)

Refer to the IC Installation Planning and Prerequisites for more detailed information about IC
7.3 prerequisites.

Telephony Connectors Programmer Guide March 2012 111


Supported platforms
The servers that support the Aspect CallCenter System version 8.3 and 9.1 can be run on
various operating systems for IC. 7.3. The following table lists operating systems on which the
Telephony server can run for the Aspect CallCenter:

Operating System Avaya TS

Windows Server 2003 R2 SP2 Yes

Hardphone vs. softphone capabilities


The following table summarizes the capabilities of the Aspect CallCenter switch by comparing
its hardphone (manual) and softphone (telephony) capabilities. Events listed in the Hardphone
column are supported by the Aspect version of the Avaya TS when evoked manually through
the hardphone. Events listed in the Softphone column are supported by the Aspect version of
the Avaya TS when they are evoked through the softphone.

Capability Hardphone Softphone

alternate call yes yes


announce call transferred thru CCT yes no
answer call, connect yes yes
blind transfer (trunk calls only) no yes
bridge two calls yes no
busy (aux-work) no yes
conference call yes yes
consultative transfer yes yes
dial an agent supergroup yes no
dial a network access code yes no
hang up call yes yes
help yes no
hold call yes yes
last number dialed yes no
listen to customer messages yes no

112 Telephony Connectors Programmer Guide March 2012


Capability Hardphone Softphone

listen to mailbox messages yes no


login yes yes
logout yes yes
make call yes yes
make call, predictive no no
microphone yes no
monitor and control DN no yes
network transfer using inband signaling no yes, via MSHS
notepad yes no
off hook yes no
on hook yes no
play back message while recording yes no
ready (in service/manual-in) yes yes
reconnect held call yes yes
record data yes no
record mailbox greeting yes no
record name yes no
repeat message yes no
report emergency call yes no
report line problems yes no
return customer call yes no
review mailbox name or greeting yes no
review message before sending yes no
send DTMF tones yes yes
send mailbox message to another agent yes no
send a message to another extension yes no
speaker phone yes no

Telephony Connectors Programmer Guide March 2012 113


Capability Hardphone Softphone

supervisor yes no
third-party drop yes no
view statistics yes no
wrapup (after call work) yes yes

Note:
Note: When configured for the Aspect CallCenter switch, the Avaya TS does not
support "chained" consultation scenarios. If an agent initiates a consultative
transfer with a second agent, who answers the call before the transfer is
complete, the second agent cannot transfer this call to a third agent. In effect, the
second agent cannot transfer a call that was an uncompleted transfer from the
first agent.

On an Aspect CallCenter switch, the hardphone and softphone can become out
of sync if the contact hangs up the call during a consultative transfer. Reset the
phones to put them back in sync.

Telephony server configuration


The Avaya TS is configured on the Server Editor of IC Manager. This section provides the
parameters that must be set to configure the Avaya TS for the Aspect CallCenter via Portal, not
Event Bridge.
For information on adding and configuring servers on Avaya IC using IC Manager, refer to IC
Administration Volume 1: Servers & Domains.
Enter or modify the following parameters on the TS tab of the Server Editor. Right mouse click
on the screen and select the Show Advanced Properties option to display all of these
parameters.

Field Recommended entry Notes

ACD Name Select the name of the ACD The name of the ACD that this TS is
assigned to the Aspect switch. serving from a pick list of names
assigned to the ACD during system
configuration.
ACD Type Select Aspect The type of ACD with which the TS will
communicate.
ACD Model Select Aspect9 Aspect9 applies to all of the supported
versions of the Aspect ACD.

114 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

ACD Protocol Select AspectCMI The protocol to be used between the


TS and the ACD. Avaya IC
automatically selects AspectCMI when
ACD Type of Aspect is selected.
Site Select the site of your TS. Select the site that this server is
associated with. The TS uses this
information to retrieve the queues for
internal monitoring.
Aspect Contact Enter the IP address of the
Server Host machine that hosts the Aspect
Contact server.
Data Interlink Enter the Data Interlink number. The Data Interlink number from the
Number Aspect ACD thE TS uses to
communicate with the ACD.
Aspect Header Enter the link definition on the If this field is empty, the server uses the
Aspect switch. machine name of the ACD.
Device Enter the TCP/IP port where the For a list of default port numbers for
TS needs to create a components in the Avaya IC suite, see
connection. the IC Installation and Configuration.
Default is 7,046.
Monitored Agent Enter the number assigned to Do not complete this field if the TS is
Group the agent group to monitor. monitoring all the agent groups on
Default is 1. Avaya IC.

Monitored Trunk Enter the number assigned to Do not complete this field if the TS is
Group the trunk group to monitor. monitoring all the trunk groups on
Default is 1. Avaya IC.

Monitor All Agent Check this box if you want the This overrides the entry in the
Groups TS to monitor all agent groups. Monitored Agent Group field.
Default is unchecked.
Monitored Super Enter the number assigned to Leave this field blank if you do not want
Agent Group the super agent group to the TS to monitor the super agent
monitor. group.
Default is 1.
Monitor All Trunk Check this field if you want the This overrides the entry in the
Groups TS to monitor all trunk groups. Monitored Trunk Group field.
Default is unchecked.
Blind Transfer Enter the Call Control Table
CCT number used to perform blind
transfers.

Telephony Connectors Programmer Guide March 2012 115


Field Recommended entry Notes

Make Call CCT Enter the Call Control Table


number used to make calls
within the Aspect switch.
External Calls Enter the Call Control Table
CCT number used to make calls
external to the Aspect switch.
Route CCT Enter the Call Control Table
number used to route calls
external to the Aspect switch.
Transfer CCT Enter the Call Control Table
number used during call
transfers.
Transfer Init CCT Enter the Call Control Table
number used during transfer init
operations.
Predictive CCT Enter the Call Control Table
number used during predictive
operations.
Advanced Properties
Enable Call Check to create call containers If checked, the TS creates call
Containers for the TS. containers to store information about
Default is checked. the different legs of calls.

Enable Agent Check to turn on agent If checked, the ADU containers for the
Containers containers for the TS. TS are turned on.
Default is checked.
Use 5.6 State Check to give containers for Example, ts.loginid.
Fields agent states entries in the 5.6 For more information, refer to the IC
style. Telephony Connectors Programmer
Default is unchecked. Guide.
Use 6.0 State Check to give containers for Example, voice.loginid.
Fields agent states entries in the 6.0 For more information, refer to the IC
style. Telephony Connectors Programmer
Default is checked. Guide.
Wrap up by Check to have the TS wait for If unchecked, the TS may remove the
Client the wrap-up process to be call information from memory before
completed before removing the wrap-up is complete.
call information from memory.
Default is unchecked.

116 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Wrap up Client Enter the period of time, in If unchecked, the TS issues a request
Time to Live minutes, that the TS waits for for wrap up on behalf of the client.
(min) the wrap-up process to be
completed by the client.
Default is 15.
Wrap up Server Enter the period of time, in If unchecked, the TS issues a request
Time to Live minutes, that the TS waits for for wrap up on behalf of the server
(min) the wrap-up process to be
completed by the server.
Default is 2.
Call Plan Enter the number of digits on This helps identify the call as internal to
the external extension numbers the switch.
used by the contact center.
Default is 6.
Thread Pool Size Enter the number of threads to
allocate for the server thread
pool.
Default is 20.
Queues Owned Enter the name of the queue or The TSQS should not be associated
queues for which the TS is with this queue in any way.
responsible for creating queue
ADUs.
Default ANI Enter the default ANI value, for
incoming calls, which did not
carry ANI information.
Abort on Link Check to abort (stop) the TS if If enabled, the TS does not have to
Down the link goes down. manually restarted. It is restarted
Default is checked. automatically.

Allow Check to provide backwards


Unregistered compatibility with the old data
Subtype synchronization mechanism.
Default is checked.
Application Data Check to indicate this switch is
capable of persistent application
data.
Default is unchecked.
Aspect Header Check to post the
Upper aspect_header to the switch in
upper case format.
Default is unchecked.

Telephony Connectors Programmer Guide March 2012 117


Field Recommended entry Notes

Call Record Time Enter the maximum period of A TpDisconnected event is generated
to Live time, in hours, that a for this record.
CtsCallRecord can remain in
memory before the TS cleans it
up.
Default is 24.
Monitor Route Check to enable the switch to
Point monitor route points internally.
Default is unchecked.
RONA via Call Check to enable RONA This tells the TS that the switch is
Divert Request (Redirect on No Answer). capable of handling a call deflection
Default is unchecked. (divert) on an alerting device or if the
call needs to be answered before it can
be transferred or conferenced to
another destination.
On the Aspect TS, the Route CCT is
used to handle route events in place of
divert.
RONA indicated Check to enable the switch to
via Call Divert send a divert event when RONA
is in progress.
Request Timeout Enter the period of time, in
(sec) seconds, for the TS to wait for a
response after posting a
request to the switch.
Default is 15.
Route Point Time Enter the number of seconds a After this specified period of time, a
to Live (sec) call can remain on an TpDisconnect event is posted to the
unmonitored route point before call.
the TS cleans it up. Advocate users should set this value as
Default is 5. high as possible (999) to provide ample
time to deliver the call from the queue
to the agent.
TSV5 Trace Select the desired log level for Valid values are debug, info, warning,
Level TSV5. and error.
Default is info.
Ccti Trace Level Select the desired log level for Valid values are debug, info, warning,
Ccti. and error.
Default is info.

118 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Cpbx Trace Select the desired log level for Valid values are debug, info, warning,
Level Cpbx. and error.
Default is info.
EDU Updates Check to allow EDU updates. EDU updates are triggered by CCT
Default is checked. SendData/SendConnect commands.

Configuration tab
The following configuration parameters are not presented on the TS tab in IC Manager. Set
these parameters on the Configuration tab:

Field Recommended entry Notes

allow_names_mixed_case Enter "true" to enable processing Values: true or false


of queue names in the case that
comes in. If set to "false", queue
names will be set to lower case.
digits_in_data_x Enter a single character value to Values: A to D
indicate the Aspect data variable
in which the dialed digits number
string will be placed during Make
Calls and Blind Transfers.
Use A to allow 20 characters for
the DNIS value.
Default is D.
force_logout_for_login Enter "true" to have the TS try to Values: true or false
log the agent in continually until
the login succeeds.

Telephony Connectors Programmer Guide March 2012 119


IC Workflow considerations
Configure the workflow in the Avaya Workflow Designer as illustrated in the following example
using the instructions provided in the Avaya Workflow Designer User Guide. You must set
“pbxType” workflow to type “Avaya” for the Aspect version of the Avaya TS because the Aspect
version of the Avaya TS performs host-based-routing like an Avaya G3 switch

120 Telephony Connectors Programmer Guide March 2012


The following series of illustrations from the Workflow Designer shows a sample route flow for
processing a call arriving at a routing CCT.

Telephony Connectors Programmer Guide March 2012 121


Basic Properties tab
Set the “pbxType” workflow to type “Avaya” at the Basic tab of the Property Sheet frame
because the Aspect TS performs host-based-routing like an Avaya Communication Manager
switch.

Advanced Properties tab


Set the properties at the Advanced tab of the Property Sheet frame to those in your system
that match the properties in the following example. The tsMethod properties must be set to
Route.

122 Telephony Connectors Programmer Guide March 2012


Cisco Unified Contact Center
Cisco Unified Contact Center uses Cisco Intelligent Contact Management (ICM) for ACD
functionalities. Cisco Intelligent Contact Management (ICM) server acts as a bridge between
Cisco Contact enter and Avaya TS.
The Avaya TS communicates with Cisco Intelligent Contact Management (ICM) server via
Cisco ICM CTI Object Server (CTIOS). The Cisco CTIOS server sends the information that it
receives from the Avaya TS to the Cisco Intelligent Contact Management (ICM) server
For information about specific versions of this switch supported in the current release of Avaya
IC, see IC Installation Planning and Prerequisites.
You should configure the Cisco Contact Center setup which includes Cisco Voice gateway,
Communication Manager, Interactive voice Response server and Cisco Intelligent Contact
Management (ICM) server before proceeding with the steps in this section. Cisco Intelligent
Contact Management (ICM) server includes Application Gateway, CTI server and CTIOS for the
Avaya TS.
For Cisco related configuration, refer to the appropriate Cisco documentation wherever
applicable.
For more information about software requirements, see IC Installation Planning and
Prerequisites.

Software prerequisites
The following table shows the software required by Avaya IC Telephony for the supported Cisco
Contact Center switches and software.

Software Purpose

Cisco Communication Cisco Unified Communications Manager is a software


Manager (CCM) Version application that controls the voice gateways and IP phones,
6.1 thereby providing the foundation for a Voice over IP (VoIP)
solution. Unified CM runs on Cisco Media Convergence
Servers (MCS).

Telephony Connectors Programmer Guide March 2012 123


Software Purpose

Cisco ICM Version 7.5.1 The Cisco Unified ICM software provides contact center
features in conjunction with Unified CM and the IP Queuing
platform. Features provided by the Unified ICM software
include agent state management, agent selection, call
routing and queue control, IVR control, CTI Desktop screen
pops, and contact center reporting.
Cisco IP IVR Version 5.0 The Unified IP IVR provides prompting, collecting, and
queuing capability for the Unified CCE solution. Unified IP
IVR does not provide call control like Unified CVP because
it is behind Unified CM and under the control of the Unified
ICM software via the Service Control Interface (SCI).

For more information about IC 7.3 prerequisites, see the IC Installation Planning and
Prerequisites.

Supported platforms
You can run the IC servers that support Cisco Contact Center Server on various operating
systems in IC 7.3. The following table lists operating systems on which the Telephony server
can be run in a Cisco Contact Center Server environment:

Operating System Avaya TS

Windows Server 2003 R2 SP2 Yes

Hardphone vs. softphone capabilities


The following table summarizes the capabilities of the Cisco Contact Center switch by
comparing its hardphone (manual) and softphone (telephony) capabilities. Events listed in the
Hardphone column are supported by the Cisco version of the Avaya TS when evoked manually
through the hardphone. Events listed in the Softphone column are supported by the Cisco
version of the Avaya TS when they are evoked through the softphone.

Capability Hardphone Softphone

alternate call yes yes


answer call, connect yes yes
auto-ready (auto-in) yes yes
blind transfer yes yes

124 Telephony Connectors Programmer Guide March 2012


Capability Hardphone Softphone

bridge two calls yes no


busy (aux-work) yes yes
conference call yes yes
consultative transfer yes yes
consultative transfer, one-step yes no
forward calls, cancel forward calls yes no
hang up call yes yes
hold call yes yes
listen disconnect/reconnect (mute) yes no
login no yes
logout no yes
make call yes yes
off hook yes no
on hook yes no
ready (in service/manual-in) yes yes
reconnect held call yes yes
send DTMF tones yes no
single-step conference yes no
wrap-up (after-call work) yes yes

Note:
Note: On Cisco Contact Center switch, the hardphone and softphone can become out
of sync if some operations happen through hardphone. The events are different
from the hardphone than from the softphone in Cisco Contact Center. (The events
are different for the operations performed from the hardphone and the softphone)
If there is an improper logging out of an agent, due to network or power failure, then
the agent state would be improper if the same agent logs in again.
Workaround: If there is an improper logging out of an agent, then logout the agent,
and log him in again. Now, the agent state would be proper.

Telephony Connectors Programmer Guide March 2012 125


! Important:
Important: Do not use a mixture of the hardphone and softphone with Cisco switches. If you
start a conference on the hardphone, you must finish it on the hardphone.

Telephony server configuration


The Avaya TS is configured on the Server Editor of IC Manager. This section provides the
required and optional parameters that must be set to configure the Avaya TS for the Cisco
Contact Center.
For information on adding and configuring servers on Avaya IC using IC Manager, see IC
Administration Volume 1: Servers & Domains.
Enter or modify the following parameters on the TS tab of the Server Editor.
To configure the Telephony Server for Cisco
1. In IC Manager, double-click the Telephony Server (TS) from the list of servers.
2. Click the TS tab and enter the information for the fields mentioned in the following table:

Field Recommended entry Notes

ACD Name Select the name of the ACD The name of the ACD (switch) that this
assigned to the switch. TS is serving from a pick list of names
assigned to the ACD during system
configuration.
ACD Type Select Cisco The type of ACD with which the TS will
communicate.
ACD Model Select ICM The model of the ACD that corresponds
to the selected ACD Type.
ACD Protocol Select CTIOS The protocol used by Cisco CCM.
Site Select the site of your TS. The site that this TS is associated with.
The TS uses this information to retrieve
the queues for internal monitoring.
Primary Host A Enter the IP address of the Specifies the primary host name where
system which hosts the CTI the Cisco CTI OS Server resides. The
OS service. hostname is used to establish a TCP/IP
connection.
Primary Port A Enter the TCP/IP port where Specifies the primary port number to
the TS needs to create a which the socket connection needs to
connection. be made.

126 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Secondary Host A Enter the IP address of the Specifies the secondary hostname
system which hosts the CTI where the Cisco CTI OS Server
OS service. resides. The hostname is used to
establish a TCP/IP connection.
Secondary Port A Enter the TCP/IP port where Specifies the secondary port number to
the TS needs to create a which the socket connection needs to
connection. be made.
Peripheral ID Enter the Peripheral gateway The numerical PBX peripheral ID.
ID of CTIOS.
Enable Route Point Route Point option is required A check box that specifies if Application
if application gateway is gateway should be initialized.
configured.
Application Enter Application gateway Specifies the port number for the
Gateway Port port number. It is required if application gateway to listen on. The
RoutePoint option is port number is required only if the
selected. enable_route_point option is true
otherwise this text box should not be
visible
Dials by Equipment Select this check box. Specifies that dials by equipment needs
to be selected.
Advanced Properties
Enable Call Select this to create call If checked, the TS creates call
Containers containers for the TS. containers to store information about
Default is checked. the different legs of calls.

Enable Agent Select this to turn on agent If checked, the ADU containers for the
Containers containers for the TS. TS are turned on.
Default is checked.
Use 5.6 State Select this to give containers Example, ts.loginid. For details, refer to
Fields for agent states entries in the IC Telephony Connectors Programmer
5.6 style. Default is Guide.
unchecked.
Use 6.0 State Check to give containers for Example, voice.loginid. For details,
Fields agent states entries in the 6.0 refer to IC Telephony Connectors
style. Default is checked. Programmer Guide.
Wrap up by Client Check to have the TS wait for If unchecked, the TS may remove the
the wrap-up process to be call information from memory before
completed before removing wrap-up is complete.
the call information from
memory.
Default is unchecked.

Telephony Connectors Programmer Guide March 2012 127


Field Recommended entry Notes

Wrap up Client Enter the period of time, in If unchecked, the TS issues a request
Time to Live (min) minutes, that the TS waits for for wrap up on behalf of the client.
the wrap-up process to be
completed by the client.
Default is 15.
Wrap up Server Enter the period of time, in If unchecked, the TS issues a request
Time to Live (min) minutes, that the TS waits for for wrap up on behalf of the server
the wrap-up process to be
completed by the server.
Default is 2.
Call Plan Enter the number of digits on This helps identifying the call as
the external extension internal to the switch.
numbers used by the contact
center.
Default is 6.
Thread Pool Size Enter the number of threads
to allocate for the server
thread pool.
Default is 50.
Queues Owned Enter the name of the queue The TSQS should not be associated
or a comma separated list of with this queue in any way.
queues for which the TS is
responsible for creating
queue ADUs.
Default ANI Enter the default ANI value,
for incoming calls, which did
not carry ANI information.
Abort on Link Down Select this to abort (stop) the
TS if the link goes down.
Default is checked.
Route Point Time to Default 2
Live
CTI OS Heartbeat Default 5
CTI OS Max Default 3
Heartbeats
Ccti Trace Level Select the desired log level Valid values are debug, info, warning,
for the Ccti layer. and error layer.
Default is info.

128 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Cpbx Trace Level Select the desired log level Valid values are debug, info, warning,
for the Cpbx layer. and error layer.
Default is info.
TSV5 Trace Level Select the desired log level Valid values are debug, info, warning,
for TSV5. Default is info. and error layer.
DTMF Pause Enter the DTMF Pause This field is used to control the DTMF
Duration Duration time. Default Value pause duration. Min value is 4 and max
is 10. is 10.
DTMF Tone Enter the DTMF Tone This field is used to control the DTMF
Duration Duration time. Default Value Tone duration. Min value is 6 and max
is 35. is 35.
Route Response Enter the value of Route Allows the user to specify a particular
Variable Response Variable. Default call variable in which the route
value is 9. destination has to be sent to the
Application gateway.
Min is 1 and max is 10.
EDU ID Variable Enter the value of EDU ID Allows the user to specify a particular
Variable. Default value is 10. call variable in which the EDU ID will be
attached for a particular call. Min is 1
and max is 10.

Configuration tab
The following configuration parameter is not presented on the TS tab in IC Manager. Set this
Parameters on the Configuration tab:

Field Recommended entry Notes

allow_names_mixe Enter "true" to enable Values: true or false.


d_ case processing of queue names
in the case that comes in. If
set to "false", queue names
will be set to lower case.

Telephony Connectors Programmer Guide March 2012 129


130 Telephony Connectors Programmer Guide March 2012
Chapter 5: Queue Statistics Server

This chapter provides Telephony Server Queue Statistics server (TSQS) configuration and
administration information for each of the switches supported in IC 7.3. The TSQS is the Avaya
server that monitors the voice channel and maintains queue statistics on the Agent Data Unit
(ADU) server.
This section includes the following topics:
● Before configuring servers on page 132
● Avaya Communication Manager on page 133
● Aspect CallCenter on page 136
● Cisco Unified Contact Center on page 143

! Important:
Important: If there are more than 500 queues defined on the system, the TSQS may timeout
in a failover situation.

In order for the TSQS to start properly, there must be at least 1 queue defined on
the Avaya IC system.

Telephony Connectors Programmer Guide March 2012 131


Before configuring servers
Read this section before you configure the servers described in this chapter.
The following characters are reserved because they have special meaning in Avaya IC. These
characters cannot be present in the values of any server configuration. When entering text in
the server configuration fields, do not use these reserved characters.

Character Description

( Left parentheses
) Right parentheses
[ Left bracket
] Right bracket
{ Left brace
} Right brace
, Comma
\ Backslash
" Quotation mark

132 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager
This section provides information to configure and administer the Avaya TSQS to work with the
Avaya Communication Manager.
For information about specific versions of these switches supported in the current release of
Avaya IC, see IC Installation Planning and Prerequisites.

Supported platforms
The TSQS that supports the Avaya Communication Manager can be run on various operating
systems in IC 7.3. The following table lists the operating systems on which the TSQS servers
can be run for the Avaya Communication Manager:

Operating System TSQS

Windows 2003 Server R2 SP2 Yes


SUN Solaris 10 Yes
AIX 6.1 Yes

Telephony Connectors Programmer Guide March 2012 133


Queue Statistics server configuration
The Avaya TSQS is configured on the Server Editor of IC Manager. This section provides the
required and optional parameters that must be set to configure the Avaya TSQS for the Avaya
Communication Manager.
For information on adding and configuring servers on Avaya IC using IC Manager, refer to IC
Administration Volume 1: Servers & Domains.
Enter or modify the following parameters on the TSQS tab of the Server Editor. Right mouse
click on the screen and select the Show Advanced Properties option to display all of these
parameters

Field Recommended entry Notes

ACD Name Select an ACD Name. The name of the ACD (switch) that this
TSQS is serving. Provides a pick list of
name(s) assigned to the switch during
system configuration.
Each TSQS on the system must have a
unique ACD Name.
Site Select the site where the TSQS The site used by your TS configured for
is located. the Avaya switch.
ACD Type Select Avaya. The ACD Type option used by your TS
configured for the Avaya switch.
ACD Model Displays Definity after you The ACD Model option used by your
select Avaya as ACD Type. TS configured for the Avaya switch.
ACD Protocol Select asai. The ACD Protocol option used by your
TS configured for Avaya switch.
Advanced Properties
Update Interval Enter the number of seconds
(secs) between updates to the ADU
server with queue statistics.
Default is 10 seconds.
Oldest ADU Check to enable backward Lets the TSQS keep the oldest field in
Timestamp compatibility to eContact 5.6. the ADU as the length of time (in
Default is unchecked. seconds) that the oldest call is in
queue.
The default uses the timestamp of
when the oldest call arrived.

134 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

Forced ADU Check to enable the server to


Update issue an ADU.SetValues
command even if none of the
parameter values changed.
Default is unchecked.
Maximum Calls Enter the maximum number of
per Queue calls to track in a single queue.
Default is 4,096

Telephony Connectors Programmer Guide March 2012 135


Aspect CallCenter
This section provides information necessary to configure and administer the Avaya TSQS to
work with the Aspect CallCenter.
For information about specific versions of this switch supported in the current release of Avaya
IC, see IC Installation Planning and Prerequisites.

Supported platforms
The TSQS that supports the Aspect CallCenter switch can be run on various operating systems
in IC 7.3. The following table lists the operating systems on which the TSQS servers can be run
for the Aspect CallCenter:

Operating System TSQS

Windows 2003 Server R2 SP2 Yes


SUN Solaris 10 No
AIX 6.1 No

136 Telephony Connectors Programmer Guide March 2012


Software prerequisites
The following table lists the Aspect software that is required for the Avaya servers to work
properly with the Aspect CallCenter switch:

Software Purpose

Aspect CMI server version 4.X Installed and available via an Ethernet connection.
and 5.X Enables the Avaya TS to establish a connection to the
Aspect CallCenter System. The Avaya TS uses no
external libraries.
Aspect RealTime Data Server Installed and available via an Ethernet connection.
Enables the TSQS to gather statistics from the Aspect
CallCenter System.
Aspect RealTime Receiver Install on the same machine as the TSQS.
Custom Control
(RealTime Runtime version)

Refer to the IC Installation Planning and Prerequisites for more detailed information about IC
7.3 prerequisites.

Queue Statistics server configuration


The Avaya TSQS is configured on the Server Editor of IC Manager. This section describes the
parameters that must be set to configure the Avaya TSQS for the Aspect CallCenter.
For information on adding and configuring servers on Avaya IC using IC Manager, refer to IC
Administration Volume 1: Servers & Domains.
Enter or modify the following parameters on the TSQS tab of the Server Editor. Right mouse
click on the screen and select the Show Advanced Properties option to display all of these
properties.

Field Recommended entry Notes

ACD Name Select an ACD Name The name of the ACD (switch) that this
TSQS is serving. Provides a pick list of
name(s) assigned to the switch during
system configuration.
Each TSQS on the system must have a
unique ACD Name.
Site Select the site where the TSQS The Site used by your TS configured
is located. for the Aspect switch

Telephony Connectors Programmer Guide March 2012 137


Field Recommended entry Notes

ACD Type Select Aspect. The ACD Type option used by the TS
configured for the Aspect switch.
ACD Model Select Aspect9. Aspect9 applies to all the supported
versions of the Aspect ACD.
ACD Protocol Displays AspectCMI after you Select the ACD Protocol option used by
select Aspect8 as the ACD your Telephony server configured for
Model. the Aspect switch.
Switch Name Enter the IP address of the link This is different from the IP address
that connects the switch to the used by the switch.
TSQS.
Switch Port Enter the port number used by
the switch.
Default is 8000.
Advanced Properties
Update Interval Enter the number of seconds
(secs) between updates to the ADU
server with queue statistics.
Default is 10 seconds.
Oldest ADU Check to enable backward Lets the TSQS keep the oldest field in
Timestamp compatibility to eContact 5.6. the ADU as the length of time (in
Default is unchecked. seconds) that the oldest call is in
queue.
The default uses the timestamp of
when the oldest call arrived.
Forced ADU Check to enable the server to
Update issue an ADU.SetValues
command even if none of the
parameter values changed.
Default is unchecked.
Switch Poll Enter the number of seconds
Interval between TSQS requests for
queue information from the
switch.
Default is 10.

138 Telephony Connectors Programmer Guide March 2012


Enter the following parameters on the Configuration tab of the Server Editor.

To enter parameters on the Configuration tab:


1. Select the Configuration tab to display the Server Editor.
2. Click the New button to display the CTI Type Editor dialog box.
3. Select the Couple option from the CTI Type drop down menu.
4. Enter the name of the parameter in the Name field.
5. Enter the value of the parameter in the Value field.
6. Click OK to add the new parameter and close the CTI Type Editor dialog box.
7. The name and value of the new parameter are displayed on the Server Editor.
The following table provides the names and default values of the parameters you must enter
using the procedures described above. Descriptions of each parameter are provided to help you
determine your system values.

Name Default Value Description

log_file NULL Name of the TSQS log file.


log_size 10,000,000 Size of the TSQS log file.
log_level 3 Determines the level of information that
should be in the log file.
auto_activate TRUE Sets the auto activate property of the
Aspect ActiveX control.
base_port 9000 Sets or returns the base TCP/IP port of
the Aspect ActiveX control.
infograms the infogram value The infogram number that the Aspect
mapped to the Aspect ActiveX control will listen for.
CallCenter switch.
Use the same value that
is used for the
"stats_infogram_num"
parameter, which is 110
in this example.
stats_infogram_num 110 Infogram number that contains the
queue statistics.
ip_octet_1 225 First part of the IP octet composing the
IP address used to monitor Aspect
RealTime Data Server messages.
ip_octet_2 10 Second part of the IP octet composing
the IP address used to monitor Aspect
RealTime Data Server messages.

Telephony Connectors Programmer Guide March 2012 139


Name Default Value Description

ip_octet_3 10 Third part of the IP octet composing the


IP address used to monitor Aspect
RealTime Data Server messages.
ip_octet_4 10 Fourth part of the IP octet composing
the IP address used to monitor Aspect
RealTime Data Server messages.
use_default_IP FALSE If set to TRUE, the Aspect ActiveX
control listens for infograms on IP
224.0.0.10.
If set to FALSE, the Aspect ActiveX
control uses the IP address defined in
the ip_octet_1, ip_octet2, ip_octet3,
and ip_octet4 parameters.
use_default_port TRUE If set to TRUE, the Aspect ActiveX
control listens for infograms on port
9000.
If set to false, the Aspect ActiveX
control listens for infograms on the port
that is defined in the base_port
parameter.

140 Telephony Connectors Programmer Guide March 2012


TSQS considerations
This section describes some considerations related to the collection of queue statistics from the
Aspect CMI server. The Aspect CallCenter System organizes statistical information related to
Agent Groups (queues) in the application for which the Agent Group received the call.
The following diagram illustrates this relationship:

Application

CCT0 CCTN

Agent Agent Agent


Group0 Group1 GroupN

In this diagram, queue type statistics are maintained for all Agent Groups that have been
“triggered” by a CCT defined under a specific application. For example, if an inbound call is
received by a CCT that has been created under application A, regardless of the Agent Group
that ultimately receives the call, the statistics for that “interaction” are maintained by the
application whose CCT handled the call (Application A). If the Agent Groups in question are
Sales and Support, and they were each assigned to the same application (as above), then the
TSQS would only see an aggregate of both Agent Groups.

Telephony Connectors Programmer Guide March 2012 141


To avoid this, you should create multiple applications for maintaining separate statistics. This
makes the application structure more complex and the location of the CCT “routing” the calls
also becomes a factor. The following example illustrates how the Applications, CCTs, and Agent
Groups must be arranged to allow statistical information to be maintained for each Agent Group
individually (not aggregated).

Application A Application B Application C

CCTA

CCTB CCTC

Agent Group Agent Group


Sales Support

The dashed lines in this diagram represent a potential path that can be traversed using CCT
programming steps. The solid lines represent ownership. Given that CCTB is owned by
ApplicationB, and only CCTB presents calls to the Agent Group Sales, the statistics maintained
by ApplicationB will only be those for Agent Group Sales. This holds true for the Agent Group
Support.

Transferring calls
You cannot transfer calls to TSQS devices in an Aspect CallCenter environment because they
are not physical switch resources. TSQS devices are entities used by the switch for statistical
purposes.
For an agent to transfer calls to a device queue in an Aspect CallCenter environment, the TSQS
requires one queue device to be configured in Avaya IC for statistics monitoring and the TS
requires another device to be configured and marked "addressable" to enable agents to transfer
calls to them. The TSQS uses an application number (as described above) as a device. For the
TS, the device must be a CCT, which is marked as "addressable".

142 Telephony Connectors Programmer Guide March 2012


Cisco Unified Contact Center
This section provides information necessary to configure and administer the Avaya TSQS to
work with the Cisco Contact Center.
For information about specific versions of this switch supported in the current release of Avaya
IC, see IC Installation Planning and Prerequisites.

Supported platforms
The TSQS that supports the Cisco Contact Center switch can be run on various operating
systems in IC 7.3.
The following table lists the operating systems on which the TSQS servers can be run for the
Cisco Contact Center:

Operating System TSQS

Windows 2003 Server R2 SP2 Yes


SUN Solaris 10 No
AIX 6.1 No

Software prerequisites
The following table shows the software required by Avaya IC Telephony for the supported Cisco
Contact Center switches and software.

Software Purpose

Cisco Communication Cisco Unified Communications Manager is a software


Manager (CCM) Version application that controls the voice gateways and IP phones,
6.1 thereby providing the foundation for a Voice over IP (VoIP)
solution. Unified CM runs on Cisco Media Convergence
Servers (MCS).

Telephony Connectors Programmer Guide March 2012 143


Software Purpose

Cisco ICM Version 7.5.1 The Cisco Unified ICM software provides contact center
features in conjunction with Unified CM and the IP Queuing
platform. Features provided by the Unified ICM software
include agent state management, agent selection, call
routing and queue control, IVR control, CTI Desktop screen
pops, and contact center reporting.
Cisco IP IVR Version 5.0 The Unified IP IVR provides prompting, collecting, and
queuing capability for the Unified CCE solution. Unified IP
IVR does not provide call control like Unified CVP because
it is behind Unified CM and under the control of the Unified
ICM software via the Service Control Interface (SCI).

For more information about IC 7.3 prerequisites, see the IC Installation Planning and
Prerequisites.

Queue Statistics server configuration


The Avaya TSQS is configured on the Server Editor of IC Manager. This section describes the
parameters that must be set to configure the Avaya TSQS for the Cisco Contact Center.
For information on adding and configuring servers on Avaya IC using IC Manager, see IC
Administration Volume 1: Servers & Domains.
Enter or modify the following parameters on the TSQS tab of the Server Editor.

Field Recommended entry Notes

ACD Name Select an ACD Name The name of the ACD (switch) that this
TSQS is serving. Provides a pick list of
name(s) assigned to the switch during
system configuration. Each TSQS on
the system must have a unique ACD
Name.
Site Select the site where the The Site used by your TS configured
TSQS is located. for the Cisco switch
ACD Type Select Cisco. The ACD Type option used by the TS
configured for the Cisco switch.
ACD Model Select ICM. ICM applies to all the supported
versions of the Cisco UCCE.
ACD Protocol Displays CTIOS after you Select the ACD Protocol option used by
select ICM as the ACD your Telephony server configured for
Model. the Cisco switch.

144 Telephony Connectors Programmer Guide March 2012


Field Recommended entry Notes

DB Server Name Enter the IP address of the Cisco AWDB database server host
Distributor Admin name
Workstation Database Server
(AWDB)
DB Name Enter the Distributor Admin Cisco AWDB database name
Workstation Database Name
DB Login Enter the Distributor Admin Cisco AWDB database username
Workstation Database Login
ID
DB Password Enter the Distributor Admin Cisco AWDB database password
Workstation Database login
Password
Advanced Properties
Update Interval Enter the number of seconds
(secs) between updates to the ADU
server with queue statistics.
Default is 10 seconds.
Oldest ADU Check to enable backward Lets the TSQS keep the oldest field in
Timestamp compatibility to eContact 5.6. the ADU as the length of time (in
Default is unchecked. seconds) that the oldest call is in
queue.
The default uses the timestamp of
when the oldest call arrived.
Forced ADU Check to enable the server to
Update issue an ADU.SetValues
command even if none of the
parameter values changed.
Default is unchecked.
Maximum Calls per Enter the maximum number
Queue of calls to track in a single
queue.
Default is 4,096

TSQS considerations
To configure the Cisco Call Center switch to support the Avaya TSQS:
● Configure ICM Router and Logger component
● Configure the Cisco AWDB database (Real-time database)

Telephony Connectors Programmer Guide March 2012 145


● In Cisco ICM configuration, abandoned call wait time value is 5 seconds.
● Avaya IC server time must be one minute ahead of the Cisco ICM AWDB server time or
Cisco ICM AWDB server time should be one minute behind of Avaya IC server time.
● For Cisco, the last hour parameters would contain only the last 30 minute values.

146 Telephony Connectors Programmer Guide March 2012


Chapter 6: Multi Site Heterogeneous
Switch

This chapter describes the functionality and operation of the Multi Site Heterogeneous Switch
(MSHS). MSHS support for the TS enables transfers and conferences across ACDs to take
place transparently (multiple ACDs behave as a single element).
This section includes the following topics:
● Overview on page 148
● Network transfer on page 149
● Functional unit descriptions on page 150
● User interface or external API on page 159
● Configuring multi site heterogeneous switches on page 159

Telephony Connectors Programmer Guide March 2012 147


Overview
Multi Site Heterogeneous Switch (MSHS) is a TS feature that allows supported switches (Avaya
Communication Manager, SIP, Aspect CallCenter, and Cisco Contact Center) co-located or not
(in different physical locations) to operate, with a few exceptions, as one large contact center.
For the methods related to make call, conference, transfer, and route, the TS determines, via a
MSHS protocol, how and where to route a call. This is done through a combination of elements,
where the ADU plays a major role because all of the users and queues must have an ADU on
the system and the physical location of the of each device (site, TS, and switch) is written to the
ADU.
Note:
Note: Users and queues are referenced by name, IC login ID or queue name. The TS is
responsible for name resolution, which means it must map the name to a physical
location. Name resolution is performed through an ADU query because the ADU
is the central repository for this information.
Once the source TS determines the location of a given user, via name resolution if the given
user is not assigned to the source TS, the source TS needs to determine if MSHS protocol can
communicate with the destination. TSes participating in MSHS and assigned to a TS Group are
required to cross assign to each other. TSes can only cross assign to each other during startup
and only if they belong to the same TS Group. Therefore, a MSHS request will not cause a
remote TS to be started by its ORB server. Once a server is configured and started, it is
automatically added to the pool of TSes servicing MSHS.
MSHS is invoked via the method TS.HeteroSwitchHandoff(), which passes the EDUID and the
final destination for the call to the destination TS. The source TS expects a response with a
phone number to dial, which is used to establish the voice path between the two switches. The
destination TS gets this phone number from a list of Reserved DNs. This list of Reserved DNs
establishes a relationship between a DID (direct inward dial) and a route point (VDN). The
destination TS is monitoring all VDNs on the Reserved DN list.
The destination TS scans the list and finds an entry that is not in use. It then associates the
EDUID and the final call destination with that entry, and reserves the entry for a period of time.
Once informed about which number to dial, the source TS determines how it should dial the
number. This is accomplished via the Dial Translation table, which defines dialing plans for
different sites. For example, when dialing between two different sites, one site might have tie
trunks so dialing the PSTN is not necessary. For more information, refer to the Dial Translation
table description.
The source TS establishes a voice path (places a call) with the destination TS. When the call
reaches the reserved VDN, the destination TS is notified, and it associates the EDUID with the
call and routes (via route select) the call to its final destination, thus releasing the reserved DN,
and making it available for re-use by another MSHS transaction.

148 Telephony Connectors Programmer Guide March 2012


! Important:
Important: In order to get an accurate "number in call" count, you need to understand when
the TS adds parties to conference lists. The TS does not add a party to a
conference list until the party is connected to the call. For example, when an
agent conferences a call to a second agent and the call is placed in queue waiting
for the second agent to answer, the call is not included in the "number in call"
count while it is in the queue. It only gets included in the count when the call is
answered by the second agent. This prevents the TS indicating that a conference
took place with a queue, which would change the conference end points.

Network transfer
Network transfer using inband signaling is a service offered by network carriers that transfers a
call from one location to another via the carrier network, avoiding trunk-to-trunk connections.
Depending on the network transfer offering, the transfer operation can be requested using
either inband (DTMF) signaling or out-of-band (ISDN D-channel) signaling. Avaya TS provides
support for inband network transfer.
Note:
Note: Network transfer using out-of-band signaling is not directly supported by Avaya
IC, however an ACD may invoke out-of-band network transfer under certain call
scenarios and/or sequences.
With inband network transfer, the carrier is notified that a call connected to one site needs to be
disconnected from that site and reconnected to a second site via a DTMF dialing sequence.
Because the carrier performs the actual transfer operation, no devices are tied up to the local
switch to route the call from site to site, thereby minimizing trunk usage. Avaya IC supports this
service for blind transfers and trunk-to-trunk connections for consultative calls.
Several carriers offer network transfer via inband signaling. Currently MCI offers an inband
network transfer service called Take Back and Transfer. Sprint also offers a similar version of
inband network transfer. AT&T provides an equivalent service called Inband Transfer and
Connect (covered in AT&T TR50075). The AT&T offer supports sending UUI with the
transferred call if Avaya IC includes the UUI in the ISDN DISConnect message for the call.
Neither MCI nor Sprint support UUI transfer. The inband network transfer capability is
generically referred to as “Take Back and Transfer” in the Avaya IC screens and the sending
UUI support is referred to as “ISDN UUI”.

Telephony Connectors Programmer Guide March 2012 149


Functional unit descriptions

Destination resolution
Destination resolution, or name resolution, is performed by the TS via ADU.Find(). Every user
and queue has a name and an ADU in Avaya IC. The ADU contains the necessary elements to
map the name to its physical location.

Agent ADU elements


When an agent logs into Avaya IC, an ADU is created. When the agent assigns to the TS, the
following elements are written to the ADU:

voice.connector UUID of the TS where the agent is assigned/logged in.


voice.connectorname Alias of the TS where the agent is assigned/logged in.
voice.acdname ACD name of the switch where the agent is assigned/
logged in.
voice.device Physical device where the agent is currently logged in.
voice.device_address Concatenation of voice.device and voice.connector.

The TS can determine the location of any given user with this data.

Queue ADU elements


The TS creates ADUIDs for the queues for which it is responsible and for the TSQS when the
TSQS requests it. The TSQS, will then write additional information to the ADU. The following
data elements are found in queue ADUs:

connector UUID of the TS servicing this queue.


connectorname Alias of the TS servicing this queue.
acdname ACD name of the switch servicing this queue.
queueid Physical device for the queue
queuename Name of the queue in Avaya IC.
id Same as queueid above.
device_address Concatenation of queueid and connector.

150 Telephony Connectors Programmer Guide March 2012


The TSQS can determine the location of any given queue with this data.
Note:
Note: Unlike agent information, queue data is cached for 24 hours after a successful
ADU.Find(). Therefore, the search for a given queue is performed only once
every 24 hours (a configurable parameter). This is because queues are static
elements and there is no reason to overload the ADU with unnecessary finds.

Multiple ways to interconnect sites


The first issue with multi-site and a pool of reserved DNs is the need for a site to know how to
reach all of the other sites. Site-A might use a private network to reach site-B, but that might not
be true from site-B to site-A.
Also, the destination TS knows which reserved DN it associated an EDUID with, therefore it
knows the DID behind it. Passing this phone number to the requesting TS means a translation
to cause the call to be routed via a private network. For instance, site-A dials site-B via
speed-dial “801xxxx”, instead of the usual “91508787xxxx” for the PSTN.
The TS uses the “human” approach to implement a solution. Note that a person has a single
standard universe of numbers to work from, the PSTN (usually 10 digits for calls within the
U.S.). When a person is on site-A, this person knows to dial “801xxxx” to reach someone on
site-B, and also knows to dial “802xxxx” from site-C. By adopting this same strategy, the TS
does not need to know it is dialing site-B, from A, or C — it rather needs to know how to
translate the 10-digit PSTN number into an outbound dial based on where it is located. For
instance, when the TS receives (508)787-2834, it could simply substitute (508)787-2834, with
“80128”, in order to generate an outbound dial via PSTN or private network. The actual path is
in accordance to ACD internal rules. This approach is flexible enough because it is rule based
and can be modified as the network is adjusted to satisfy the business needs of the contact
center.

Telephony Connectors Programmer Guide March 2012 151


The solution calls for a centralized table listing each site, and how to translate a PSTN number
into an outbound dial. For instance,

Source TS Dest. TS Match Remove Prepend Append


alias alias

ActonCommunicat AustinAspect 512427 TRUE 804


ionManager
ActonCommunicat DublinCommunica 925479 TRUE 801
ionManager tionManager
ActonCommunicat Local 508 TRUE 9
ionManager
ActonCommunicat Boston * FALSE 91
ionManager
ActonCommunicat ActonAspect 77 FALSE 899
ionManager
ActonAspect ActonCommunicat 88 FALSE 899
ionManager
HolmdelCommuni DublinCommunica 925479 FALSE 1
cationManager tionManager
Communication Cisco 5027 FALSE *805
Manager
Cisco Communication 397 FALSE 9 #
Manager

The Dest TS Alias is listed here for completeness, but the TS does not use this data. The
MATCH field is sufficient to determine how to translate a dial string.
Note:
Note: A TS located in Acton knows how to translate a PSTN entry from Austin, as does
a TS in Dublin. Also note that a TS located in Holmdel would dial the full 10-digits
to reach Dublin using the data in the Match and the Prepend fields.
The table does not need to list all possible sites and combinations. If an entry is not in the table,
the rule is to use PSTN, thus the entry for Holmdel is unnecessary, but harmless.
The destination TS knows the PSTN entry for each reserved DN, and does not need to know
anything about how to be reached by other Telephony servers. This task is the responsibility of
the requesting TS.
The TS raises an Alarm if the table is empty, but it will not block functionality, nor cause the TS
to stop functioning, because it might be possible to still interconnect sites via ordinary PSTN
outdial.

152 Telephony Connectors Programmer Guide March 2012


These elements are configured in IC Manager. For more information, refer to Configuring multi
site heterogeneous switches on page 159.

Telephony Connectors Programmer Guide March 2012 153


Network transfer
In order to minimize trunk usage, Avaya IC takes advantage of the carrier’s network transfer, if it
is available.
The determination whether to use network transfer is defined on the Transfer Resolution Table
screen as shown in the following table:

Source TS alias Destination TS alias Network Transfer ISDN UUI Support

ActonCommunication AustinAspect TRUE FALSE


Manager
AustinAspect ActonCommunication TRUE FALSE
Manager
ActonCommunication DublinCommunication TRUE FALSE
Manager Manager

The table contains entries showing a unidirectional resolution, which provides more flexibility in
the configuration.
The network transfer functionality is only available via blind transfer.
In the Network Transfer column, TRUE indicates the carrier for the incoming trunk group
supports network transfer and FALSE indicates a trunk-to-trunk connection is required.
In the ISDN UUI Support column, TRUE indicates the carrier for the incoming trunk group
supports transferring the UUI with the network transfer or the trunk-to-trunk connection.
Sites not listed are considered not to have network transfer capability.
Network transfer and ISDN UUI support are administered in IC Manager. Refer to Setting
advanced properties on page 167.

154 Telephony Connectors Programmer Guide March 2012


Bypassing MSHS
After retrieving data that provides the location of a specific agent or queue, the TS decides
whether or not to enable MSHS support.
The TS can bypass MSHS when the source and destination Avaya TSes are in the same
switch, or when both Avaya TSes can receive UUI from interconnecting private ISDN trunks.
The determination is via the Transfer Resolution Table:

Source TS alias Destination TS alias Network Transfer ISDN UUI Support

ActonCommunication AustinAspect TRUE FALSE


Manager
AustinAspect ActonCommunication TRUE FALSE
Manager
ActonCommunication DublinCommunication FALSE TRUE
Manager Manager

This table indicates an ISDN trunk is available between ActonCommunicationManager and


DublinCommunicationManager and that UUI transfer is possible on a trunk-to-trunk connection
basis. Therefore, the source TS will not use MSHS, it will dial directly to the destination DN.
Which method to use is resolved as follows:
● Retrieve the ADU relative to the destination.
● Evaluate if direct transfer is possible (same switch):
● use voice.acdname.
● if source and destination are in the same switch, and that switch can keep persistent
Application Data, then perform direct transfer.
● Evaluate if UUI data transfer is possible on this connection.
● if so, the destination is resolved by the data in the ADU via voice.device.
● Evaluate if network transfer is possible.
● if BLIND TRANSFER, use network transfer.
For information on accessing and modifying the Transfer Resolution Table on IC Manager, refer
to Setting advanced properties on page 167.

Telephony Connectors Programmer Guide March 2012 155


Multiple ANI per site
During the MSHS handshake, the destination TS provided the source TS with a DID to which
the voice is to be established. In order to enhance security, the destination TS matches the ANI
of the incoming call with values found in the Multiple ANI Table. If the ANI does not match a
table entry, the TS routes the call in accordance with the following rules:

Condition Action

no ANI in incoming call Transfer call to a default DN.


TS keeps waiting for call on reserved DN, until timeout.
Update statistics with invalid ANI arrival.
ANI present, but not recognized Transfer call to a default DN.
TS keeps waiting for call on reserved DN, until timeout.
Update statistics with invalid ANI arrival.
ANI present, recognized, but Transfer call to a default DN.
reserved DN was expecting a TS keeps waiting for call on reserved DN, until timeout.
different one
Update statistics with invalid ANI arrival.
reserved DN was not set to expect Transfer call to a default DN.
a call Update statistics with invalid call arrival.

The ANI validation is performed through a central table, which lists, per TS the range of ANIs to
be used. The ANI table is simply:

TS Alias ANI range

ActonCommunicationManager (508)787-28xx
DublinCommunicationManager (925)417-28xx

● An alarm is raised if the table is not found or empty.


● These elements are configured and administered in IC Manager. For more information,
refer to Configuring multi site heterogeneous switches on page 159.

156 Telephony Connectors Programmer Guide March 2012


TS grouping
A large company might organize Avaya TSes in groups to optimize communication, or to restrict
calls from being transferred across switches even though all sites are under a single IC 7.3
control. This extra level of flexibility reduces WAN bandwidth requirements, and helps to
logically organize what otherwise would be a complex structure. You can assign a maximum
number of 32 TSes to a TS Group.
Having a TS belonging to one or more groups and allowing the TS to communicate exclusively
within a set requires a table to define the set. At startup, the TS queries the Directory server for
the set list. The TS determines which groups it is a member of and proceeds to cross assign to
the other TSes that belong to the same groups.
The following table defines the set of groups in which the TS can communicate. This table
provides an example on how to set up the groups:

TS Group TS Alias

SalesGrp1 AustinCommunicationManager, ChicagoAspect,


DublinCommunicationManager
SalesGrp2 ActonCommunicationManager,
DublinCommunicationManager
CTI ActonCommunicationManager, AustinAspect,
DublinAspect, HolmdelCommunicationManager
CrossCountry ChicagoAspect, DenverAspect

During startup, the TS retrieves the set and assigns in accordance to the table definition. In the
scenario above, a TS in Chicago could not send a call to Holmdel because it does not assign to
Holmdel during startup.
An alarm is raised if the table is not located or empty, for in this case, the TS could not route
calls to other sites.
These elements are configured and administered in IC Manager. For more information, refer to
Configuring multi site heterogeneous switches on page 159.

Telephony Connectors Programmer Guide March 2012 157


Call interflow
Call Interflow distributes the call load between sites with minimal cost to the customer. By
measuring the workload and other system wide parameters, a workflow determines where best
to direct a call.
MSHS routes calls after delivery. This solution works even in networks that do not support SS7
protocol. However, routing only takes place after the call is delivered to a site. Also, site-to-site
transfers are slow because there are two steps with a possible PSTN involvement. This can
also cause extra resource allocation on switches due to call pass-through as well as incoming
and outgoing trunk allocation.
MSHS can receive a call at a site, and route it while it is at the incoming adjunct route step, if the
switch allows and the switches can be configured for trunk-to-trunk transfer. Trunk-to-trunk
transfers allow an incoming call to be routed through an outgoing trunk to an external
destination. The call remains active until either end point drops off. Usually this feature is turned
off because it leaves the environment open for toll fraud and it takes two trunks for each call
passing through the switch.
To help administration of the environment with respect to the pool of Reserved DNs and the
overall workload, the following statistics are gathered by the TS and presented via
TS.GetStatus.Request:
● % Reserved DN utilization
● Peak Reserved DN utilization
● Number of failed attempts due to unavailable DNs
● Number of reserved DNs that timed out
● Number of calls routed to default destination due to invalid ANI
● Number of requests for Reserved DN initiated by clients other than a TS

158 Telephony Connectors Programmer Guide March 2012


User interface or external API
The exposed API is constructed on top of one CORBA method that should have the following
signature:
ORBStatus HeteroSwitchHandoff(in VDU_ID vduid,
in string target,
in string type_of_request,
in string request_handle
out string dest);
The HeteroSwitchHandoff method is used by the source to initiate the transfer/conference. The
input parameters are:
● The EDUID related to the call.
● The alphanumeric target destination.
● An indication of the type of call (transfer, conference, etc).
● A Request Handle, which is used by the source to match the request with the response.
The destination issues a HeteroSwitchRouteStatus event to inform the source that the
connection is established. The HeteroSwitchRouteStatus event indicates the correspondent
RequestHandle and if the connection was completed (VESP_SUCCESS), or if one end is
missing, which indicates a security fault (VESP_FAILURE). The TS uses this event to finalize its
client request.

Configuring multi site heterogeneous switches


Multi Site Heterogeneous Switch (MSHS) functionality enables you to transfer and conference
telephone calls regardless of switch type or location. In Avaya IC 7.3, MSHS is supported on
selected versions of Avaya Communication Manager, Aspect CallCenter, and Cisco Contact
Center switches. For details on the supported versions of these switches, see IC Installation
Planning and Prerequisites.

Telephony Connectors Programmer Guide March 2012 159


Prerequisites for MSHS
Before configuring MSHS:
● Install and configure the Avaya TSes in stand-alone mode. Refer to the IC Installation and
Configuration for instructions.
● Test these servers to ensure they can run in stand-alone mode. Refer to the IC
Administration Volume 1: Servers & Domains for instructions.
● For systems using an Aspect CallCenter switch, a separate Hetero CCT is required for
each Hetero call you need to transfer at the same time. You must specify a unique subtype
in the SendData step for each Hetero CCT. This subtype is used in the configuration of the
Reserved DN table. Refer to Aspect CallCenter on page 45 for more information about
CCTs, SendData steps, and subtypes.

160 Telephony Connectors Programmer Guide March 2012


Creating TS groups
After installing, configuring, and testing each TS in stand-alone mode, assign the Avaya TSes to
TS Groups based on how you want to connect them.
For example, you may want to connect an Avaya Communication Manager TS at your location
to a Aspect TS at another site. You would put these two servers in the same TS Group.

To create TS groups:
1. In IC Manager, click the Configuration tab.
2. Select Tables > Telephony > TsGroup in the left frame.
3. Click New to display the following dialog box:

4. Enter the name of the TS Group in the Name field. We recommend that you use a logical
name, such as Communication Manager, for the TS at your site.

Telephony Connectors Programmer Guide March 2012 161


5. Click the Ellipsis (...) in the Group field to display the Group dialog box, shown in the
following figure, where you can select servers to assign to this TS Group.

6. Click New and IC Manager adds a field under the TS heading.


7. Click the down arrow on the right side of the new field to display a list of the available
Avaya TSes.
8. Click on the server name from the list to add it to the TS Group. Click OK to add the Avaya
TSes to the TS Group.
9. Click New and repeat these steps to assign additional servers to the TS Group. The
following figure illustrates a TS Group that contains the Avaya Communication Manager
TS and the Meridian TS.

10. After assigning the last TS to the TS Group, click OK. IC Manager displays the list of
servers (by name and group) that you assigned.
11. Click Apply to complete the server assignment process. The names of the server groups
are displayed in the left frame under TS Group.

162 Telephony Connectors Programmer Guide March 2012


Configuring MSHS
After you have installed, configured, tested, and assigned the servers to a TS Group, configure
the TS to enable the multi site heterogeneous switch functionality.

To configure Avaya IC 7.3 to support MSHS:


1. In IC Manager, click the Server tab to display a list of Avaya servers in the Server
Manager.
2. Double-click on the name of the TS in your location to display the Edit Server dialog box.
3. Click the Hetero-Switch tab.
4. Check the Enable Hetero Switch Transfer check box to display the remaining
configuration fields.
5. In the Default Route Point field, enter the VDN number that identifies the default
destination for route point calls received for which the ANI does not match.
6. If you want the TS to validate the ANI when it receives a call in a reserved DN, check the
check box in the ANI Validation field and enter the ANI number you want the TS to
validate in the Multiple ANI Table field below. For more details, refer to Creating TS
groups on page 161.
7. In the Queue Time to Live field, enter the number of hours that a TS will consider a queue
on another TS exists before rechecking to see if its ADU exists on the system.
8. In the Hetero Lifetime field, enter the number of seconds that reserved DNs should
remain in the locked state waiting for its call to arrive.
9. Check the check box in the Use DNIS field to enable the TS to use DNIS resolution when
a call arrives at a reserved route point, which allows a range of DID numbers to be
associated with a single reserved VDN.
● The TS monitors the VDN, as usual.
● The one-to-one relationship between the DID and VDN is extended to DID to DNIS.
● A range of DID entries, such as 5085551201 to 5085551299, by default expand over a
DNIS range of 1201 to 1299 allowing the TS to maintain a DID-DNIS relationship via a
single VDN.
10. Check the check box in the Use Local ANI field prior to routing the call to have the TS use
the Local ANI parameter if the call does not contain an ANI. Default is checked.
11. Select the TS Group to which this TS is assigned from the drop down list in the TS Group
field.

Telephony Connectors Programmer Guide March 2012 163


12. Click the Ellipsis ( ... ) in the Reserved DN Table field to display the Reserved DN Table
dialog box, shown in the following figure, where you reserve numbers for communicating
between the Avaya TSes. You must complete both fields in this table:

a. To insert a new row under the DID Range and Route Point Range fields, click on the
New button.
b. In the DID Range field, enter the range of phone numbers to be reserved for routing
between the Avaya TSes:

For the numbers: Enter or

925479001 92547900xx 9254790001-9254700099


925479002
925479003 or
.
. 9254790001-98
.
9254790099

c. To skip some numbers within the range of numbers, enter a comma between the
numbers. For example, 925479001-9254790050, 925479060-9254790099 enters all
of the numbers in the original range except 925479051-9254790059.
d. In the Route Point Range field, enter the one of the following used by your switch to
interpret the phone numbers to the second switch:
● Avaya Communication Manager - the range of internal VDN numbers.
● Aspect CallCenter - the subtype of the SendData step of the Hetero CCT. List the
incoming DID and the CCTs connected to it on a 1:1 basis.
e. Click OK to save your entries and return to the Hetero-Switch configuration window.

164 Telephony Connectors Programmer Guide March 2012


Note:
Note: For same switch hetero transfers on an Aspect CallCenter switch, the DID entry
must correspond to a target CCT number. For example, 76c where the "c"
denotes a CCT on the Aspect CallCenter switch.
For hetero switching from a non-Aspect CallCenter switch to an Aspect
CallCenter switch, the DID entry must correspond to the dialed digits needed to
reach the Hetero CCT on the Aspect CallCenter switch. For example, dialing the
digits 9,19995551111 will reach CCT 76c.
13. Click the Ellipsis ( ... ) in the Multiple ANI Table field to display the Multiple ANI Table
dialog box, shown in the following figure. Enter the ANI number used by this TS to
communicate with the other TS. Using the ANI gives the other TS another way to confirm
which TS is the one making the call.

Note:
Note: You must check the check box in the ANI Validation field to enable the Multiple
ANI Table parameter. The first TS may not be validating ANIs, but it still needs to
reveal its ANIs because the second TS may be doing ANI validation.
14. Click on the Ellipsis ( ... ) in the Dial Translation Table field to display the Dial Translation
Table dialog box, shown in the following example.

Telephony Connectors Programmer Guide March 2012 165


Example
The Dial Translation Table parameter enables you to automate the dialing of the phone
number that connects to the other TS in a speed dial fashion.

The following example describes a typical scenario:


1. You have an Avaya Communication Manager TS is at your site and you want to connect to
a Meridian TS at another site.
2. The two switches (Avaya Communication Manager and Meridian) have each other’s route
information.
3. In the Match field, enter the sequence of elements the local TS will use as the key for the
rule.
● In the following example, 401874 is entered in the Match field to create a rule that
handles phone number type 401874xxxx.
● The rule is read across: The TS removes 401874 from the phone number and
prepends the number 8 (which is entered in the Prepend field).
● Phone number 4018746754 becomes 86754.
● The 8 might correspond to a speed dial setup in the switch.
4. The Avaya Communication Manager TS at your site parses the DID of the Meridian
(destination) TS by replacing the numbers in the Match field with the number you entered
in the Prepend field.
Another destination causes the second rule to execute and the number in the second Prepend
field (91 in this example) is prepended to the original string, a destination TS indicating
6178883421 would cause the TS to dial 96178883421

166 Telephony Connectors Programmer Guide March 2012


5. Click the New button to insert a row of fields on the dialog.
6. Enter the number that corresponds to the DID (depending on the switch) extension in the
Match field.
Note:
Note: The match can be any number of digits you want to match in order to determine
what to dial in order to reach that number. An asterisk (*) can be used to indicate
the whole number.
7. Enter the digits of the phone number to which you want to prepend the match value in the
Prepend field.
8. Click OK to save these entries.
9. Click OK at the Hetero Switch configuration screen to save all the configuration
parameters.
10. Restart the TS to have the MSHS configuration take effect.

Setting advanced properties


Advanced Properties are provided for using the carrier’s network transfer functionality using
inband signaling. Inband network transfer is generically referred to as "Take Back and Transfer"
on the Avaya IC screens.
Note:
Note: Configuring these parameters requires an advanced knowledge in telephony and
switch functionality. We recommend that you consult with trained Avaya
Professional Services or your Avaya BusinessPartners personnel before
proceeding.

To set Advanced Properties for MSHS functionality:


1. To display the Show Advanced Properties prompt, right click on the Hetero Switch
configuration screen.
2. To display the advanced parameters, check the check box at the Show Advanced
Properties prompt.

Telephony Connectors Programmer Guide March 2012 167


3. To display the Transfer Resolution Table dialog box, shown in the following figure, click
on the Ellipsis ( ... ) in the Transfer Resolution Table field.

a. To insert a row of fields on the dialog, click the New button.


b. Select the TS to which you want to connect in the Dest TS drop down field.
c. To enable the network transfer service, check the check box in the Take Back and
Transfer field.
d. If both the Avaya TSes can receive UUI from interconnecting private ISDN trunks,
check the check box in the ISDN UUI field.
e. Enter the digits of the phone number to which you want to prepend the match value in
the Prepend field.
Note:
Note: This is similar to the entries you made in the Data Translation Table field. The
first TS needs to know what to dial to reach the second TS even if they are
connected directly using UUI.
f. Click OK to save these entries.
4. In the Take Back and Transfer Sequence field, enter the sequence of characters that
request the connection to send to the TS to activate the network transfer service.
5. In the Take Back Transfer Type field, enter the type of network transfer service that you
want to implement, inbound or outbound.
6. To enable trunk-to-trunk connections for consultative calls in the ACD and the TS, check
the check box in the Trunk to Trunk Transfer Enabled field.
7. Click OK to save the Advanced Properties configuration parameters.
8. Restart the TS to have the Take Back and Transfer configuration take effect.

168 Telephony Connectors Programmer Guide March 2012


Chapter 7: Telephony Server API

This chapter describes the Avaya TS Application Programming Interface (API). It contains
descriptions of each method in the Interface Definition Language (IDL) Specification, including
input parameters, returns, exceptions, and examples.
This section includes the following topics:
● Method Descriptions on page 170
● Obsolete Methods on page 253

Telephony Connectors Programmer Guide March 2012 169


Method Descriptions
This section describes the method used by the Telephony server.

TS.AnswerVDU
Syntax
ORBStatus AnswerVDU( in VDU_ID vduid );

Description

This method answers a telephone call, changing its state from Alerting to Answered. This
method is invoked in response to an incoming call event.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_parameter EDUID is invalid.


vesp_bad_session Session is invalid.
vesp_failure Request has failed. Possible internal protocol problems.
vesp_resource_not_available There is no call to answer.
vesp_service_not_available Switch does not have this function.

170 Telephony Connectors Programmer Guide March 2012


Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.AnswerVDU", callback, user_data, session,


my_vduid );

Telephony Connectors Programmer Guide March 2012 171


TS.Assign
Syntax
ORBStatus Assign( in string criteria );

Description

This method creates a session with the Avaya TS. When a session is created, events
corresponding to the monitoring criteria are sent to the client.

Parameters

Input parameters correspond to criteria for monitoring and controlling devices during the current
session.

Criteria Description

number Identifier of the physical phone. The type of device is


qualified by the DS entry for the agent requesting the
assignment.
The TS recognizes ACD (EAS or MRD) devices and
non-ACD devices.
*p Indicates the value following this criteria is a physical
device that allows for phone calls.
The device can be EAS, ACD, or MRD.
*q Queue (to monitor the activity on the queue). IC 7.3 also
supports *vm is for backward compatibility.
*rVDN Route point (receives a route request and makes it
available for a routing decision). This returns the Adjunct
Route Requests, via association of TS signal on the
MAPD, and filters the requests to return only those that
originated from such a VDN.
Note: Special case: *r*default, which indicates all route
requests issued over the TS’s signal are routed to the
assigned client.
*s SendData step posted from a CCT to a subtype that
does not start with "gv" or "sv" that triggers a
TS.SendData.Event to the client application. This
parameter is only available on systems running with an
Aspect CallCenter switch.
*v VOX server port (to determine if the server sending the
events is a VOX server and, if so, the port number used
by the server).

172 Telephony Connectors Programmer Guide March 2012


Criteria Description

*vm VDN to monitor. A TS.CallOffered.Event is issued on the


incoming call, but routing is not available and no EDUID
is created.
*w Route point that is a waiting device where a call is parked
waiting to be routed by Business Advocate.
*wt Defines a parking device like any other parking device,
but as the default device to which the TS moves
redirected calls Advocate calls triggered by the client
application via a TS.RONA() request.
*a The assign criteria for an ACD split (Avaya
Communication Manager only).
Agent group whose skill set satisfies the requirements of
the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_assign_failure Assign has failed.


vesp_bad_session Client ID is invalid.

Examples
status = Vesp_Assign_Request( "TS.Assign", &ev, callback, user_data,
event_callback, session, "*p5112" );

status = Vesp_Assign_Request( "TS.Assign", &ev, callback, user_data,


event_callback, session, "*q701" );

status = Vesp_Assign_Request( "TS.Assign", &ev, callback, user_data,


event_callback, session, "*r1221" );

status = Vesp_Assign_Request( "TS.Assign", &ev, callback, user_data,


event_callback, session, "*v8000" );

Telephony Connectors Programmer Guide March 2012 173


TS.Busy
Syntax
ORBStatus Busy( void );

Description

This method makes an ACD teleset unavailable for ACD calls. No calls are received until a
BusyTerminate() or Ready() is received. ACD calls are blocked. Direct calls are not blocked. If
this method is called when the phone is in call, the phone state of Busy is pending instead of
immediate because the phone is in call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problems.
vesp_service_not_available Service not available.

Example
status = Vesp_Request( "TS.Busy", callback, user_data, session );

174 Telephony Connectors Programmer Guide March 2012


TS.BusyWithReason
Syntax
ORBStatus BusyWithReason( in string reasoncode );

Description

This method changes an agent’s work mode to “AuxWork” and stores a reason code for this
state change. This method is supported on Avaya Communication Manager and Aspect
CallCenter switches.

Parameters

Value Description

reasoncode Code that represents the reason for work mode change.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_failure Request has failed; possible internal protocol problems.

Example
status = Vesp_Request( "TS.BusyWithReason", callback, user_data,
session, reasoncode );

Telephony Connectors Programmer Guide March 2012 175


TS.ConferenceCancelVDU
Syntax
ORBStatus ConferenceCancelVDU( in VDU_ID vduid );

Description

This method cancels a conference that began with the TS.ConferenceInit() method.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_failure Request has failed. Possible internal protocol problems.
vesp_illegal_state State of the phone is not compatible with operation.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.ConferenceCancelVDU", callback, user_data,
session, my_vduid );

176 Telephony Connectors Programmer Guide March 2012


TS.ConferenceCompleteVDU
Syntax
ORBStatus ConferenceCompleteVDU( in VDU_ID vduid );

Description

This method completes a conference initiated with the TS.ConferenceInitVDU() method. The
party on Hold is joined to the other parties on the call.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_parameter EDUID is invalid.


vesp_bad_session Session is invalid.
vesp_bad_vduid EDUID is invalid.
vesp_failure Request has failed. Possible internal protocol problem.
vesp_resource_not_available No call to conference.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.ConferenceCompleteVDU", callback, user_data,
session, my_vduid );

Telephony Connectors Programmer Guide March 2012 177


TS.ConferenceInitVDU
Syntax
ORBStatus ConferenceInitVDU( in VDU_ID vduid, in string dest );

Description

This method places a caller on Hold and dials a third party. If this method fails, every effort is
made to automatically retrieve the caller on Hold. The EDUID is passed in the incoming call
event the end point receives.
If successful, this method places the third party on the list of interested parties belonging to the
EDU.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

dest Destination of the conference. The destination can be


any of the following:

Agent ID Number–The agent's teleset number is


included in the conference.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, that extension is included
in the conference.

A sequence of digits to dial.


vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

178 Telephony Connectors Programmer Guide March 2012


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_busy Destination was busy.
vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.ConferenceInitVDU", callback, user_data,
session, my_vduid, "12345" );

Telephony Connectors Programmer Guide March 2012 179


TS.ConferenceInitExVDU
Syntax
ORBStatus ConferenceInitExVDU( in string vdu_id, in string dest, in string exdata);

Description

This method is an extension of TS.ConferenceInitVDU designed to support posting of extended


data from the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.ConferenceInitVDU, this method places a caller on Hold and dials a third party. If this
method fails, every effort is made to automatically retrieve the caller on Hold. The EDUID is
passed in the incoming call event the end point receives.
If successful, this method places the third party on the list of interested parties belonging to the
EDU.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

dest Destination of the conference. The destination can be


any of the following:

Agent ID Number–The agent's teleset number is


included in the conference.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, that extension is included
in the conference.

A sequence of digits to dial.


vduid EDUID of the call.
exdata Extended data shared from the UUI field on the switch.

180 Telephony Connectors Programmer Guide March 2012


Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_busy Destination was busy.
vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.ConferenceInitExVDU", callback, user_data,
session, my_vduid, "12345" );

Telephony Connectors Programmer Guide March 2012 181


TS.CreateQueueADU
Syntax
ORBStatus CreateQueueADU( in string queuename, out string aduid );

Description

This method enables the TS to create queue unique ADUs for the TSQS. When the TSQS
requests a queue ADU from the TS, the TS checks the list of existing ADUs for the specified
queuename. The TS provides the TSQS their queue ADUs from this list. If more ADUs are
need, this method enables the TS to creates them.

Parameters

Value Description

queuename Name of the queue the TS checks for the list of existing
ADUs.
aduid Identifier of the ADUs on the list.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.

182 Telephony Connectors Programmer Guide March 2012


TS.Deassign
Syntax
oneway void Deassign( void );

Description

This method disconnects (deassigns) a session with the Avaya TS. When a session is
deassigned, the flow of events from the Avaya TS to the client stops.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.

Example
status = Vesp_Deassign_Request( "TS.Deassign", &ev, NULL, OUL,
session );

Telephony Connectors Programmer Guide March 2012 183


TS.Divert
Syntax
TS.Divert ( in VDU_ID vduid, in string dest )

Description

This method moves a call from a queue, agent, or phone set to a new destination. To move a
call from a phone set, the call must be in the Alerting state.
● For CSTA, calls can be moved from queues, agents, or phone sets.
● For Avaya Communication Manager, calls can only be moved from agents and phone sets,
not queues.

Parameters

Value Description

vduid EDUID of the call to be routed.


dest Destination of the call. The destination can be any of the
following:
● Agent ID Number – The call is placed to the agent's
teleset.
● Name – The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is routed to that extension.
● Sequence of digits to dial.

Returns

Value Description

vesp_success Request was successful.

184 Telephony Connectors Programmer Guide March 2012


Exceptions

Value Description

vesp_bad_parameter Invalid parameter.


vesp_bad_session Session is invalid.
vesp_bad_vduid Invalid EDUID.
vesp_failure Request has failed. Possible internal protocol problem.

Example
char dest ="4001";

ORBStatus status;

VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request("TS.Divert", callback, user_data, session, my_vduid,


destination);

Telephony Connectors Programmer Guide March 2012 185


TS.DropVDU
Syntax
ORBStatus DropVDU( in VDU_ID vduid, in string dest );

Description

This method is only supported on the Avaya Communication Manager. It is used to relinquish a
party from a conference.
For this method to operate properly, you need to know the party ID associated with the
connection. The TS keeps track of the party ID internally by associating a connected number to
the party ID.
For example, if you call 16175551212 and the call is redirected, the connected party could
become 17815551313. The TS will inform IC of this on the "dest" field of a TS.Connect event.
As a result, the TS will expect a TS.DropVDU() for the number 17815551313.
This method also allows for direct indication of the party ID through "*#n" syntax, where n is the
party number to be dropped. TS.DropVDU(*#n) drops the second party in the call from a
conference.
Note:
Note: The TS requires CALL CONTROL in order to drop a party. If your environment
contains any third party application that issues Third Party Call Control on the call
against which you want to operate, the TS.DropVDU() fails.

Parameters

Value Description

vduid The EDUID of the call.


dest The destination to be dropped, found in the conference
event. A party cannot drop itself.

Returns

Value Description

vesp_success Request was successful.

186 Telephony Connectors Programmer Guide March 2012


Exceptions

Value Description

vesp_failure Request has failed; possible internal protocol problems.

Example
status = Vesp_Request( "TS.DropVDU", callback, user_data, session,
my_vduid, destination );

Telephony Connectors Programmer Guide March 2012 187


TS.GenericUpdate
Syntax
ORBStatus GenericUpdate( in string info );

Description

This method forces the Telephony server to update some of its internal settings.

Parameters

Value Description

info Telephony server internal settings.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.GenericUpdate", in string info );

188 Telephony Connectors Programmer Guide March 2012


TS.GetPBXTime
Syntax
ORBStatus GetPBXTime( out string time );

Description

This method gets the current time from the switch. This method is only supported on the Avaya
Communication Manager.

Parameters

Value Description

time The current time

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.GetPBXTime", out string info );

Telephony Connectors Programmer Guide March 2012 189


TS.GetPhoneInfo
Syntax
ORBStatus GetPhoneInfo( in string selection, out SeqCouple info );

Description

This method returns switch-dependent information about the state of a phone. If the client is an
ACD or EAS agent, this method returns the ACD mode.
The TS reports any agents who did not log in through IC as logged out on a TS.GetPhoneInfo.
This method is not restricted to the Avaya Communication Manager. However, for the Aspect
CallCenter, the information that is returned is based on the TS’s internal elements, not in the
values returned from the switch. As such, the status passed by the TS may not match the status
of the switch. Also, the data furnished by the TS to the Aspect switch is restricted to "mode",
which can contain the null (agent not logged in), ready, busy, and wrapup values.

Parameters

Value Description

selection Kind of information to be retrieved. You must be logged


into the switch to retrieve all of the following values
except login:
● "type" — Domain type and extension type of this
agent’s teleset.
● "login” — List of agents logged in to the split.
login=[split]{,print}, where ",print" is optional and, if
present, indicates the information should also be
written to the log for compatibility with 5.6.
● “eas” or “acd” — Agent state information about both
talk state (idle or in-call) and work mode state (busy,
wrap-up, auto-ready, ready).
● empty string (" ") — If the agent’s type is “eas” or
“acd”, requests the same information as “eas” or
“acd”, above. If the agent’s type is neither “eas” or
“acd”, requests the same information as “station”.
info A sequence of couples containing call state, agent mode,
and reason code. State can be “active”, “idle”, or “null”.
Agent mode can be “busy”, “wrapup”, “autoready”,
“ready”, “null”, or “loggedout”.
PBX mode can be “busy”, “wrapup”, “autoready”, “ready”,
or “loggedout”.

190 Telephony Connectors Programmer Guide March 2012


Returns

Value Description

vesp_success Request was successful

Exceptions

Value Description

vesp_failure Request has failed; possible internal protocol problems.

Example
status = Vesp_Request( "TS.GetPhoneInfo", callback, user_data,
session, "", values );

Telephony Connectors Programmer Guide March 2012 191


TS.GetQueueInfo
Syntax
ORBStatus GetQueueInfo( in string queue, in string selection,
out SeqCouple info );

Description

This method returns switch-specific information about the queue. This method is only supported
on the Avaya Communication Manager.

Parameters

Value Description

queue Name of the queue to retrieve information about.


selection Not used, but must be supplied as an empty string.
info A sequence of couples containing the specified
information.

Returns

Value Description

vesp_success Request was successful

Exceptions

Value Description

vesp_failure Request has failed; possible internal protocol problems.

Example
status = Vesp_Request( "TS.GetQueueInfo", callback, user_data,
queue, "", values );

192 Telephony Connectors Programmer Guide March 2012


TS.GetStatus
Syntax
ORBStatus GetStatus( out SeqCouples status );

Description

This method issues a request to the Telephony server to report its current status.

Parameters

Value Description

status A sequence of couples containing the current status of


the Telephony server.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.GetStatus", out SeqCouples status );

Telephony Connectors Programmer Guide March 2012 193


TS.HangupVDU
Syntax
ORBStatus HangupVDU( in VDU_ID vduid );

Description

This method hangs up the voice portion of a call. The EDU remains active for any call wrap-up
activities that are wanted by the business application.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_failure Request has failed. Possible internal protocol problem.
vesp_service_not_available Service is not available.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.HangupVDU", callback, user_data, session,


my_vdu_id );

194 Telephony Connectors Programmer Guide March 2012


TS.HangupExVDU
Syntax
ORBStatus HangupExVDU( in string vdu_id, in string extdata );

Description

This method is an extension of TS.HangupVDU designed to support posting of extended data


from the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.HangupVDU, this method hangs up the voice portion of a call. The EDU remains active
for any call wrap-up activities that are wanted by the business application.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

vduid EDUID of the call.


exdata Extended data shared from the UUI field on the switch.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_failure Request has failed. Possible internal protocol problem.
vesp_service_not_available Service is not available.

Telephony Connectors Programmer Guide March 2012 195


Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.HangupExVDU", callback, user_data, session,


my_vdu_id );

196 Telephony Connectors Programmer Guide March 2012


TS.HeteroSwitchHandoff
Syntax
ORBStatus HeteroSwitchHandoff( in VDU_ID vduid, in string target, in string
requesttype, in string requesthandle,
out string dest );

Description

This method is provided for a Multi Site Heterogeneous Switch environment. This method
requests a phone number from the remote Telephony server to dial to connect to the target
Telephony server for a given call.
Refer to Multi Site Heterogeneous Switch on page 147 for more information.

Parameters

Value Description

vduid EDUID of the call.


target The alphanumeric target destination (usually an Agent ID
or Queue name).
request type Type of connection as makecall, transfer, or conference.
request handle Internal pointer to the request map entry.
dest Telephone number to dial from the remote TS to make
the connection.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 197


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.HeteroSwitchHandoff", in VDU_ID vduid, in string
target, in string requesttype, in string requesthandle,
out string dest );

198 Telephony Connectors Programmer Guide March 2012


TS.HoldReconnectVDU
Syntax
ORBStatus HoldReconnectVDU( in VDU_ID vduid );

Description

This method takes a call off Hold, making the call active.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_failure Request has failed. Possible internal protocol problem.
vesp_resource_not_available There is no call to take off Hold.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.HoldReconnectVDU", callback, user_data, session,
my_vdu_id );

Telephony Connectors Programmer Guide March 2012 199


TS.HoldVDU
Syntax
ORBStatus HoldVDU( in VDU_ID vduid );

Description

This method places the voice portion of the call on Hold. The EDU may still be acted on by the
application.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_service_not_available Service is not available.
vesp_resource_not_available There is no call to put on Hold.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request ( "TS.HoldHoldVDU", callback, user_data, session,
my_vdu_id );

200 Telephony Connectors Programmer Guide March 2012


TS.Login
Syntax
ORBStatus Login( in string login, in string password, in string queue,
in string ext );

Description

This method logs the agent into the ACD to be able to receive, and handle, “queued” calls for
the contact center. The agent does not have to login into the switch to receive direct calls.

Parameters

Value Description

login Logical identification of the agent (in other words, the


Agent ID). For the Meridian Link, this is the position id “+”
the agent id (406+0406), if, and only if, agent software is
enabled in the ACD.
password Agent’s password for login.
queue Queue to which agent is logging in.

For an ACD agent, a queue can be specified here. If a


queue is not specified here, the Avaya TS retrieves the
queue value that was specified in the agent configuration
utility in IC Manager.

For an EAS agent, this parameter is not applicable. The


switch provides the queue information. Any value
specified here is ignored.
ext Equipment number.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 201


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request failed.

Example
status = Vesp_Request( "TS.Login", callback, user_data, session, "5009",
"", "", "4009" );

202 Telephony Connectors Programmer Guide March 2012


TS.Logout
Syntax
ORBStatus Logout( in string queue, in string ext );

Description

This method logs the agent out of the ACD. No more calls that are queued for the contact center
are delivered to the teleset.

Parameters

Value Description

queue The queue from which the agent is logging off.


ext Ignored. Included for compatibility with other versions of
the Avaya TS.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request failed.

Example
status = Vesp_Request( "TS.Logout", callback, user_data, session,
"", "" );

Telephony Connectors Programmer Guide March 2012 203


TS.LogoutWithReason
Syntax
ORBStatus LogoutWithReason( in string queue, in string ext,
in string reasoncode );

Description

This method logs out an agent. If the session’s phone is of type EAS, the TS requests the switch
to log out this agent with the supplied reason code.
This method is supported on the Avaya Communication Manager and the Aspect CallCenter.

Parameters

Value Description

queue Queue that the agent logged in to.


ext Extension number of agent phone.
reasoncode Code that represents the reason for the agent logout.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad-parameter Queue or ext parameter null or length too long.


vesp_failure An assign cannot be found for the TS request, the TS
request is not from an ACD or EAS agent, or the TS
request is from an agent with an empty equipment field.

Example
status = Vesp_Request( "TS.LogoutWithReason", callback, user_data,

204 Telephony Connectors Programmer Guide March 2012


session, queue, ext, reasoncode );

TS.MakeBusy
Syntax
ORBStatus MakeBusy( void );

Description

This method activates "do not disturb" which sets the phone set to a completely Busy state. The
agent cannot perform any other functions while in this state.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.MakeBusy", callback, user_data_session );

Telephony Connectors Programmer Guide March 2012 205


TS.MakeBusyTerminate
Syntax
ORBStatus MakeBusyTerminate( void );

Description

This method deactivates "do not disturb" which takes the phone set out of a completely Busy
state. The agent can now perform other functions on Avaya IC.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.MakeBusyTerminate", callback,
user_data_session);

206 Telephony Connectors Programmer Guide March 2012


TS.MakeCallSetVDU
Syntax
ORBStatus MakeCallSetVDU( in VDU_ID vduid, in string dest );

Description

This method initiates a call attempt using a specified EDU.


This method succeeds even if the destination is busy and an event reporting that the destination
is busy is created.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

dest Destination of the make call, which can be any of the


following:
● Agent ID Number–The call is placed to the agent's
teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is placed to that extension.
● Sequence of digits to dial.

vduid EDUID of the call.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_busy Destination is busy.
vesp_failure Request failed. Possible internal protocol problem.

Telephony Connectors Programmer Guide March 2012 207


Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.MakeCallSetVDU", callback, user_data, session, m_vduid,
"400" );

208 Telephony Connectors Programmer Guide March 2012


TS.MakeCallExSetVDU
Syntax
ORBStatus MakeCallExSetVDU( in string vdu_id, in string dest, in string extdata );

Description

This method is an extension of TS.MakeCallSetVDU designed to support posting of extended


data from the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.MakeCallSetVDU, this method initiates a call attempt using a specified EDU.
This method succeeds even if the destination is busy and an event reporting that the destination
is busy is created.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

dest Destination of the make call, which can be any of the


following:
● Agent ID Number–The call is placed to the agent's
teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is placed to that extension.
● Sequence of digits to dial.

vduid EDUID of the call.


extdata Extended data shared from the UUI field on the switch.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.

Telephony Connectors Programmer Guide March 2012 209


Value Description

vesp_busy Destination is busy.


vesp_failure Request failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.MakeCallSetVDU", callback, user_data, session, m_vduid,
"400" );

210 Telephony Connectors Programmer Guide March 2012


TS.MakeCallVDU
Syntax
ORBStatus MakeCallVDU( in string dest, out VDU_ID vduid );

Description

This method initiates a call attempt. It generates a new EDU and returns it. The status of the call
attempt is then reported back to the client.
This method succeeds even if the destination is busy and an event reporting that the destination
is busy is created.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

dest Destination of the make call. The destination can be any


of the following:
Agent ID Number–The call is placed to the agent's
teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is placed to that extension.
● Sequence of digits to dial.

vduid EDUID of the call.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_busy Destination is busy.
vesp_failure Request failed. Possible internal protocol problem.

Telephony Connectors Programmer Guide March 2012 211


Example
VDU_ID my_vduid;

status = Vesp_Request( "TS.MakeCallVDU", &ev, callback, user_data,


session, "400"’ &my_vduid );

212 Telephony Connectors Programmer Guide March 2012


TS.MakeCallExVDU
Syntax
ORBStatus MakeCallExVDU( in string dest, in string extdata, out string vdu_id );

Description

This method is an extension of TS.MakeCallVDU designed to support posting of extended data


from the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.MakeCallVDU, this method initiates a call attempt. It generates a new EDU and returns
it. The status of the call attempt is then reported back to the client.
This method succeeds even if the destination is busy and an event reporting that the destination
is busy is created.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

dest Destination of the make call. The destination can be any


of the following:
Agent ID Number–The call is placed to the agent's
teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is placed to that extension.
● Sequence of digits to dial.

vduid EDUID of the call.


extdata Extended data shared from the UUI field on the switch.

Telephony Connectors Programmer Guide March 2012 213


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_bad_vduid EDUID is invalid.
vesp_busy Destination is busy.
vesp_failure Request failed. Possible internal protocol problem.

Example
VDU_ID my_vduid;

status = Vesp_Request( "TS.MakeCallExVDU", &ev, callback, user_data,


session, "400"’ &my_vduid );

214 Telephony Connectors Programmer Guide March 2012


TS.PropertyUpdate
Syntax
ORBStatus PropertyUpdate( in string loginid, in SeqCouples SeqData );

Description

This method is used by the client application to inform the Telephony server of an ADUID
change that resulted from a client crash.

Parameters

Value Description

loginid Login id of the client application.


SeqData A sequence of couples containing the specified data with
which to update the Telephony server. The name value of
the couple must be a valid ADUID.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.PropertyUpdate", in loginid,
in SeqCouples SeqData);

Telephony Connectors Programmer Guide March 2012 215


TS.Ready
Syntax
ORBStatus Ready( void );

Description

This method places a phone in the Ready state in preparation for receiving a telephone call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.
vesp_service_not_available Service is not available.

Example
status = Vesp_Request( "TS.Ready", callback, user_data, session );

216 Telephony Connectors Programmer Guide March 2012


TS.ReadyAuto
Syntax
ORBStatus ReadyAuto( void );

Description

This method automatically places a phone set in the Ready state in preparation for receiving a
call every time the phone is hung up.
This method is primarily supported on the Avaya Communication Manager. The Aspect
CallCenter does not use this method at all.

Returns

Value Description

vesp_success Request was successful

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.
vesp_service_not_available Service is not available.

Example
status = Vesp_Request( "TS.ReadyAuto", callback, user_data, session );

Telephony Connectors Programmer Guide March 2012 217


TS.ReceiveData
Syntax
ORBStatus ReceiveData( in SeqCouples values );

Description

This method receives information from the Workflow server after a TS.SendData event is sent
to the Telephony server from the Workflow server. This method should only be used for a host
query operation.
This method is only supported on the Aspect CallCenter switch.

Parameters

Value Description

values A sequence of couples containing the values.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.ReceiveData", in SeqCouples values );

SeqCouple values example:


{0,7{"cct","031f",},{"data_a,""5551212"},{"data_b","3"},...{"resp","A"}}

218 Telephony Connectors Programmer Guide March 2012


TS.ResetPhone
Syntax
ORBStatus ResetPhone( in string );

Description

This method causes the Avaya TS to terminate all the EDUIDs associated with a specific
softphone. It also clears the ADUID sub-tree and contact count for the agent and sets the phone
state to Busy or Ready depending on the softphone configuration.

Parameters

Value Description

busy Sets the phone to not Ready after the Reset is


completed. The agent is unavailable for calls.
ready Sets the phone to Ready after the Reset is completed.
The agent is available for calls.

Returns

Value Description

vesp_success Request was successful.

Example
status = Vesp_Request( "TS.ResetPhone", callback, user_data, session,
"ready");

Telephony Connectors Programmer Guide March 2012 219


TS.Rona
Syntax
ORBStatus Rona( in VDU_ID vduid );

Description

This method re-routes a call to a second end point when there is no answer at the first route
point.
In Business Advocate, this method moves the call back into a service queue.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.Rona", VDU-ID vduid );

220 Telephony Connectors Programmer Guide March 2012


TS.Route
Syntax
ORBStatus TS.Route( in VDU_ID vduid, in string dest )

Description

This method moves a call from a routing point to a destination such as a queue, agent, another
routing point, or a phone set.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

vduid EDUID of the call to be routed.


dest Destination of the call. The destination can be any of the
following:

Agent ID Number–The call is placed to the agent's


teleset.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, the call is routed to that
extension.
In an Aspect environment, you can add a "c" suffix to the
destination to route calls to a CCT.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 221


Exceptions

Value Description

vesp_bad_parameter Invalid parameter.


vesp_bad_session Session is invalid.
vesp_bad_vduid Invalid EDUID.
vesp_failure Request has failed. Possible internal protocol problem.

Example
char dest[25]="4001";

ORBStatus status;

VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request("TS.Route", callback, user_data, session, my_vduid,


destination);

222 Telephony Connectors Programmer Guide March 2012


TS.RouteEx
Syntax
ORBStatus TS.RouteEx( in string vdu_id, in string dest, in string extdata )

Description

This method is an extension of TS.Route designed to support posting of extended data from the
UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.Route, this method moves a call from a routing point to a destination such as a queue,
agent, another routing point, or a phone set.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

vduid EDUID of the call to be routed.


dest Destination of the call. The destination can be any of the
following:

Agent ID Number–The call is placed to the agent's


teleset.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, the call is routed to that
extension.
In an Aspect environment, you can add a "c" suffix to the
destination to route calls to a CCT.
extdata Extended data shared from the UUI field on the switch.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 223


Exceptions

Value Description

vesp_bad_parameter Invalid parameter.


vesp_bad_session Session is invalid.
vesp_bad_vduid Invalid EDUID.
vesp_failure Request has failed. Possible internal protocol problem.

Example
char dest[25]="4001";

ORBStatus status;

VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request("TS.RouteEx", callback, user_data, session, my_vduid,


destination);

224 Telephony Connectors Programmer Guide March 2012


TS.RouteWithInfo
Syntax
ORBStatus TS.RouteWithInfo( in VDU_ID vduid, in string dest,
in string info)

Description

This method moves a call from a routing point to a destination such as a queue, agent, another
routing point, or a phone set.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

vduid EDUID of the call to be routed.


dest Destination of the call. The destination can be any of the
following:

Agent ID Number–The call is placed to the agent's


teleset.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, the call is routed to that
extension.
info Information to be carried across to the destination from
the routing point. This field is passed to the vector and
received as dialed digits. This allows the passing of EWT
to Advocate calls.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 225


Exceptions

Value Description

vesp_bad_parameter Invalid parameter.


vesp_bad_session Session is invalid.
vesp_bad_vduid Invalid EDUID.
vesp_failure Request has failed. Possible internal protocol problem.

Example
char dest[25]="4001";

ORBStatus status;

VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request("TS.RouteWithInfo", callback, user_data, session,


my_vduid, destination);

226 Telephony Connectors Programmer Guide March 2012


TS.RouteWithInfoEx
Syntax
ORBStatus TS.RouteWithInfoEx( in string vdu_id, in string dest,
in string info, in string extdata)

Description

This method is an extension of TS.RouteWithInfo designed to support posting of extended data


from the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.RouteWithInfo, this method moves a call from a routing point to a destination such as a
queue, agent, another routing point, or a phone set.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

vduid EDUID of the call to be routed.


dest Destination of the call. The destination can be any of the
following:

Agent ID Number–The call is placed to the agent's


teleset.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, the call is routed to that
extension.
info Information to be carried across to the destination from
the routing point. This field is passed to the vector and
received as dialed digits. This allows the passing of EWT
to Advocate calls.
extdata Extended data shared from the UUI field on the switch.

Telephony Connectors Programmer Guide March 2012 227


Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_parameter Invalid parameter.


vesp_bad_session Session is invalid.
vesp_bad_vduid Invalid EDUID.
vesp_failure Request has failed. Possible internal protocol problem.

Example
char dest[25]="4001";

ORBStatus status;

VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request("TS.RouteWithInfoEx", callback, user_data, session,


my_vduid, destination);

TS.SelectiveDisconnect
Syntax
ORBStatus SelectiveDisconnect(in VDU_ID vduid, in string listener,
in string talker);

Description

This method enables the selective listening.

228 Telephony Connectors Programmer Guide March 2012


Parameters

Value Description

vduid EDUID of the call.


listener Identifies the extension on the call whose listening path
is to be disconnected that is, the listener.
This parameter if mandatory.
talker Identifies the extension on the call that will no longer be
heard by the listener-- that is, the talker. If the
talker_extension is not specified, TS defaults to all
parties currently on the call -- that is, all the talkers
This parameter if optional.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.SelectiveDisconnect", callback, user_data,
session, my_vduid, "12345", "54637");

TS.SelectiveReconnectVDU
Syntax
ORBStatus SelectiveDisconnectVDU(in VDU_ID vduid, in string listener,
in string talker);

Telephony Connectors Programmer Guide March 2012 229


Description

This method enables the selective listening.

Parameters

Value Description

vduid EDUID of the call.


listener Identifies the extension on the call whose listening path
is to be disconnected that is, the listener.
This parameter if mandatory.
talker Identifies the extension on the call that will no longer be
heard by the listener-- that is, the talker. If the
talker_extension is not specified, TS defaults to all
parties currently on the call -- that is, all the talkers
This parameter if optional.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.SelectiveReconnectVDU", callback, user_data,
session, my_vduid, "12345", "54637");

230 Telephony Connectors Programmer Guide March 2012


TS.SendDTMFtonesVDU
Syntax
ORBStatus SendDTMFtonesVDU( in VDU_ID vduid, in string tones );

Description

This method sends DTMF tones from a softphone to the switch, as though they were generated
on the phone set keypad.
This method is supported on the Avaya Communication Manager and the Aspect CallCenter.

Parameters

Value Description

vduid EDUID of the call.


tone Maximum of 32 characters from the set 0-9, *, #.

Returns

Value Description

vesp_success Request was successful

Exceptions

Value Description

vesp_failure The input parameter exceeds 32 characters, or the write


to the ASAI socket failed.

Example
status - Vesp_Request( "TS.SendDTMFtonesVDU", callback, user_data,
session, my_vduid, tones, destination, "12345" );

Telephony Connectors Programmer Guide March 2012 231


TS.SetContactState
Syntax
ORBStatus SetContactState( in VDU_ID vduid, in string state,
in string reason);

Description

This method enables the Telephony server Adapter to explicitly set the state of a contact.

Parameters

Value Description

state The standard state of the contact.


reason The optional reason for the current state.
vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request( "TS.SetContactState", callback, user_data, session,
my_vduid, "terminated", "102" );

232 Telephony Connectors Programmer Guide March 2012


TS.SingleStepConferenceVDU
Syntax
ORBStatus SingleStepConferenceVDU(in VDU_ID vduid, in string destination,
in string Mode);

Description

This method enables the single step conferencing.

Parameters

Value Description

vduid EDUID of the call.


destination The destination of the conference, which can be any of
the following:
● Agent ID Number: The call is transferred to the
agent's teleset.
● Name: The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is conferenced to that extension.
● Sequence of digits to dial.

Mode ● VISIBILITY_ON: The newly added party with full


visibility option will have listen and talking paths.
● VISIBILITY_OFF: Only listening paths will be
provided for the newly added party.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 233


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";
status = Vesp_Request( "TS.SingleStepConferenceVDU", callback, user_data,
session, my_vduid, "12345", VISIBILITY_ON);

TS.StartTimer
Syntax
ORBStatus StartTimer( in SeqString strAgentIds);

Description

This method supports failover and recovery of the soft ACD to the hard ACD for IC
environments running in Avaya Business Advocate mode. This method is used by the Resource
Manager to inform the Avaya TS to start the agent’s recovery timer for a passed list of agents.

Parameters

Value Description

agent_ids Sequence of strings that contain the agents login ids.

Returns

Value Description

vesp_success Request was successful

234 Telephony Connectors Programmer Guide March 2012


Exceptions

Value Description

vesp_bad_session Session is invalid


vesp_failure Request has failed; possible internal protocol problems.
vesp_service_not_available Service not available.

Example
status = Vesp_Request( “TS.StartTimer”, callback, user_data, session,
pSeqString );

TS.SwapHeld
Syntax
ORBStatus SwapHeld( void );

Description

This method is used in a consultative transfer or conference call. It puts the active call on Hold
and make the primary call, which is on hold, active.
This method is supported for the Avaya Communication Manager and the Aspect CallCenter
switches.

Parameters

None

Returns

Value Description

vesp_success Request was successful

Telephony Connectors Programmer Guide March 2012 235


Exceptions

Value Description

vesp_bad_session Session is invalid


vesp_failure Request has failed; possible internal protocol problems.
vesp_service_not_available Service not available.

Example
status = Vesp_Request( “TS.SwapHeld”, callback, user_data, session );

236 Telephony Connectors Programmer Guide March 2012


TS.TransferCancelVDU
Syntax
ORBStatus TransferCancelVDU( in VDU_ID vduid );

Description

This method cancels a transfer that was started with the TS.TransferInit() method.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed.
vesp_illegal_state State of phone is not compatible with operation.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferCancelVDU", callback, user_data,


session, my_vduid );

Telephony Connectors Programmer Guide March 2012 237


TS.TransferCompleteVDU
Syntax
ORBStatus TransferCompleteVDU( in VDU_ID vduid );

Description

This method completes the transfer that was started with the TS.TransferInit() method. The
party on Hold is connected with the called third party and the first party (the originator of the
transfer) is hung up.

Parameters

Value Description

vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed.
vesp_illegal_state State of phone is not compatible with operation.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferCompleteVDU", callback, user_data,


session, my_vduid );

238 Telephony Connectors Programmer Guide March 2012


TS.TransferInitVDU
Syntax
ORBStatus TransferInitVDU( in VDU_ID vduid, in string dest );

Description

This method places the call initiator on Hold and calls a third party. If this method fails, the call
initiator is retrieved from Hold. The EDUID is passed in the incoming call event that the end
point receives.
If successful, this method places the third party on the list of interested parties for the EDU.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

dest The destination of the transfer, which can be any of the


following:

Agent ID Number–The call is transferred to the agent's


teleset.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, the call is transferred to
that extension.

Sequence of digits to dial.


vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 239


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_illegal_state State of phone is not compatible with operation.
vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferInitVDU", callback, user_data, session,


my_vduid, "5000" );

240 Telephony Connectors Programmer Guide March 2012


TS.TransferInitExVDU
Syntax
ORBStatus TransferInitExVDU( in string vdu_id, in string dest, in string extdata );

Description

This method is an extension of TS.TransferInitVDU designed to support posting of extended


data from the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.TransferInitVDU, this method places the call initiator on Hold and calls a third party. If
this method fails, the call initiator is retrieved from Hold. The EDUID is passed in the incoming
call event that the end point receives.
If successful, this method places the third party on the list of interested parties for the EDU.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

dest The destination of the transfer, which can be any of the


following:

Agent ID Number–The call is transferred to the agent's


teleset.

Name–The name is looked up in the Avaya IC Directory.


If the telephone number field associated with the name
contains an extension number, the call is transferred to
that extension.

Sequence of digits to dial.


vduid EDUID of the call.
extdata Extended data shared from the UUI field on the switch.

Telephony Connectors Programmer Guide March 2012 241


Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_illegal_state State of phone is not compatible with operation.
vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferInitExVDU", callback, user_data, session,


my_vduid, "5000" );

242 Telephony Connectors Programmer Guide March 2012


TS.TransferVDU
Syntax
ORBStatus TransferVDU( in VDU_ID vduid, in string dest );

Description

This method transfers a call and its EDU to a destination. The second party (being transferred)
is momentarily placed on Hold, and the third party (receiving the transfer) receives an incoming
call event. If successful, this method places the third party on the list of interested parties for the
EDU.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.

Parameters

Value Description

dest The destination of the transfer, which can either of the


following:
● Agent ID Number–The call is transferred to the
agent's teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is transferred to that extension.
vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 243


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_illegal_state State of phone is not compatible with operation.
vesp_failure Request has failed. Possible internal protocol problem.
resource_not_available The resource is currently unavailable.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferVDU", callback, user_data, session,


my_vduid, "4500" );

244 Telephony Connectors Programmer Guide March 2012


TS.TransferExVDU
Syntax
ORBStatus TransferVDU( in string vdu_id, in string dest, in string extdata );

Description

This method is an extension of TS.TransferVDU designed to support posting of extended data


from the UUI field on the switch to the available space in the uudata field on ASAI.
This method transfers a call and its EDU to a destination. The second party (being transferred)
is momentarily placed on Hold, and the third party (receiving the transfer) receives an incoming
call event. If successful, this method places the third party on the list of interested parties for the
EDU.
With MSHS activated, if the destination of the call is referenced by name and that name is not
logically resolved, the TS uses MSHS to find out where to post the call.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

dest The destination of the transfer, which can either of the


following:
● Agent ID Number–The call is transferred to the
agent's teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is transferred to that extension.
vduid EDUID of the call.
extdata Extended data shared from the UUI field on the switch.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 245


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_illegal_state State of phone is not compatible with operation.
vesp_failure Request has failed. Possible internal protocol problem.
resource_not_available The resource is currently unavailable.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferExVDU", callback, user_data, session,


my_vduid, "4500" );

246 Telephony Connectors Programmer Guide March 2012


TS.Unpark
Syntax
ORBStatus Unpark( in VDU_ID vduid, in dest );

Description

This method is used in Business Advocate environments to divert a call that is waiting in a
parking device.

Parameters

Value Description

dest The destination of the transfer, which can either of the


following:
● Agent ID Number–The call is transferred to the
agent's teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is transferred to that extension.
vduid EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Telephony Connectors Programmer Guide March 2012 247


Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferUnpark", callback, user_data, session,


my_vduid, "4500" );

248 Telephony Connectors Programmer Guide March 2012


TS.UnparkEx
Syntax
ORBStatus UnparkEx( in string vdu_id, in string dest, in string extdata );

Description

This method is an extension of TS.Unpark designed to support posting of extended data from
the UUI field on the switch to the available space in the uudata field on ASAI.
Like TS.Unpark, this method is used in Business Advocate environments to divert a call that is
waiting in a parking device.
This method is only supported on Avaya Communication Manager switch.

Parameters

Value Description

dest The destination of the transfer, which can either of the


following:
● Agent ID Number–The call is transferred to the
agent's teleset.
● Name–The name is looked up in the Avaya IC
Directory. If the telephone number field associated
with the name contains an extension number, the call
is transferred to that extension.
vduid EDUID of the call.
extdata Extended data shared from the UUI field on the switch.

Returns

Value Description

vesp_success Request was successful.

Telephony Connectors Programmer Guide March 2012 249


Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
VDU_ID my_vduid = "3016ace000700007800002c1b580002";

status = Vesp_Request( "TS.TransferUnparkEx", callback, user_data, session,


my_vduid, "4500" );

250 Telephony Connectors Programmer Guide March 2012


TS.WrapUp
Syntax
ORBStatus WrapUp( void );

Description

This method places the phone in a wrap-up state. This method is only useful for ACD-type sets.
If this method is called when the phone is in call, the phone state of WrapUp is pending instead
of immediate because the phone is in call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.
vesp_service_not_available Service is not available.

Example
status = Vesp_Request ( "TS.WrapUp", callback, user_data, session );

Telephony Connectors Programmer Guide March 2012 251


TS.WrapUpComplete
Syntax
ORBStatus WrapUpComplete( in VDU_ID vduid );

Description

This method completes the wrap-up state on the phone.

Parameters

Value Description

vduid The EDUID of the call.

Returns

Value Description

vesp_success Request was successful.

Exceptions

Value Description

vesp_bad_session Session is invalid.


vesp_failure Request has failed. Possible internal protocol problem.

Example
status = Vesp_Request ( "TS.WrapUpComplete", callback, user_data, session,
my_vduid, "4500" );

252 Telephony Connectors Programmer Guide March 2012


Obsolete Methods
The following TS methods are no longer supported by Avaya IC. The system returns an
"Unsupported Procedure" error when you try to invoke them.
● TS.Answer
● TS.CallForward
● TS.CallForwardCancel
● TS.ConferenceCancel
● TS.ConferenceInit
● TS.ConferenceComplete
● TS.GetPBXConfig
● TS.GetPhoneConfig
● TS.GetQueueConfig
● TS.HangUp
● TS.Hold
● TS.HoldReconnect
● TS.MakeCall
● TS. MessageWaiting
● TS.MessageWaitingCancel
● TS.Transfer
● TS.TransferCancel
● TS.TransferComplete
● TS.TransferInit

Telephony Connectors Programmer Guide March 2012 253


254 Telephony Connectors Programmer Guide March 2012
Chapter 8: Containers

This chapter describes the objects the Avaya TS uses the store information about the contacts
and agents who use Avaya IC. These objects are called containers.
This section includes the following topics:
● Overview on page 256
● Voice contact containers on page 257
● Agent containers on page 272
● Container implementation on page 293
● Call scenarios on page 294

Telephony Connectors Programmer Guide March 2012 255


Overview
The Avaya TS automatically collects information about the contacts who call Avaya IC and the
agents who handle them. This information is stored in objects known as containers.
Containers are structures that hold repeated instances of call data, such as the names of
interested clients and call point information or agent activity.
The Avaya TS creates two kinds of containers to store this information.
● Voice contact containers store information about the contacts using Avaya IC. Voice
contact containers are discussed in detail in Voice contact containers on page 257.
● Agent containers store information about the agents who handle contacts on Avaya IC.
Detailed information on agent containers is provided in Agent containers on page 272.
Containers are enabled or disabled through the "Enable Call Containers" configuration
parameter in IC Manager. The "Enable Call Containers" and the "Use 6.0 State Fields"
parameters are enabled by default on the Server Manager in IC Manager to enable both types
of containers and call state changes. These parameters are required for the creation of
containers on Avaya IC.
The following table describes the configuration parameters that pertain to containers. Refer to
IC Administration Volume 1: Servers & Domains for more details.

Parameter Name Default Description

Enable Agent Containers enabled Turns ADU Containers on/off for agent
containers.
Enable Call Containers enabled Turns EDU Containers on/off for voice
contact containers.
Use 6.0 State Fields enabled Determines if “call state” statistics are written
to the container in the new style (6.0 and
later).

256 Telephony Connectors Programmer Guide March 2012


Voice contact containers
Voice contact containers (EDU containers) store information about specific contacts as they
move through Avaya IC. This information includes the ANI and DNIS associated with the
contact, the duration of the contact (in real-time), and the reason for terminating the contact.
Voice contact containers are created when the contact is received by the Avaya TS from the
switch. The contact is assigned an Electronic Data Unit (EDU) identifier, known as an EDUID.
When the call enters a device that is monitored by Avaya IC, the Avaya TS verifies if the data in
the UUI is a valid EDUID. If it is not valid, the Avaya TS creates a UUI field in the EDU and
populates this field with the information retrieved from the UUI. From that point, the UUI data is
populated by the EDUID.
The information that is collected in the voice contact container as the contact moves from one
leg of the call to another is placed into the contact’s Electronic Data Unit (EDU) based on the
EDUID.
The various parties involved in a voice contact (such as agents, callers, and IVRs) are known as
end points. Each time a voice contact is connected to a new end point, the Avaya TS creates a
new container in which to store information about the new end point.
A voice contact’s first end point is named voice.1, the second is voice.2, the third is voice.3 and
so on. Information pertaining to each end point is stored in a subordinate structure:
voice.2.talktime, voice.2.ringtime, voice.2.holdtime, and so on.
A voice contact container accumulates information about each successive end point until the
voice contact connection is terminated. When the connection is terminated, the accumulated
information for all the end points is sent to the EDU server.
This section describes the EDU containers that are created in IC 7.3. The tables list the
contents of an example container. X represents the unique identification number for each end
point. Y and Z represent sequence numbers within each end point’s activities.

Telephony Connectors Programmer Guide March 2012 257


EDU elements
The EDU server updates the following EDU elements in the voice contact container when an
EDU is created. These EDU elements are also updated when the contact reaches an end point
in the call. The EDU server updates the EDU the elements that apply to the specific end point.

Container Name Value Description

agent container number Number of the agent container to be


incremented with the information from
this leg of the call.
agent_key unique database record The key that retrieves the agent record
key from the database.
ani phone number Automatic Number Identification. The
caller’s 10-digit telephone number.
contactduration number of seconds Difference between contactcreatetime
and contactendtime. This field is not
meaningful if the EDU was stored and
restored, or if the EDU was removed
due to idleness. Note this value is the
length of time the EDU was in memory,
not the length of the call.
contactendtime time in seconds Time of the last Terminate method to
the EDU or equivalent, such as removal
of the EDU due to idleness.
dnis phone number Dialed Number Identification Service.
Telephone number dialed by the
contact.
dest phone number Telephone number of the destination
you are trying to reach
ext phone number Telephone extension of the agent.
loginid loginid Loginid of the agent or end point.
orig phone number Telephone of the originator of this leg of
the call.
phone phone id Agent identifier (ID) on the switch that
corresponds with the loginid field.
queue queue id Identifier of the queue where the call is
placed while waiting for an agent.

258 Telephony Connectors Programmer Guide March 2012


Container Name Value Description

ucid (Avaya Communication 8-byte binary tag Universal Call ID (UCID) - A unique tag
Manager only) the Avaya Communication Manager
assigns at the origination of each call
that is not already associated with an
existing UCID.
voice container number Number of the voice contact container
to be incremented with the information
from this leg of the call.

Telephony Connectors Programmer Guide March 2012 259


EDU containers
EDU containers are created after the call reaches an end point and a call state is entered. For
example, an agent answers the call, the call is abandoned, the call is transferred and answered
by a second agent, etc.
EDU containers are created for a queue only if the call is abandoned while in the queue. These
queue containers are populated only for voice contact containers running on a system with an
Avaya Communication Manager. The following information is added to the voice contact
container as the contact moves from one leg of the call to another.

Container Name Value Description

voice.X delta time For the first voice contact container


(voice.1) in the call, this is base time
(should be 0). For subsequent
containers in the call, it is elapsed time
in seconds since the creation of the
EDU.
voice.X.abandon reason for abandoning If the exit reason of a call end point is
the call: "in queue", "abandon", this container provides
"while ringing", "while on additional information.
hold"
voice.X.abandontime number of seconds The period of time, in seconds, that the
contact was on the call before it was
abandoned.
voice.X.agent_key unique database record The key that retrieves the agent record
key from the database.
voice.X.conference.Y time in seconds The number of seconds between the
creation time of the EDU and the
beginning of the conference call.
voice.X.conference.Y.parties number of parties The number of parties participating in
the conference call.
voice.X.conference.Y.dest.Z phone number The destination phone number (Z) of a
conference call, where Z = 1, 2, 3, ...
voice.X.conference.Y.key database key The database key of the agent to whom
the call was conferenced. This matches
the value in voice.X.conference.Y.dest.
voice.X.connect delta time The elapsed time in seconds between
the creation of the EDU and the time
the call was connected.
voice.X.destination phone number The phone number of the client at end
point X.

260 Telephony Connectors Programmer Guide March 2012


Container Name Value Description

voice.X.direction inbound/outbound The direction of the call to or from the


agent.
voice.X.exit_reason reason for exit: "normal", The switch supplies the reason for the
"transfer", "abandon", termination of a call end point.
"other"
voice.X.holdtime.Y time in seconds The period of time spent on hold during
instance Y.
voice.X.leg_id unique id (UUID) The unique leg_id of the current leg of
the call.
voice.X.loginid loginid The loginid of the client at end point X.
voice.X.origin phone number The phone number (ANI) at the other
end of end point X.
voice.X.queue delta time The elapsed time in seconds between
the creation of the EDU and the time at
which the switch reports the call as
queued.
voice.X.queue_number queue number The queue number configured with the
contact center switch as the VDN that
front ends the queue.
voice.X.queuetime time in seconds The time reported by the switch
between a call arriving on an inbound
trunk of the switch and the call being
sent to an agent queue.
voice.X.ringtime time in seconds The time reported by the switch
between the agent phone starting to
ring and the agent answering the
phone.
voice.X.talktime time in seconds The time reported by the switch
between the agent answering the
phone and the agent hanging up the
phone.
voice.X.transfer phone number The phone number to which the call
was transferred.
voice.X.ucid 8-byte binary tag Universal Call ID (UCID) - A unique tag
(Avaya Communication the Avaya Communication Manager
Manager TS only) switch assigns at the origination of
each call that is not already associated
with an existing UCID.

Telephony Connectors Programmer Guide March 2012 261


Container Name Value Description

voice.X.uuid UUID of Telephony Telephony Server can add it’s own


Server UUID in the EDU container. This helps
to identify the Telephony Server that
created the particular EDUID.
voice.X.owner Alias name of Telephony Telephony Server can add it’s own alias
Server name in the EDU container. This helps
to identify the Telephony Server that
created the particular EDUID.

Advocate qualifiers in the EDU container


This section describes how Business Advocate qualifiers are recorded in an EDU container and
how they are associated with the agents and end points of the call where they are used. Avaya
Business Advocate is documented in IC Business Advocate Configuration and Administration.
This section provides descriptions and examples for the following call scenarios:
● initial contact route
● call transfer to a service class
● abandoned call
This section also describes the data that is written by the Workflow server and the Telephony
Server Adapter (TSA).

Initial Contact Route


To record Business Advocate qualifiers in the EDU and associate them with the leg of the
contact, where the contact was processed, the following scenario is performed. This example
refers to a call received over a voice channel on Avaya IC.
1. The contact is presented to the TS. The TS sends a request, to match the contact to an
agent, to the TSA for the TS. The TSA sends the contact to the Workflow server to be
qualified.
2. The Workflow server records the information used to route the contact in a new container
named advocate.n.routinginfo.m.
a. If the container number is zero, the Workflow server creates a new advocate container
by writing the qualifier information to "advocate.+.routinginfo.+”.
b. If the container number is non-zero, the Workflow server writes the qualifier
information to "advocate.n.routinginfo.+”.

262 Telephony Connectors Programmer Guide March 2012


! Important:
Important: The flow must return the number of the advocate container ("n") to the TSA in the
postqualification call. On the first request to qualify the contact, the TSA passes
"0" to the flow. On subsequent requests, the TSA passes the “n” that was used in
the first request.

The TSA must keep a record of the number of times (“m”) it requested the
qualification for a single contact and the number of the advocate container (“n”)
that this request is using (the number returned in postqualification.)

Telephony Connectors Programmer Guide March 2012 263


3. When an agent is matched to the work, the TSA records the following information in the
EDU, where agentid is the login id of the agent.
advocate.<agentid> = advocate.n
advocate.<agentid>.qualifiers = <qualifier string>
advocate.n.routinginfo.m.agentmatch=true

For example:
advocate.joe = advocate.1
advocate.joe.qualifiers= 2.2,4.6,5.3
advocate.1.routinginfo.1.agentmatch = true

4. The TSA asks the TS to route the call to “agentid”. When the TS creates a new container
for the contact for the destination, the TS reads the advocate.<agentid>and
advocate.<agentid>.qualifiers fields in the EDU and writes the following information into
the voice.x container.

Agentid is the login id of the agent.


Leg_id# is a UUI value (32 bytes unique id: 3d35dcf9000000008723591d232f0002) that is
generated by the VESP library upon requesting the number of the leg for this connection.
<qualifier string> is the string of qualifiers written by the TSA into
advocate.<agentid>.qualifiers field.
voice.x.qualifiers= <qualifier string>
voice.x.leg_id = leg_id#
advocate.n.leg_id = leg_id#

For example:
voice.2.qualifiers = 2.2,4.6,5.3
voice.2.leg_id = 3d35dcf9000000008723591d232f0002
advocate.1.leg_id = 3d35dcf9000000008723591d232f0002

5. The TS also writes voice.<x>.<qualifiers = <qualifier string> into the ADU container for the
leg of the contact.
6. The TS then nulls out the <qualifier string> value in advocate.<agentid>.qualifiers.

264 Telephony Connectors Programmer Guide March 2012


Initial Contact Route Example
The following example illustrates a new call being routed to an agent.
1. The TSA requests call qualification from the Workflow server for a qualification and passes
"0" to indicate that this is a first request.
2. The Workflow server qualifies the call. For this example, assume it uses the qualifiers set
"2.2, 5.2, 6.3".
3. The Workflow server writes the routinginfo information to advocate.+.routinginfo.+ and
returns "1" to the TSA in the postqualification call, as the advocate container for the
contact.
4. The TSA sends a request to the Resource Manager server for an agent match. For this
example, assume that the Resource Manager server returns “joe”, as the agent login.
5. The TSA writes the following fields to the EDU:
advocate.joe.qualifiers = 2.2,5.2,6.3
advocate.joe = advocate.1
advocate.1.routinginfo.1.agentmatch = true

6. Then the TSA sends a request to the TS to route the call to “joe”.
7. When the call arrives at “joe's" phone, the TS creates a voice.x container for the call and
reads the value “advocate.1” from advocate.joe from the EDU and the 2.2,5.2,6.3
qualifiers string from advocate.joe.qualifiers, then writes it to the EDU:
voice.1.qualifiers = 2.2,5.2,6.3
voice.1.leg_id = 3d35dcf9000000008723591d232f0002
advocate.1.leg_id = 3d35dcf9000000008723591d232f0002
For this example, the EDU contains the following fields:
advocate.1.routinginfo.1.qualifiers = 2.2,5.2,6.3
advocate.1.routinginfo.1.waittreatmentstyle = 2
advocate.1.routinginfo.1.specificagentid=”
advocate.1.routinginfo.1.excludedagentid=”
advocate.1.routinginfo.1.action=route
advocate.1.routinginfo.lrmid_key = "

advocate.1.routinginfo.1.agentmatch = true
advocate.1.leg_id = 3d35dcf9000000008723591d232f0002
advocate.joe = advocate.1
advocate.joe.qualifiers = 2.2,5.2,6.3
voice.1.qualifiers = 2.2,5.2,6.3
voice.1.leg_id = 3d35dcf9000000008723591d232f0002
After these fields are written to the EDU, the media connector changes to null.
advocate.joe.qualifiers = “

Telephony Connectors Programmer Guide March 2012 265


Transfer Calls to Service Class
Service Classes are used to define a type of interaction work for Business Advocate.
When transferring a call or requesting a conference for a call:
1. The agent client calls the Unified Agent Directory (UAD) to transfer the call to a service
class.
2. The UAD calls a transfer workflow.
3. The transfer workflow creates a new advocate container by writing the qualifier information
to "advocate.+.routinginfo.+”.
4. The agent client sends a requests the TS to transfer the call to the wait treatment queue
returned by the transfer workflow.
5. When the receiving TS sees the call queued to the wait treatment queue, this TS sends an
incoming event to the TSA. (This may not be the same TS that transferred the call.)
6. The TSA accesses the highest numbered advocate container to get the qualifiers.
7. The TS routes calls to the agent using the steps starting from step 3.

Abandoned Calls
When a voice call is abandoned the following occurs:
1. The switch sends a CTI event to the TS indicating an abandoned call.
2. The TS informs the TSA of the abandoned call.
3. When the TS creates the voice container for the leg of the call representing the abandoned
call, the TS writes:
voice.x.abandoned = true

4. The TSA writes:


advocate.n.routinginfo.m.abandoned = true
If a call is abandoned before an agent match is found, there are no “agentmatch” fields set in
the advocate container. If the contact is abandoned after an agent match is found, the
abandoned field exists in addition to the “agentmatch” field.
The TSA may send a route request to the TS, and the TS simultaneously sends an abandoned
event to the TSA. Since the TSA receives a route fail if the call is abandoned, the TSA can write
the abandon information in the routinginfo container.
However, if the call is abandoned after the TSA receives the route confirmation and before the
agent receives the call, there is no abandon indication in the routinginfo container.
Also, if a voice contact is abandoned between the time the call is transferred from the agent to
the wait treatment queue in a voice transfer, and the time the TS passes the event to the TSA,
there may be no abandon in the routinginfo container.

266 Telephony Connectors Programmer Guide March 2012


Flow Data
The following is the information recorded by the workflow when qualifying a contact for
Business Advocate. This information must be recorded by:
● the Business Advocate qualification flows for voice, email and chat
● the Business Advocate exception flows for voice, email and chat.
● the transfer flows processing virtual queues containing service classes for voice and email
(there currently is no chat transfer to a service class).
This information is placed in a new container: advocate.n.routinginfo.m, where “n” is the number
of the request to find a Business Advocate agent for this contact and “m” is the number of tries
that this request has made to match the contact to an agent.
The fields that are written are:

Name Value

advocate.n.routinginfo.m.qualifiers The qualifiers for the contact, formatted as a


comma separated list of category.qualifier e.g,
2.2,5.2,6.3.
advocate.n.routinginfo.m.waittreatmentstyle Integer value representing the wait treatment
style for this contact.
advocate.n.routinginfo.m.specificagentid Agent identifier for specific agent.
(an empty string indicates no specific agent
specified.)
advocate.n.routinginfo.m.excludedagentid Agent identifier for excluded agent
(an empty string indicates no excluded agent
specified.)
advocate.n.routinginfo.m.action This is a string set to “route” indicating a route
qualification, or transfer indicating a transfer
qualification.
advocate.n.routinginfo.m.lrmid_key pkey of the LRMid for a specific agent, (empty
string if agentid empty)

Telephony Connectors Programmer Guide March 2012 267


Adapter Server Data
The information in this section is written by the Adapter server (TSA) when the server receives
an agent match for a contact. This information is placed in a new container:
advocate.n.routinginfo.m
where “n” is the number of the request to find a Business Advocate agent for this contact and
“m” is the number of tries that this request has made to match the contact to an agent.

Name Value

advocate.n.routinginfo.m.agentmatch true

The TSA also writes the couples:

Name Value

advocate.<agentid> advocate.n
advocate.<agentid>.qualifiers The qualifiers for the call, formatted as a
comma separated list of category.qualifier e.g,
2.2, 5.2, 6.3

where agentid = the login id of the agent to which the contact should be routed

Name Value

<media>.<x>.qualifiers The qualifiers for the contact, formatted as a


comma separated list of category.qualifier e.g,
2.2,5.2,6.3
<media>.<x>.leg_id The string representation of the WACD taskID.
advocate.<n>.leg_id The string representation of the WACD taskID.

If the Adapter server (TSA) receives an abandon for the contact before the contact is delivered,
the server writes the following to the EDU.

Name Value

advocate.n.routinginfo.m.abandoned true

268 Telephony Connectors Programmer Guide March 2012


Reporting from EDU containers
The Avaya TS does not calculate state durations (for example, connect duration, talk time, hold
time) nor does it calculate event counts (for example, the number of times a voice contact was
placed on hold). However, a reporting application can derive these values from the time stamps
and other information in a voice contact container.
The following table explains how useful process measurement data can be derived from the
information stored in voice contact containers.

Measurement Definition Derivation

Hold Count The total number of times a voice The total number of
contact was placed on hold. voice.X.holdtime.Y events for a
given instance of X.
Hold Time The time spent on hold during hold Derived from voice.X.holdtime.Y.
instance Y.
Queue Time The time reported by the switch Derived from value stored in
between a voice contact arriving voice.X.queuetime.
on an inbound trunk of the switch
and the voice contact being sent to
an agent queue.
Queue time is available only on
the switches that provide direct
queue monitoring, which is the
Avaya Communication Manager.
Ring Time The time reported by the switch Derived from value stored in
between agent phone starting to voice.X.ringtime.
ring and agent answering the
phone.
Talk Time The total time that the agents were Derived from value stored in
connected to the telephone call, voice.X.talktime.
but not on hold.
(Aspect CallCenter-specific.)

Telephony Connectors Programmer Guide March 2012 269


Switch support for EDU containers
The following table lists the EDU containers that are created on each of the switches supported
in IC 7.3. Some are supported for agent and queue activity, some are supported only for agent
activity, and some are not supported for any activity on the switch.

Container Name Avaya Communication Manager Aspect CallCenter

voice.X agent & queue agent


voice.X.abandon agent & queue agent
voice.X.abandontime agent & queue agent
voice.X.agent_key agent agent
voice.X.conference.Y agent agent
voice.X.conference.Y.parties agent agent
voice.X.conference.Y.dest.Z agent agent
voice.X.conference.Y.key.Z agent agent
voice.X.connect agent agent
voice.X.destination agent & queue agent
voice.X.direction agent & queue agent
voice.X.exit_reason agent & queue agent
voice.X.holdtime.Y agent agent
voice.X.leg_id agent & queue agent
voice.X.loginid agent & queue agent
voice.X.origin agent & queue agent
voice.X.queue queue no
voice.X.queue_key agent & queue no
voice.X.queue_number queue no
voice.X.queuetime queue no
voice.X.ringtime agent agent
voice.X.talktime agent agent

270 Telephony Connectors Programmer Guide March 2012


Container Name Avaya Communication Manager Aspect CallCenter

voice.X.transfer agent agent


voice.X.ucid agent & queue no

* Only if the call is external coming through a trunk.

Telephony Connectors Programmer Guide March 2012 271


Agent containers
As a voice contact moves between agents in the contact center, the Avaya TS stores
information about the voice contact in a way that does not interfere with the statistics from the
next or last agent to handle the voice contact. To do this, the Avaya TS automatically creates an
agent container. An agent container is created for an agent at login. The agent is assigned an
Agent Data Unit (ADU) identifier, known as an ADUID.
There are two types of agent containers.
● The first type of agent container stores information about a specific agent, such as the
agent’s login ID, the time the agent logged in, and the current number of active contacts for
that agent.
● The second type of agent container stores aggregate information about a group of agents
assigned to a specific system queue. The second type of agent container receives
information from a server that supports the Avaya TS. This supporting server is known as
the Telephony Queue Statistics server (TSQS).
The information that is collected in an agent container about the agent and the contacts the
agent handles goes into that agent’s ADU based on the ADUID. Information from an agent
queue container goes into that agent’s queue ADU.
Similarly, when a queue is defined in IC Manager, a separate ADU is created for the queue, and
the queue is assigned an ADUID. This ADU stores information about contact traffic for the
queue. When a service class is created, two ADUs are created for the service class.
Each agent involved in the voice contact gets a separate portion of the agent container. The first
agent to handle the voice contact is assigned the name agent.1. Activities involving agent 1 are
represented by values such as agent.1.callduration and agent.1.reasoncode. The next agent to
handle the voice contact is assigned the name agent.2 with activity values agent.2.callduration,
agent.2.reasoncode, and so on.
This section describes the ADU containers that are created in IC 7.3. The tables list the
contents of an example container. X represents the unique identification number for each end
point. Y and Z represent sequence numbers within each end point’s activities.

272 Telephony Connectors Programmer Guide March 2012


Agent container example
This example follows an agent container from creation to termination.
1. The Avaya TS requests an EDU for a new voice contact, determines the login ID (or UUID)
of the agent client that first handles the voice contact. It sets the name agent.+loginid to a
value of loginid.
2. An agent client who already assigned to the Avaya TS using agent.*.loginid gets a watch
event, because agent.1 was created with a matching value. From this watch event the
agent client gets the EDUID and the current values in the EDU. Using the * token in
assigns significantly reduces the overhead of multiple assigns. Refer to the Electronic
Data Unit Server Programmer Guide for a complete description of the * token and other
container naming conventions.
3. The agent client handles the EDU, typically storing the data in the agent.! container, which
expands to agent.1 because this is the first agent client to handle the call. The voice
contact is routed to a second agent client.
4. The Avaya TS recognizes the transfer and marks the EDU with an agent.+newloginid and
a value of newloginid. (This becomes agent.2.)
5. A different agent client, also assigned to the Avaya TS with agent.*.newloginid, sees this
new EDU. The first agent client still sees the EDU, because the first agent’s criteria still
match (the agent.1 container still contains the first agent’s login ID).
6. The first agent client continues to add data to the EDU during voice contact wrapup. The
second agent client sees these changes in real time.
7. The first agent client decides to receive no more events about the EDU changes and sets
agent.! to an empty string. This sets agent.1 and the first agent client gets a drop event,
because the first agent client’s assign criteria no longer matches. Agent.1 is empty and
agent.2 is not the first agent’s login ID.
8. At some point, the first agent client invokes a VDU.Terminate method to the EDU server.
The EDU is no longer kept active for the first agent.

Telephony Connectors Programmer Guide March 2012 273


ADU containers
ADU containers are created for a queue only if the call is abandoned while in the queue. These
queue containers are only populated for voice contact containers running on a system with an
Avaya Communication Manager.
The following table lists the ADU contents of an example voice contact container. X represents
the contact number for this agent on the media channel.

Container Name Contents

voice.X.eduid The EDU associated with this contact.


voice.X.queue_info The queue from which the call was received. This
could be the ACD split or a VDN.
voice.X.queue_key The database key for the queue from which the
contact was received.
This value is returned only if queue monitoring is
enabled on the switch and is supported only on
the Avaya Communication Manager TS because
the other IC 7.3 switches do not support queue
monitoring.
voice.X.sourcequeue The queue from which the contact was received.
This value is returned only if queue monitoring is
enabled on the switch and is supported only on
the Avaya Communication Manager TS because
the other IC 7.3 switches do not support queue
monitoring.
voice.X.state The state of the agent: "loggedin", "loggedout",
"active", "available", "busy", "wrapup".
voice.X.stdstate The media channel state of the agent.
voice.X.stdstate.Y.active The current media channel state of the agent as
"active".
voice.X.stdstate.Y.active.reason The reason the agent exited the "active" media
channel state. This container is empty.
voice.X.stdstate.Y.active.starttime The time that the current agent state (active)
started.
voice.X.stdstate.Y.alerting The current media channel state of the agent as
"alerting".
voice.X.stdstate.Y.alerting.reason The reason the agent exited the "alerting" media
channel state. This container is empty.

274 Telephony Connectors Programmer Guide March 2012


Container Name Contents

voice.X.stdstate.Y.alerting.starttime The time that the current agent state (alerting)


started.
voice.X.stdstate.Y.inactive The current media channel state of the agent as
"inactive".
voice.X.stdstate.Y.inactive.reason The reason the agent exited the "inactive" media
channel state. This container is empty.
voice.X.stdstate.Y.inactive.starttime The time that the current agent state (inactive)
started.
voice.X.stdstate.Y.initiating The current media channel state of the agent as
"initiating".
voice.X.stdstate.Y.initiating.reason The reason the agent exited the "initiating" media
channel state. This container is empty.
voice.X.stdstate.Y.initiating.starttime The time that the current agent state (initiating)
started.
voice.X.stdstate.Y.terminated The current media channel state of the agent as
"terminated".
voice.X.stdstate.Y.terminated.reason The reason the agent exited the "terminated"
media channel state. Contents are "terminated".
voice.X.stdstate.Y.terminated.starttime The time that the current agent state (terminated)
started.
voice.X.stdstate.Y.wrapup The current media channel state of the agent as
"wrapup".
voice.X.stdstate.Y.wrapup.reason The reason the agent exited the "wrapup" media
channel state. This container is empty.
voice.X.stdstate.Y.wrapup.starttime The time that the current agent state (wrapup)
started.

Telephony Connectors Programmer Guide March 2012 275


Switch support for ADU containers
The following table lists the ADU containers that are created on each of the switches supported
in IC 7.3. Some are supported for agent and queue activity, some are supported only for agent
activity, and some are not supported for any activity on the switch.

Container Name Avaya Communication Aspect CallCenter


Manager

voice.X.eduid agent agent


voice.X.queue_info agent no
voice.X.queue_key agent no
voice.X.sourcequeue agent agent
voice.X.state agent agent
voice.X.stdstate agent agent
voice.X.stdstate.Y.active agent agent
voice.X.stdstate.Y.active.reason agent agent
voice.X.stdstate.Y.active.starttime agent agent
voice.X.stdstate.Y.alerting agent agent
voice.X.stdstate.Y.alerting.reason agent agent
voice.X.stdstate.Y.alerting.starttime agent agent
voice.X.stdstate.Y.inactive agent agent
voice.X.stdstate.Y.inactive.reason agent agent
voice.X.stdstate.Y.inactive.starttime agent agent
voice.X.stdstate.Y.initiating agent agent
voice.X.stdstate.Y.initiating.reason agent agent
voice.X.stdstate.Y.initiating.starttime agent agent
voice.X.stdstate.Y.terminated agent agent
voice.X.stdstate.Y.terminated.reason agent agent
voice.X.stdstate.Y.terminated.starttime agent agent
voice.X.stdstate.Y.wrapup agent agent

276 Telephony Connectors Programmer Guide March 2012


Container Name Avaya Communication Aspect CallCenter
Manager

voice.X.stdstate.Y.wrapup.reason agent agent


voice.X.stdstate.Y.wrapup.starttime agent agent

* For external calls

Reporting from an agent container


The Avaya TS updates the information in agent containers when a contact is terminated. This
information is used for reports on agent activities. The following table lists the data the Avaya
TS records and the reporting information provided by that data:.

Data Recorded Calculation

Number of contacts offered A tally of items posted to a specific ADU.


Number of contacts handled Derived from container end point 1. Number of
contacts handled is a combination of voice.1 and
voice.1.talktime where talk time is greater than a
specific period of time (for example, 2 seconds.)
Number of contacts abandoned while in Derived from container end points that include
queue, ringing, or on hold voice.abandon items. Data is recorded for each
agent.
Average voice contact handling time The amount of time from the start of the contact
to the end of the contact. For example, from the
time when the EDU is created to the time the
contact is disconnected.
Average talk time per contact Total talk time divided by the number of contacts
handled. Because the switch reports talk time
from its own perspective, talk time does not
include the period in which a contact is on hold.
Therefore, talk time should first be reduced by the
following: voice.X.holdtime.Y (for all Ys in the
container) divided by the number of contacts
handled.
Average talk time per agent Similar to calculation for average talk time per
contact, except this one is specific to each
container end point item voice.X.loginid, grouped
by login ID. Data can be derived from the ADU by
dividing total agent talk time by the number of
agents.

Telephony Connectors Programmer Guide March 2012 277


Data Recorded Calculation

Average wrap up time Raw data is in the ADU itself. Every agent has an
ADU after a successful voice.assign. After
hanging up a voice contact, the agent transitions
to a wrap up state, and the time of this transition
is recorded in the agent’s ADU. The time of the
agent’s next state transition is also recorded in
the ADU. Therefore, wrap up time is the period
between these two transition times. The average,
therefore, is derived by dividing the total wrap up
time for all voice contacts by the total number of
voice contacts.
Average answer time Total ring time for the number of contacts offered,
divided by the number of contacts.
Average time before abandoning a voice Raw data is derived from container end points
contact that include voice.abandon items. Data is
recorded for each agent. Average time before
abandoning a voice contact is the sum of ring
time, queue time, and talk time for all abandoned
voice contacts, divided by the number of
abandoned voice contacts.
Average number of transfers Derived by dividing the number of contacts
handled by the number of voice.X.transfer items
in the container.
Number of times a contact is placed on Raw data comes from the number of contacts
hold handled. Calculation is as follows: number of
voice.X.holdtime.Y items for all Ys within each X.
Duration of the current agent state Raw data is in the ADU. For a given ADU,
subtract the current time from the time the current
agent state was recorded in the ADU.

278 Telephony Connectors Programmer Guide March 2012


Queue ADU fields
When a queue is defined in IC Manager, a separate ADU is created for the queue, and the
queue is assigned an ADUID. The ADU for the queue stores information about contact traffic for
the queue.
Note:
Note: When section refers to queue ADUs, that includes Service Class ADUs. For more
information, see the Agent Data Unit Server Programmer Guide.
The following table contains the ADU values that are set by the Avaya TS and TSQS when the
queue ADU is created. These values are static, they do not change throughout the life of the
ADU.

Field Name Description Set By

acdname The database key for the switch associated TS only (not TSQS)
with this queue.
connector The UUID of the media connector server TS only (not TSQS)
responsible for the queue.
connectorname The name of the media connector TS only (not TSQS)
responsible for this queue.
id The media channel specific id of the queue. TS and TSQS
The id must be unique for a media channel
in a specific site.
key The database key assigned to this queue. TS and TSQS
media The type of media channel over which the TS and TSQS
queue is receiving contacts: voice, email, or
web.
minimumagents The fewest number of agents that should be TS and TSQS
assigned to one queue.
priority The priority level assigned to the queue. It TS and TSQS
can be 1 for the highest priority down to 10
for the lowest.
queue_key The database key assigned to this queue. TS and TSQS
queueid The media channel specific id of the queue. TS and TSQS
The id must be unique for a media channel
in a specific site.
queuename The name assigned to this queue when it TS and TSQS
was created in IC Manager.

Telephony Connectors Programmer Guide March 2012 279


Field Name Description Set By

servicelevel The interval within which a queued contact TS and TSQS


should be assigned to an agent on the
system. This time period value varies across
media channels.
site The name of the site to which the queue was TS and TSQS
assigned when it was created in IC
Manager.
site_key The unique database key assigned to the TS and TSQS
queue’s site.
type The type of ADU that is created. This value TS and TSQS
is “queue”.

Service Class Record


Service Class records apply to Avaya Business Advocate. Avaya Business Advocate is
documented in IC Business Advocate Configuration and Administration.
Service Class records define types of interaction work for Business Advocate using qualifier
sets. Each service class is assigned a goal that is used to measure how quickly contacts in that
service class should be serviced. Each Advocate queue has a one-to-one mapping with the
Service Class.
This section describes the Service Class ADUs that Avaya Business Advocate (Advocate)
sends to the ADU server. Service Class information is stored in 3 ADU data records:
● Service Class Summary record
● Service Class State record
● Service Class Detail record

280 Telephony Connectors Programmer Guide March 2012


Service Class Summary record
The Service Class Summary record contains data about a single service class on Avaya IC.
This data is static (not dynamic) and is only updated when service class administration
changes.
Advocate sends the following data to the Service Class Summary record on all of the ADU
servers to which Advocate is assigned.

Data Item Description Updated when...

scid Identifier of the service class as a the service class is created or


string. administered.
name Name of the service class as a the service class is created or
string. administered.
description Description of the service class as the service class is created or
a string. administered.
type Type of resource, set to the service class is created.
"serviceclasssummary" for this
record as a string.
lrmid_key Identifier of the logical Resource the service class queue is
Manager server associated with administered.
this ADU as an integer.
createtime Time the record was initially the record is initially created.
created in the format:
YYYY:MM:DD HH:MM:SS
createtimet Time the record was created, in the record is initially created.
seconds, from 1/1/70 as an
integer.
lastupdate Time the record was last updated the record is updated.
in the format:
YYYY:MM:DD HH:MM:SS
lastupdatetimet Time the record was last updated, the record is updated.
in seconds, since /1/70 as an
integer.
qualifiers Service class qualifier as a string the service class is
in a comma separated list administered.
arranged in ascending order of the
category ids.

Telephony Connectors Programmer Guide March 2012 281


Data Item Description Updated when...

channel Media channel represented by the the service class is


service class. Allows media administered.
connectors to listen for
notifications from only those
service class that correspond to
their media channel.
state State of the service class as an the email service class state
integer from 1 to 8. changes.
This field is only set for email
service classes on distributed
Advocate.
definedagents Indicates that agents are the first agent is defined for the
administered for the service class service class or the last agent
as T (true) or F (false). is removed from the service
class.
This field is only set for email
service classes on distributed
Advocate.
loggedinagents Indicates the agents logged in to the first agent logs in to the
this service class are capable of service class or the last agent
servicing this service class as T logs out of the service class.
(true) or F (false). --OR--
Some agents may be logged in to the first agent is made
the service class, but unavailable available after covering a
to Advocate due to a CTI link failed CTI link or the last agent
failure. They are not counted. is made available because that
agent covers a failed CTI link.
This field is only set for email
service classes on distributed
Advocate.
scgoalid Service goal used for this service the goal assigned to the
class as a string. service class changes.
(32 byte service goaln id)
lowerthreshold Lower threshold value, in seconds, the threshold changes or the
for the service goal associated goal associated with the
with this service class as an service class changes.
integer.
upperthreshold Upper threshold value, in seconds, the threshold changes or the
for the service goal associated goal associated with the
with this service class as an service class changes.
integer.

282 Telephony Connectors Programmer Guide March 2012


Data Item Description Updated when...

criticalthreshold Critical threshold value, in the threshold changes or the


seconds, for the service goal goal associated with the
associated with this service class service class changes.
as an integer.
criticalduration Specifies whether or not the the criticalduration changes or
critical threshold is used for the the goal associated with the
service class. service class changes.

Service Class State record


The Service Class State record contains real time for all of the service classes on a single
instance of Advocate. In a system with multiple instances of Advocate, there is a Service Class
State record on each instance of Advocate. Service Class State records are updated at a
pre-configured time intervals, the default is every 5 seconds.
Advocate sends the following data to the Service Class State record on all of the ADU servers to
which Advocate is assigned.

Data Item Description Updated when...

type Type of resource, set to the Resource Manager


"allserviceclassstate" as a string. initializes.
lrmid_key Identifier of the logical Resource the Resource Manager
Manager server associated with initializes.
this ADU as an integer.
createtime Time the record was initially the record is initially created.
created in the format:
YYYY:MM:DD HH:MM:SS
createtimet Time the record was created, in the record is initially created.
seconds, since 1/1/70 as an
integer.
lastupdatetime Time, in seconds, since the record the record is updated.
was last updated in the format:
YYYY:MM:DD HH:MM:SS.

Telephony Connectors Programmer Guide March 2012 283


Data Item Description Updated when...

lastupdatetimet Time the record was last updated, the record is updated.
in seconds, since 1/1/70 as an
integer.
sc<scid> Service class state for the service one of the attributes on the list
class with the id "scid". is changed.
Refer to sc<scid> format on
page 284 for more details.
There is a sc<scid> field in each
service class in the Resource
Manager server.

sc<scid> format
The sc<scid> field in the Service Class State record uses the following format:
sc<scid>={0,6{"qualifiers", ">qualifiers>"},{"state","<n>"},
{"wat","<n>"},{"ewt","<n>"},{"ewtused","<1/0>"},
{"loggedinagentcount","<n>"}}
where <scid> is the 32 byte scid for this service class.
These fields may appear in any order in the array. When a single field in the array is written, the
remaining fields must also be written. None of these fields should ever have a value of NULL.
The following table described the sc<scid> fields from the above example:

Data Item Description Updated when...

qualifiers Service class qualifier as a string. the service class is created or


administered.
state State of the service class as an the state has changed,
integer from 1 to 8. updated every 5 seconds.
wat Waited advanced time of the the wait advanced time has
service class, in milliseconds. changed, updated every 5
seconds.
ewt Estimated wait time of the service the estimated wait time has
class. changed, updated every 5
seconds.
ewtused Indicates if the estimated wait time the value of the ewtused field
value is reliable and can be used has changed, updated every 5
as T (true) or F (false). seconds.

284 Telephony Connectors Programmer Guide March 2012


Data Item Description Updated when...

loggedinagentcount Indicates the agents logged in to the number of logged in agents


this service class are capable of has changed, updated every 5
servicing this service class as T seconds.
(true) or F (false).
Some agents may be logged in to
the service class, but unavailable
to Advocate due to a CTI link
failure. They are not counted.
recordstatus Indicates that this record is no the service class is deleted.
longer valid as "deleted".

Service Class Detail record


The Service Class Detail record contains real time data for a single service class for a single
instance of Advocate for a single media connector. The Service Class Detail record is updated
at a pre-configured time interval, default is every 5 seconds.
Advocate sends the following data to the Service Class Detail record on all of the ADU servers
to which Advocate is assigned.

Data Item Description Updated when...

qualifiers Service class qualifier string. The service class queue is


created or administered.
type Type of resource, set to The service class queue is
"serviceclassdetail" as a string. administered.
lrmid Identifier of the logical Resource The service class queue is
Manager server associated with administered.
this ADU as a string.
connector UID of the media connector that the record is initially created.
created the record.
createtime Time the record was initially the record is initially created.
created in the format:
YYYY:MM:DD HH:MM:SS
createtimet Time the record was created, in the record is initially created.
seconds, since 1/1/70 as an
integer.
lastupdate Time the record was last updated the record is updated.
in the format:
YYYY:MM:DD HH:MM:SS

Telephony Connectors Programmer Guide March 2012 285


Data Item Description Updated when...

lastupdatetimet Time the record was last updated, the record is updated.
in seconds, since /1/70 as an
integer.
contactcount Number of contacts currently in a contact is sent to a queue,
queue. Not including calls routed abandoned, or delivered to
to a specific agent (see an agent (ringing).
directcount). Contacts are removed from
Represented as an integer that is contactcount when they are
>= 0. alerting at the agent.
contactsoffered Number of contacts that were sent a contact is sent to a queue.
to this queue since midnight. Not This count is still incremented
including contacts routed to a if an agent is available and
specific agent (see directcount). the contact is not sent to a
Represented as an integer that is queue.
>= 0.
deliveredqueuetime Total queue time of all contacts a contact is delivered to an
delivered to agents since midnight agent (ringing).
as an integer. Any contacts delivered to an
Not including contacts routed to a agent without first being sent
specific agent (see to a queue do not contribute
directdeliveredqueuetime). queue time in this field.
Represented as an integer.
deliveredahead Number of contacts that resided in a contact is delivered to an
this queue for less time than the agent.
value set in the LowerThreshold If the LowerThreshold field
field before they were delivered to value is 0, no contacts are
agents, since midnight. counted.
Represented as an integer that is
>= 0.
deliveredtarget Number of contacts that resided in a contact is delivered to an
this queue for at least the value agent.
set in the LowerThreshold field, If the LowerThreshold field
but less time than the value set in value is 0, contacts delivered
the UpperThreshold field before to an agent without residing
they were delivered to agents, in the queue are counted.
since midnight.
Not including contacts routed to a
specific agent.
Represented as an integer that is
>= 0.

286 Telephony Connectors Programmer Guide March 2012


Data Item Description Updated when...

deliveredbehind Number of contacts that resided in a contact is delivered to an


this queue for more time than the agent.
value set in the UpperThreshold
field, but less time than the value
set in the CriticalThreshold field
before they were delivered to
agents, since midnight.
Not including contacts routed to a
specific agent.
Represented as an integer that is
>= 0.
deliveredcritical Number of contacts that resided in a contact is delivered to an
this queue for more time than the agent.
value set in the CriticalThreshold
field, before they were delivered to
agents, since midnight.
Not including contacts routed to a
specific agent.
Represented as an integer that is
>= 0.
abandonedqueuetime Total queue time, in seconds, of all a contact is abandoned.
abandoned contacts, since Queue time may start before
midnight. midnight, but is recorded in
Not including contacts routed to a the period in which the
specific agent (see contact abandons.
directdeliveredqueuetime).
Represented as an integer.
abandonedahead Number of contacts that resided in a contact abandoned.
this queue for less time than the
value set in the LowerThreshold
field before they were abandoned,
since midnight.
Represented as an integer that is
>= 0.
adandonedontarget Number of contacts that resided in a contact is abandoned.
this queue for at least the value
set in the LowerThreshold field,
but less time than the value set in
the UpperThreshold field before
they were abandoned, since
midnight.
Not including contacts routed to a
specific agent.
Represented as an integer that is
>= 0.

Telephony Connectors Programmer Guide March 2012 287


Data Item Description Updated when...

abandonedbehind Number of contacts that resided in a contact is abandoned.


this queue for more time than the
value set in the UpperThreshold
field, but less time than the value
set in the CriticalThreshold field
before they were abandoned,
since midnight.
Not including contacts routed to a
specific agent.
Represented as an integer that is
>= 0.
abandonedcritical Number of contacts that resided in a contact is abandoned.
this queue for more time than the
value set in the CriticalThreshold
field, before they were abandoned,
since midnight.
Not including contacts routed to a
specific agent.
Represented as an integer that is
>= 0.
outflowed Number of contacts left in the a contact leaves the queue.
queue since midnight. These are
contacts that were not abandoned
or delivered to an agent.
This may occur under certain error
conditions or when the contact is
transferred from one media
connector to another.
outflowqueuetime Total queue time, in seconds, of all a contact leaves the queue.
the contacts that left the queue
without abandoning or being
delivered to an agent, since
midnight.
Represented as an integer.
specificcount Current number of contacts in the a contact is abandoned or
service class queue for a specific delivered to an agent.
agent. Contacts are removed from
Represented as an integer that is specifccount when they are
>=0. alerting at the agent.
specificoffered Number of contacts sent to this a contact is sent to a queue.
queue for a specific agent, since This count is still incremented
midnight. if an agent is available and
Represented as an integer that is the contact is not sent to a
>=0. queue.

288 Telephony Connectors Programmer Guide March 2012


Data Item Description Updated when...

specificdelivered Number of contacts sent to this a contact is delivered to an


queue for a specific agent and agent
delivered to an agent, since
midnight.
Represented as an integer that is
>=0.
specificdeliveredqtime Total queue time, in seconds, of all a contact is delivered to an
the contacts delivered to specific agent.
agents, since midnight. Any contacts delivered to an
Represented as an integer. agent without first being sent
to a queue do not contribute
queue time in this field.
specificabandoned Number of contacts sent to this a contact is abandoned.
queue for a specific agent that
abandoned, since midnight.
Represented as an integer that is
>=0.
specificabandonedqtime Total queue time, in seconds, for a contact is abandoned.
all contacts for specific agents that Queue time may start before
abandoned from queue, since midnight, but is recorded in
midnight. the period in which the
Represented as an integer. contact abandons.

Telephony Connectors Programmer Guide March 2012 289


ADU fields for statistical reporting
The following table contains the ADU values that represent the statistics of a given queue.
These values are maintained for monitored queues except where indicated in the Notes
column. They are changed by the Telephony Queue Statistics server (TSQS) with each update
of the ADU.

Field Name Definition Notes

abandoned The number of contacts that


abandoned from this queue or from
alerting since midnight.
abandonedlasthour The number of contacts that
abandoned from this queue in the
last hour.
abandonedthishour The number of contacts that
abandoned from this queue during
the current hour.
abandonmiss The number of contacts that Not available on Aspect
abandoned from this queue or from CallCenter
alerting since midnight after waiting
longer than the service level
interval.
abandonqueuetime The total queue time of all contacts
that were abandoned from queue
since midnight.
acceptqueuetime The total queue time of all contacts
that were answered/accepted by
agents since midnight.
averagedelay The average expected wait time for
the queue.
avgqueuetime The average expected wait time for
the queue. The same value as
averagedelay.
contactcount The current number of contacts in
the queue.
contactsaccepted The number of contacts routed to
this queue that were answered/
accepted by agents since midnight.
contactsoffered The number of contacts routed to
this queue since midnight.

290 Telephony Connectors Programmer Guide March 2012


Field Name Definition Notes

handledlasthour The number of contacts answered/


accepted in the last hour.
handledthishour The number of contacts answered/
accepted during the current hour.
minutes_in_first_hour The number of minutes that make
up the first hourly statistic.
offeredlasthour The number of contacts routed to
this queue in the last hour.
offeredthishour The number of contacts routed to
this queue during the current hour.
oldest The number of seconds the oldest
contact has been in the queue.
If the “oldest_as_timestamp”
configuration parameter is set to
true in IC Manager, then this value
is the arrival time of the oldest
contact in the queue.
servicelevelmiss The number of contacts that were
not handled during the prescribed
service level time. This includes all
contacts that abandoned.
servicelevelper The percentage of calls that were
not handled within the prescribed
service level time.
servicelevel Number of seconds within which a
contact is to be answered or
accepted.
ttlqueuetime The total waiting time of all the
contacts in the queue.
updatetime The time of the last update to the
queue.

Telephony Connectors Programmer Guide March 2012 291


ADU fields for MSHS support
The following table describes the ADU field names that were added to Avaya IC 7.3 to support
Multi Site Heterogeneous Switch (MSHS) functionality. These fields are used by all of the switch
versions of the Avaya TS:.

Field Name Description Set By

voice.acdname The name of the switch that the Avaya TS


Avaya TS is serving.
voice.agent_key The database key for the agent. Avaya TS
voice.connector The UUID of the Avaya TS that is Avaya TS
responsible for agent events.
voice.connectorname The name assigned Avaya TS that Avaya TS
is responsible for agent events.
voice.device The physical phone set where the Avaya TS
agent is located.
voice.device_address Concatenation of the following Avaya TS
fields:
● voice.device

● voice.connector

Layout is:
423@400f013b000100008723591
d580002

292 Telephony Connectors Programmer Guide March 2012


Container implementation
Container implementation was modified in the Avaya IC 6.0.1 release to provide better call data
for reporting. This section describes when containers are created in the course of the call in an
eContact 5.6 environment versus an Avaya IC 6.x environment.
Refer to Call scenarios on page 294 for more information about container contents.

Interaction Center 6.0.1 and subsequent releases


In Avaya IC 6.0.1, the first container is not created until the call reaches an agent. Additional
containers are created at each leg of the call.
If a call is abandoned in the queue while waiting for an agent, a container is created. Containers
are not created for route points in Avaya IC 7.3.
The following example illustrates what occurs when a call is received by Avaya IC 6.0.1. For
information on the contents of the containers in different call scenarios, refer to Call
scenarios on page 294.
1. An Electronic Data Unit (EDU) is created when the call is received and ready for routing.
2. A container is not created when the call is routed to a queue to wait for an available agent.
3. The first container (voice.1) is created when the call is routed to an agent. Any data
pertinent to queue times prior to the delivery of the call to the agent is also reported in this
container. If the call is abandoned before it reaches the agent, this container is still created
and holds data about this call in queue.
4. A second container (voice.2) is created when a call that is transferred to or conferenced
with a second agent reaches the second agent. If a conference is cancelled or the first
agent abandons the call, the second container is still created and holds information
pertaining to the abandonment of the second leg of the call.
5. If the call is terminated at any point in this scenario, the statistics in the previous container
are used for the reporting of the call.

Telephony Connectors Programmer Guide March 2012 293


Call scenarios
This section describes the EDU elements and values that are created in the following call
scenarios in the Avaya IC 7.3 implementation of voice contact containers. This section also
describes the voice contact containers that are created and the call state changes that occur
during each call scenario.
● Route point
● Simple call scenario
● Abandoned call scenario (in queue, while ringing, on hold)
● Transfer call scenario (at a queue, at an agent, transfer to second agent)
● Conference call scenario (at a queue, at an agent, conference with a second agent)
● Consultative cancel scenario (during ring, after answered by the second agent)

Restrictions
Voice.X.queue_key containers are not provided if voice.X.queue_number containers are not
supported by the switch. For example, not supported by Aspect CallCenter.
Voice.X.queuetime containers are not supported on Aspect CallCenter.

294 Telephony Connectors Programmer Guide March 2012


Route point
In all of the call scenarios in this section, the EDU is created when the call is received by the
Avaya TS from the switch. This is the route point of Avaya IC. The following example lists the
EDU elements and their corresponding values as they are found in the system log file:
"agent.+3d35dcf9000000008723591d237f0002" = ""
"agent_key" = ""
"ani" = "20002"
"calltype" = "direct"
"contactduration" = "0"
"contactendtime" = "1031331966"
"ctype" = "direct"
"dest" = "40010"
"dnis" = "40010"
"ext" = "40010"
"loginid" = "3d349436000400008723591d14250002"
"orig" = "20002"
"phone" = ""
"primary_ani" = "20002"
"primary_dnis" = "40010"
"type" = "voice"
"ucid" = "19002000201031331966" (Avaya Communication Manager only)

Note:
Note: The call is routed to a queue to wait for an available agent. The new elements
that are written to the EDU at the queue overwrite these elements with the
exception of the “primary_ani” element and the “primary_dnis” element. The
“primary_ani” element and the “primary_dnis” element do not change throughout
the call.

Telephony Connectors Programmer Guide March 2012 295


Simple call scenario
The call is sent to a queue to wait for an available agent. The call is routed to an agent when
one becomes available.
This section contains the EDU elements and values that are created when the call is routed to
the queue and then to the agent in this scenario. It also provides an example of the voice
contact container that is created when the call reaches the agent.

Call at a queue
The Avaya TS notifies the EDU server the call is at a queue. The EDU server then updates the
EDU with the following elements and values.
Note:
Note: The Aspect CallCenter switches do not provide this information to the TS
because they do not support queue monitoring. These elements are not
populated in the voice contact container when a call is in queue for these
switches.
"agent.+3d35dcf9000000008723591d232f0002" = ""
"agent_key" = ""
"ani" = "20002"
"contactduration" = "0"
"contactendtime" = "1031331966"
"dnis" = "40010"
"dest" = "40050"
"ext" = "40050"
"loginid" = "dd50117"
"orig" = "40010"
"phone" = ""
"ucid" = "19002000201031331966" (Avaya Communication Manager only)

296 Telephony Connectors Programmer Guide March 2012


Call at an agent
The Avaya TS notifies the EDU server the call has reached an agent. The EDU server updates
the EDU with the following elements and values.
"agent.+dd50117" = "dd50117"
"agent_key" = "100006"
"ani" = "20002"
"contactduration" = "2"
"contactendtime" = "1031331968"
"dnis" = "40010"
"dest" = "20127"
"ext" = "20127"
"loginid" = "dd50117"
"orig" = "40010"
"phone" = "50117"
"queue" = "40050" (not present for Business Advocate)
"ucid" = "19002000201031331966" (Avaya Communication Manager only)
"voice.+dd50117" = "0"

Voice Contact Container


The following voice contact container is created when the agent answers the call.
"voice.1" = "0"
"voice.1.acdname" = "1fe"
"voice.1.agent_key" = "100006"
"voice.1.connect" = "1"
"voice.1.destination" = "20127"
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "normal"
"voice.1.loginid" = "dd50117"
"voice.1.leg_id" = "3d78e07e000a00008723591d23330002"
"voice.1.origin" = "40010"
"voice.1.queue" = "0" (Avaya Communication Manager only)
"voice.1.queue_number" = "40050" (Avaya Communication Manager only)
"voice.1.queuetime" = "0" (Avaya Communication Manager only)
"voice.1.ringtime" = "1"
"voice.1.talktime" = "1"
"voice.1.ucid" = "19002000201031331966" (Avaya Communication Manager only)
The following elements are written by the TSA on systems that are running Avaya Business
Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Telephony Connectors Programmer Guide March 2012 297


Call State Changes
The voice contact container records the following call state changes for a call that was
answered by an agent in the appropriate sections of the voice contact container.

state.1031331966" = "created"
"voice.1.stdstate.1031331966.created.reason" = ""
"voice.1.stdstate.1031331966.created.starttime" = "1031331966"

"voice.1.stdstate.1031331966" = "alerting"
"voice.1.stdstate.1031331966.alerting.reason" = ""
"voice.1.stdstate.1031331966.alerting.starttime" = "1031331966"

"voice.1.stdstate.1031331967" = "active"
"voice.1.stdstate.1031331967.active.reason" = ""
"voice.1.stdstate.1031331967.active.starttime" = "1031331967"

"voice.1.stdstate.1031331968" = "wrapup"
"voice.1.stdstate.1031331968.wrapup.reason" = "101"
"voice.1.stdstate.1031331968.wrapup.starttime" = "1031331968"

"voice.1.stdstate.1031331969" = "terminated"
"voice.1.stdstate.1031331969.terminated.reason" = "101"
"voice.1.stdstate.1031331969.terminated.starttime" = "1031331969"

Abandoned call scenario


The call is sent to a queue to wait for an available agent. The call is routed to an agent when
one becomes available.
The caller may abandon the call at various points in the call.
● At the queue if the caller who does not want to wait for an agent.
● At the agent if the call is put on hold.
● At the agent while the agent’s phone is ringing.
This section provides the EDU elements and values that are created when the call is
abandoned at each of these points in the call. It also provides an example of the voice contact
container that is created in each of these instances.

298 Telephony Connectors Programmer Guide March 2012


Abandoned in queue scenario
The Avaya TS notifies the EDU server the call was abandoned at a queue. The EDU server
updates the EDU with the following elements and values.
Note:
Note: The Aspect CallCenter switches do not provide this information to the TS
because they do not support queue monitoring. These elements are not
populated in the voice contact container when a call is in queue for these
switches.
"agent.+3d35dcf9000000008723591d232f0002" = ""
"agent_key" = ""
"ani" = "20002"
"contactduration" = "5"
"contactendtime" = "1031321506"
"dest" = "40050"
"dnis" = ""
"ext" = "40050"
"loginid" = "3d349436000400008723591d14250002"
"orig" = "20002"
"phone" = ""
"ucid" = "19002000041026920227" (Avaya Communication Manager only)

Voice Contact Container


The following voice contact container is created when the call is abandoned in the queue.
"voice.1" = "0"
"voice.1.abandon" = "while in queue"
"voice.1.abandontime" = "5"
"voice.1.acdname" = "1fe"
"voice.1.destination" = "40050"
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "abandon"
"voice.1.leg_id" = "3d358f24000e00008723591d1f450002"
"voice.1.loginid" = "3d349436000400008723591d14250002"
"voice.1.origin" = "20002"
"voice.1.queue_key" = "6"
"voice.1.ucid" = "19002000041026920227" (Avaya Communication Manager only)

Telephony Connectors Programmer Guide March 2012 299


Call State Changes
The voice contact container records the following call state changes for a call that was
abandoned in queue in the appropriate sections of voice contact container, where "X" =1 and is
incremented every time the stdstate changes.
"voice.1.stdstate.X" = "created"
"voice.1.stdstate.X" = ""
"voice.1.stdstate.X.starttime" = "1031321506"

"voice.1.stdstate.X" = "alerting"
"voice.1.stdstate.X.alerting.reason" = ""
"voice.1.stdstate.X.alerting.starttime" = "1031321506"

"voice.1.stdstate.X" = "terminated"
"voice.1.stdstate.X.terminated.reason" = "100"
"voice.1.stdstate.X.terminated.starttime" = "1031321506"

Abandoned on hold scenario


The Avaya TS notifies the EDU server the call was abandoned while on hold at the agent’s
phone. The EDU server updates the EDU with the following elements and values.
"agent.+dd50117" = "dd50117"
"agent_key" = "10006"
"ani" = "20002"
"contactduration" = "3"
"contactendtime" = "1031351528"
"dest" = "20127"
"dnis" = "40010"
"ext" = "20127"
"loginid" = "dd50117"
"orig" = "20002"
"phone" = "50117"
"queue" = "40050"
"ucid" = "19002000281031351524" (Avaya Communication Manager only)
"voice.+dd50117" = "0"

300 Telephony Connectors Programmer Guide March 2012


Voice Contact Container
The following voice contact container is created when the call is abandoned while on hold.
"voice.1" = "0"
"voice.1.abandon" = "while on hold"
"voice.1.abandontime" = "1"
"voice.1.acdname" = "1fe"
"voice.1.agent_key" = "100006"
"voice.1.connect" = "1"
"voice.1.destination" = "20127"
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "abandon"
"voice.1.leg_id" = "3d792ce5000500008723591d23330002"
"voice.1.loginid" = "dd50117"
"voice.1.origin" = "20002"
"voice.1.queue" = "0" (Not present for Aspect)
"voice.1.queue_number" = "40050" (Not present for Aspect)
"voice.1.queue_key" = "6" (Not present for Aspect)
"voice.1.queuetime" = "0" (Not present for Aspect)
"voice.1.ringtime" = "1"
"voice.1.talktime" = "1"
"voice.1.ucid" = "19002000281031351524" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Call State Changes


The voice contact container records the following call state changes for a call that was
abandoned while on hold at the agent’s phone in the appropriate sections of voice contact
container.
"voice.1.stdstate.1031351525" = "created"
"voice.1.stdstate.1031351525.created.reason" = ""
"voice.1.stdstate.1031351525.created.starttime" = "1031351525"

"voice.1.stdstate.1031351525" = "alerting"
"voice.1.stdstate.1031351525.alerting.reason" = ""
"voice.1.stdstate.1031351525.alerting.starttime" = "1031351525"

"voice.1.stdstate.1031351526" = "active"
"voice.1.stdstate.1031351526.active.reason" = ""
"voice.1.stdstate.1031351526.active.starttime" = "1031351526"

"voice.1.stdstate.1031351527" = "inactive"
"voice.1.stdstate.1031351527.inactive.reason" = ""
"voice.1.stdstate.1031351527.inactive.starttime" = "1031351527"

"voice.1.stdstate.1031351528" = "terminated"
"voice.1.stdstate.1031351528.terminated.reason" = "100"
"voice.1.stdstate.1031351528.terminated.starttime" = "1031351528"

Telephony Connectors Programmer Guide March 2012 301


Abandoned while ringing scenario
The Avaya TS notifies the EDU server the call was abandoned while the agent’s phone was
ringing. The EDU server updates the EDU with the following elements and values.
"agent.+dd50117" = "dd50117"
"agent_key" = "100006"
"ani" = "20002"
"contactduration" = "7"
"contactendtime" = "1031321570"
"dest" = "20127"
"dnis" = "40010"
"ext" = "20127"
"loginid" = "dd50117"
"orig" = "20002"
"phone" = "50117"
"queue" = "40050"
"ucid" = "19002000091031321563" (Avaya Communication Manager only)
"voice.+dd50117" = "0"

Voice Contact Container


The following voice contact container is created when the call is abandoned while the agent’s
phone is ringing.
"voice.1" = "0"
"voice.1.abandon" = "while ringing"
"voice.1.abandontime" = "7"
"voice.1.acdname" = "1fe"
"voice.1.agent_key" = "100006"
"voice.1.destination" = ""
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "abandon"
"voice.1.leg_id" = "3d78b7db000f00008723591d23330002"
"voice.1.loginid" = "dd50117"
"voice.1.origin" = "40050"
"voice.1.queue" = "0" (Not present for Aspect)
"voice.1.queue_number" = "40050" (Not present for Aspect)
"voice.1.queue_key" = "6"
"voice.1.queuetime" = "0" (Not present for Aspect)
"voice.1.ucid" = "19002000091031321563" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

302 Telephony Connectors Programmer Guide March 2012


Call State Changes
The voice contact container records the following call state changes for a call that was
abandoned while the agent’s phone was ringing in the appropriate sections of voice contact
container.
"voice.1.stdstate.1031321563" = "created"
"voice.1.stdstate.1031321563.created.reason" = ""
"voice.1.stdstate.1031321563.created.starttime" = "1031321563"

"voice.1.stdstate.1031321563" = "alerting"
"voice.1.stdstate.1031321563.alerting.reason" = ""
"voice.1.stdstate.1031321563.alerting.starttime" = "1031321563"

"voice.1.stdstate.1031321570" = "wrapup"
"voice.1.stdstate.1031321570.wrapup.reason" = "100"
"voice.1.stdstate.1031321570.wrapup.starttime" = "1031321570"

"voice.1.stdstate.1031321570" = "terminated"
"voice.1.stdstate.1031321570.terminated.reason" ="100"
"voice.1.stdstate.1031321570.terminated.starttime" ="1031321570"

Transfer call scenario


The call is sent to a queue to wait for an available agent. When an agent becomes available, the
call is sent to that agent. The agent then transfers the call to another agent on the system.
This section provides the EDU elements and values that are created when the call is received
by the first agent and when the call is transferred to and received by the second agent. It
contains an example of the voice contact container that is created in each of these instances.

Call at agent 1
The Avaya TS notifies the EDU server the first agent answered the call. The EDU server
updates the EDU with the following elements and values.
"agent.+dd50117" = "dd50117"
"agent_key" = "100006"
"ani" = "20002"
"contactduration" = "0"
"contactendtime" = "1031322397"
"dest" = "20127"
"dnis" = "40010"
"ext" = "20127"
"loginid" = "dd50117"
"orig" = "40010"
"phone" = "50117"
"queue" = "40050"
"ucid" = "19002000131031322397" (Avaya Communication Manager only)

Telephony Connectors Programmer Guide March 2012 303


Voice Contact Container
The following voice contact container is created when the first agent answers the call:
"voice.1" = "0"
"voice.1.acdname" = "1fe"
"voice.1.agent_key" = "100006"
"voice.1.connect" = "1"
"voice.1.destination" = "20127"
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "transfer"
"voice.1.holdtime.+" = "3"
"voice.1.leg_id" = "3d78bb1d000b00008723591d23330002"
"voice.1.loginid" = "dd50117"
"voice.1.origin" = "40010"
"voice.1.queue" = "0"
"voice.1.queue_number" = "40050"
"voice.1.queue_key" = "6"
"voice.1.queuetime" = "0"
"voice.1.ringtime" = "1"
"voice.1.talktime" = "5"
"voice.1.transfer" = "50001"
"voice.1.ucid" = "19002000131031322397" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Call State Changes


The voice contact container records the following call state changes for a call answered by the
first agent in the appropriate sections of voice contact container.
"voice.1.stdstate.1031322397" = "created"
"voice.1.stdstate.1031322397.created.reason" = ""
"voice.1.stdstate.1031322397.created.starttime" = "1031322397"

"voice.1.stdstate.1031322397" = "alerting"
"voice.1.stdstate.1031322397.alerting.reason" = ""
"voice.1.stdstate.1031322397.alerting.starttime" = "1031322397"

"voice.1.stdstate.1031322398" = "active"
"voice.1.stdstate.1031322398.active.reason" = ""
"voice.1.stdstate.1031322398.active.starttime" = "1031322398"

"voice.1.stdstate.1031322403" = "inactive"
"voice.1.stdstate.1031322403.inactive.reason" = ""
"voice.1.stdstate.1031322403.inactive.starttime" = "1031322403"

"voice.1.stdstate.1031697454" = "terminated"
"voice.1.stdstate.1031697454.terminated.reason" = "102"
"voice.1.stdstate.1031697454.terminated.starttime" = "1031322406"

304 Telephony Connectors Programmer Guide March 2012


Transfer to agent 2
The Avaya TS notifies the EDU server the call was transferred to a second agent and the
second agent answered the call. The EDU server updates the EDU with the following elements
and values.
"agent.+dd50001" = "dd50001"
"agent_key" = "100007"
"ani" = "20127"
"contactduration" = "11"
"contactendtime" = "1031322408"
"dest" = "20001"
"dnis" = "20001"
"ext" = "20127"
"loginid" = "dd50001"
"orig" = "20127"
"phone" = "50001"
"ucid" = "19002000141031322403" (Avaya Communication Manager only)

Voice Contact Container


The following voice contact container is created when the second agent answers the transferred
call.
"voice.2" = "6"
"voice.2.acdname" = "1fe"
"voice.2.agent_key" = "100007"
"voice.2.connect" = "8"
"voice.2.destination" = "20001"
"voice.2.direction" = "inbound"
"voice.2.exit_reason" = "normal"
"voice.2.leg_id" = "3d78bb23000500008723591d23330002"
"voice.2.loginid" = "dd50001"
"voice.2.origin" = "20127"
"voice.2.ringtime" = "2"
"voice.2.talktime" = "3"
"voice.2.ucid" = "19002000141031322403" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Call State Changes


The voice contact container records the following call state changes for a transferred call that
was answered by a second agent in the appropriate sections of voice contact container.
"voice.2.stdstate.1031322403" = "created"
"voice.2.stdstate.1031322403.created.reason" = ""
"voice.2.stdstate.1031322403.created.starttime" = "1031322403"

"voice.2.stdstate.1031322403" = "alerting"
"voice.2.stdstate.1031322403.alerting.reason" = ""
"voice.2.stdstate.1031322403.alerting.starttime" = "1031322403"

Telephony Connectors Programmer Guide March 2012 305


"voice.2.stdstate.1031322405" = "active"
"voice.2.stdstate.1031322405.active.reason" = ""
"voice.2.stdstate.1031322405.active.starttime" = "1031322405"

"voice.2.stdstate.1031322408" = "terminated"
"voice.2.stdstate.1031322408.terminated.reason" = "101"
"voice.2.stdstate.1031322408.terminated.starttime" = "1031322408"

Note:
Note: During a blind transfer, the switch issues the same set of events as a two step
transfer, therefore, a blind transfer is reflected as a consultative transfer with the
difference that “voice.1.holdtime.+ “ = “0”.

306 Telephony Connectors Programmer Guide March 2012


Conference call scenario
The call is sent to a queue to wait for an available agent. When an agent becomes available, the
call is sent to the first agent. The first agent sets up a conference call between the first agent
and another agent on Avaya IC.
This section provides the EDU elements and values that are created when a conference call is
set up between agents and when the call is shared by both agents. It contains an example of
the voice contact container that is created in each of these instances.
The EDU elements for the call at the queue are the same as the example in Simple call
scenario on page 296, but the values associated with these elements vary based on the details
of the call.
Note:
Note: The Aspect CallCenter switches do not provide EDU elements for the call at the
queue because they do not support queue monitoring. These elements are not
populated in the voice contact container when a call is in queue for these
switches.

Call at agent 1
The Avaya TS notifies the EDU server the first agent answered the call. The EDU server
updates the EDU with the following elements and values.
"agent.+dd50117" = "dd50117"
"agent_key" = "100006"
"ani" = "20002"
"contactduration" = "18"
"contactendtime" = "1031322568"
"dest" = "20127"
"dnis" = "40010"
"ext" = "20127"
"loginid" = "dd50117"
"orig" = "20002"
"phone" = "50117"
"queue" = "40050"
"ucid" = "19002000161031322550" (Avaya Communication Manager only)
"voice.+dd50117" = "0"

Telephony Connectors Programmer Guide March 2012 307


Voice Contact Container
The following voice contact container is created when the first agent answers the call:
"voice.1" = "0"
"voice.1.acdname" = "1fe"
"voice.1.agent_key" = "100006"
"voice.1.conference.+" = "15"
"voice.1.conference.!.parties" = "3"
"voice.1.conference.!.dest.+" = "20002"
"voice.1.conference.!.dest.+" = "20001"
"voice.1.conference.!.dest.+" = "20127"
"voice.1.conference.!.key.+" = ""
"voice.1.conference.!.key.+" = "100007"
"voice.1.conference.!.key.+" = "100006"
"voice.1.connect" = "2"
"voice.1.destination" = "20127"
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "transfer"
"voice.1.holdtime" = "1"
"voice.1.loginid" = "dd50117"
"voice.1.leg_id" = "3d78bbb6000f00008723591d23330002"
"voice.1.origin" = "40050"
"voice.1.queue" = "0" (Not present on Aspect)
"voice.1.queue_number" = "40050" (Not present on Aspect)
"voice.1.queue_key" = "6"
"voice.1.queuetime" = "0" (Not present on Aspect)
"voice.1.ringtime" = "2"
"voice.1.talktime" = "16"
"voice.1.ucid" = "19002000161031322550" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Note:
Note: The sub-container "voice.1.exit_reason" = "transfer" indicates that this party is the
controller party and that it dropped from the call after the conference was
established.

308 Telephony Connectors Programmer Guide March 2012


Call State Changes
The voice contact container records the following call state changes for a call that was
answered by the first agent in the appropriate sections of voice contact container.
"voice.1.stdstate.1031322550" = "created"
"voice.1.stdstate.1031322550.created.reason" = ""
"voice.1.stdstate.1031322550.created.starttime" = "1031322550"

"voice.1.stdstate.1031322550" = "alerting"
"voice.1.stdstate.1031322550.alerting.reason" = ""
"voice.1.stdstate.1031322550.alerting.starttime" = "1031322550"

"voice.1.stdstate.1031322552" = "active"
"voice.1.stdstate.1031322552.active.reason" = ""
"voice.1.stdstate.1031322552.active.starttime" = "1031322552"

"voice.1.stdstate.1031322561" = "inactive"
"voice.1.stdstate.1031322561.inactive.reason" = ""
"voice.1.stdstate.1031322561.inactive.starttime" = "1031322561"

"voice.1.stdstate.1031322568" = "terminated"
"voice.1.stdstate.1031322568.terminated.reason" = "102"
"voice.1.stdstate.1031322568.terminated.starttime" = "1031322568"

Conference with agent 2


The Avaya TS notifies the EDU server the second agent answered the call after the first agent
conferenced the second agent. The EDU server updates the EDU with the following elements
and values.
"agent.+dd50001" = "dd50001"
"agent_key" = "100007"
"ani" = "20127"
"contactduration" = "19"
"contactendtime" = "1031322569"
"dnis" = "20001"
"dest" = "20001"
"ext" = "20001"
"loginid" = "dd50001"
"orig" = "20127"
"phone" = "50001"
"ucid" = "19002000171031322561" (Avaya Communication Manager only)
"voice.+dd50001" = "11"

Telephony Connectors Programmer Guide March 2012 309


Voice Contact Container
The following voice contact container is created when the first agent conferences the call to the
second agent and the second agent answers the conferenced call:
"voice.2" = "11"
"voice.2.acdname" = "1fe"
"voice.2.agent_key" = "100007"
"voice.2.connect" = "13"
"voice.2.conference.+" = "15"
"voice.2.conference.!.parties" = "3"
"voice.2.conference.!.dest.+" = "20002"
"voice.2.conference.!.dest.+" = "20001"
"voice.2.conference.!.dest.+" = "20127"
"voice.2.conference.!.key.+" = ""
"voice.2.conference.!.key.+" = "100007"
"voice.2.conference.!.key.+" = "100006"
"voice.2.destination" = "20001"
"voice.2.direction" = "inbound"
"voice.2.exit_reason" = "normal"
"voice.2.leg_id" = "3d78bbc1000300008723591d23330002"
"voice.2.loginid" = "dd50001"
"voice.2.origin" = "20127"
"voice.2.ringtime" = "2"
"voice.2.talktime" = "6"
"voice.2.ucid" = "19002000171031322561" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

310 Telephony Connectors Programmer Guide March 2012


Call State Changes
The voice contact container records the following call state changes for a call in which when the
first agent conferences the call to the second agent and the second agent answers the
conferenced call in the appropriate sections of voice contact container.
"voice.2.stdstate.1031322561" = "created"
"voice.2.stdstate.1031322561.created.reason" = ""
"voice.2.stdstate.1031322561.created.starttime" = "1031322561"

"voice.2.stdstate.1031322561" = "alerting"
"voice.2.stdstate.1031322561.alerting.reason" = ""
"voice.2.stdstate.1031322561.alerting.starttime" = "1031322561"

"voice.2.stdstate.1031322563" = "active"
"voice.2.stdstate.1031322563.active.reason" = ""
"voice.2.stdstate.1031322563.active.starttime" = "1031322563"

"voice.2.stdstate.1031322569" = "terminated"
"voice.2.stdstate.1031322569.terminated.reason" = "101"
"voice.2.stdstate.1031322569.terminated.starttime" = "1031322569"

Note:
Note: The TS can only provide the voice..conference elements if the switch provides
enough data for the TS to determine a conference is in progress. During
Multi-Site Heterogeneous Switching, the destination party on another switch does
not receive the information that conference is in progress, and therefore, the TS
cannot report on it.

Telephony Connectors Programmer Guide March 2012 311


Consultative cancel scenario
The call is sent to a queue to wait for an available agent. When an agent becomes available, the
call is sent to the agent. This agent sets up a consultative call with another agent on the system.
The agent then cancels the consultative call.
This section provides the EDU elements and values that are created when the call reaches the
first agent. They are updated when a consultative call is cancelled at one of the following points
in the call:
● While phone of the second agent is ringing
● After the second agent answered the phone
This section provides a voice contact container example for each of these instances.

Call at agent 1
The Avaya TS notifies the EDU server the first agent answered the call. The EDU server
updates the EDU with the following elements and values.
"agent.+dd50117" = "dd50117"
"agent_key" = "100006"
"ani" = "20002"
"calltype" = "direct"
"contactduration" = "21"
"contactendtime" = "1031695356"
"ctype" = "direct"
"dnis" = "20127"
"dest" = "20127"
"ext" = "20127"
"loginid" = "dd50117"
"phone" = "50117"
"primary_ani" = "20002"
"primary_dnis" = "20127"
"orig" = "20002"
"type" = "voice"
"ucid" = "19002000051031695335" (Avaya Communication Manager only)
"voice.+dd50117" = "0"

312 Telephony Connectors Programmer Guide March 2012


Voice Contact Container
The following voice contact container is created when the first agent answers the call.
"voice.1" = "0"
"voice.1.acdname" = "1fe"
"voice.1.agent_key" = "100006"
"voice.1.connect" = "1"
"voice.1.destination" = "20127"
"voice.1.direction" = "inbound"
"voice.1.exit_reason" = "normal"
"voice.1.holdtime.+" = "3"
"voice.1.holdtime.+" = "7"
"voice.1.leg_id" = "3d7e6be7000500008723591d23330002"
"voice.1.loginid" = "dd50117"
"voice.1.origin" = "20002"
"voice.1.ringtime" = "1"
"voice.1.talktime" = "11"
"voice.1.ucid" = "19002000051031695335" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Call State Changes


The voice contact container records the following call state changes for the call when the first
agent answers it in the appropriate sections of voice contact container.
"voice.1.stdstate.1031695335" = "created"
"voice.1.stdstate.1031695335.created.reason" = ""
"voice.1.stdstate.1031695335.created.starttime" = "1031695335"

"voice.1.stdstate.1031695335" = "alerting"
"voice.1.stdstate.1031695335.alerting.reason" = ""
"voice.1.stdstate.1031695335.alerting.starttime" = "1031695335"

"voice.1.stdstate.1031695336" = "active"
"voice.1.stdstate.1031695336.active.reason" = ""
"voice.1.stdstate.1031695336.active.starttime" = "1031695336"

"voice.1.stdstate.1031695338" = "inactive"
"voice.1.stdstate.1031695338.inactive.reason" = ""
"voice.1.stdstate.1031695338.inactive.starttime" = "1031695338"

"voice.1.stdstate.1031695341" = "active"
"voice.1.stdstate.1031695341.active.reason" = ""
"voice.1.stdstate.1031695341.active.starttime" = "1031695341"
The following section of the voice contact container indicates a second connection to the
second agent, where the consultation call is cancelled after the second agent answers the call.
"voice.1.stdstate.1031695346" = "inactive"
"voice.1.stdstate.1031695346.inactive.reason" = ""
"voice.1.stdstate.1031695346.inactive.starttime" = "1031695346"

"voice.1.stdstate.1031695353" = "active"

Telephony Connectors Programmer Guide March 2012 313


"voice.1.stdstate.1031695353.active.reason" = ""
"voice.1.stdstate.1031695353.active.starttime" = "1031695353"

"voice.1.stdstate.1031695356" = "terminated"
"voice.1.stdstate.1031695356.terminated.reason" = "101"
"voice.1.stdstate.1031695356.terminated.starttime" = "1031695356"

Consultation cancelled during ring with agent 2


The Avaya TS notifies the EDU server the first agent cancelled the consultative call while the
second agent’s phone was ringing. The Avaya TS considers this an abandoned call. The EDU
server updates the EDU with the following elements and values.
"agent.+dd50001" = "dd50001"
"agent_key" = "100007"
"ani" = "20127"
"calltype" = "direct"
"dnis" = "20001"
"dest" = "20001"
"ctype" = "direct"
"contactduration" = "3"
"contactendtime" = "1031695341"
"ext" = "20001"
"loginid" = "dd50001"
"phone" = "50001"
"orig" = "20127"
"ucid" = "19002000061031695338" (Avaya Communication Manager only)
"voice.+dd50001" = "3"

Voice Contact Container


The following voice contact container is created when the consultative call is cancelled while the
second agent’s phone is ringing.
"voice.2" = "3"
"voice.2.acdname" = "1fe"
"voice.2.abandon" = "while ringing"
"voice.2.abandontime" = "3"
"voice.2.agent_key" = "100007"
"voice.2.exit_reason" = "abandon"
"voice.2.destination" = "20001"
"voice.2.direction" = "inbound"
"voice.2.leg_id" = "3d7e6bea000300008723591d23330002"
"voice.2.loginid" = "dd50001"
"voice.2.origin" = "20127"
"voice.2.ucid" = "19002000061031695338" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

314 Telephony Connectors Programmer Guide March 2012


Call State Changes
The voice contact container records the following call state changes for a consultative call that
was cancelled while the second agent’s phone was ringing in the appropriate sections of voice
contact container.
"voice.2.stdstate.1031695338" = "created"
"voice.2.stdstate.1031695338.created.reason" = ""
"voice.2.stdstate.1031695338.created.starttime" = "1031695338"

"voice.2.stdstate.1031695338" = "alerting"
"voice.2.stdstate.1031695338.alerting.reason" = ""
"voice.2.stdstate.1031695338.alerting.starttime" = "1031695338"

"voice.2.stdstate.1031695341" = "terminated"
"voice.2.stdstate.1031695341.terminated.reason" = "100"
"voice.2.stdstate.1031695341.terminated.starttime" = "1031695341"

Consultation cancelled after agent 2 answered


The Avaya TS notifies the EDU server the first agent cancelled the consultative call after the
second agent answered the call. The Avaya TS considers this a normal termination of the call.
The EDU server updates the EDU with the following elements and values.
"agent.+dd50001" = "dd50001"
"agent_key" = "100007"
"ani" = "20127"
"dnis" = "20001"
"dest" = "20001"
"contactduration" = "7"
"contactendtime" = "1031695353"
"orig" = "20127"
"ext" = "20001"
"loginid" = "dd50001"
"phone" = "50001"
"ucid" = "19002000071031695346" (Avaya Communication Manager only)
"voice.+dd50001" = "11"

Telephony Connectors Programmer Guide March 2012 315


Voice Contact Container
The following voice contact container is created when the consultative call is cancelled after the
second agent answered the call.
This is the third voice contact container in this consultative cancel call scenario. It assumes the
first agent previously cancelled the consultation while the second agent’s phone was ringing,
then re-initiated the consultative call only to have it cancelled after the second agent answered
the call.
"voice.3" = "11"
"voice.3.acdname" = "1fe"
"voice.3.agent_key" = "100007"
"voice.3.connect" = "15"
"voice.3.leg_id" = "3d7e6bf2000300008723591d23330002"
"voice.3.loginid" = "dd50001"
"voice.3.destination" = "20001"
"voice.3.direction" = "inbound"
"voice.3.exit_reason" = "normal"
"voice.3.origin" = "20127"
"voice.3.ringtime" = "4"
"voice.3.talktime" = "3"
"voice.3.ucid" = "19002000071031695346" (Avaya Communication Manager only)
The following elements are created systems that are running Avaya Business Advocate:
"voice.1.qualifiers" = "a,b,c"
"advocate.<n>.leg_id" = "3d78e07e000a00008723591d23330002"

Call State Changes


The voice contact container records the following call state changes for a consultative call that
was cancelled after the second agent answered it in the appropriate sections of voice contact
container.
"voice.3.stdstate.1031695346" = "created"
"voice.3.stdstate.1031695346.created.reason" = ""
"voice.3.stdstate.1031695346.created.starttime" = "1031695346"

"voice.3.stdstate.1031695346" = "alerting"
"voice.3.stdstate.1031695346.alerting.reason" = ""
"voice.3.stdstate.1031695346.alerting.starttime" = "1031695346"

"voice.3.stdstate.1031695350" = "active"
"voice.3.stdstate.1031695350.active.reason" = ""
"voice.3.stdstate.1031695350.active.starttime" = "1031695350"

"voice.3.stdstate.1031695353" = "terminated"
"voice.3.stdstate.1031695353.terminated.reason" = "101"
"voice.3.stdstate.1031695353.terminated.starttime" = "1031695353"

316 Telephony Connectors Programmer Guide March 2012


Chapter 9: Telephony Server Events

This chapter provides descriptions of the Avaya TS Events, including their returns.
These events may contain additional information, which is passed from the switch, that is not
provided in this chapter. For example, the Avaya Communication Manager could pass a
"partyid" element. These elements are not included in this chapter because that are not
generated consistently and they are subject to change.
This section includes the following topic:
● Event descriptions on page 318

Telephony Connectors Programmer Guide March 2012 317


Event descriptions

TS.Abandoned
A call was abandoned before it was connected to an agent (for example, while waiting in a
queue). TS.Abandoned is also issued if the call is terminated while it is ringing (alerting) at an
agent desktop. It can also be issued if the call is on hold and is terminated by the phone that
made the call into Avaya IC.
This event is sent to the Telephony Queue Statistics server (TSQS) for reporting purposes and
to all assigned clients to the Avaya TS.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


vdu_id EDUID of the abandoned call.
monitor The ID of the device to which this event pertains.
number_in_queue The calls currently waiting in the queue if the monitored
device is a queue and there are calls in queue.

TS.AgentOtherWork
An agent is involved in work, not necessarily related to a prior call (for example, a meeting), and
is not yet ready to receive a new incoming call.

Returns

Value Description

agent_id Agent ID on the switch of the agent who is now engaged


in other work.
monitor Device ID to which this event pertains.

318 Telephony Connectors Programmer Guide March 2012


TS.AuxWork
An agent is unavailable, but not performing wrap-up, and is not ready to receive a new incoming
call. TS.AuxWork is very similar to TS.AgentOtherWork.

Returns

Value Description

agent_id Agent ID on the switch of the agent whose phone is


involved in auxiliary work.
monitor The ID of the device to which this event pertains.

TS.Busy
A call attempt received a busy signal, and the call was not connected.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


called Number called, which was busy.
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

Telephony Connectors Programmer Guide March 2012 319


TS.Conference
A call was successfully conferenced.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest The phone number or extension numbers of each of the
parties participating in the conference call.
For example, {"dest", 5087870428"}, {"dest", "234"},
{"dest", "236"}, {"dest", "238"}.
new_call_ref_id Call reference ID as assigned by the switch.
number_in_call The number of parties participating in the conference
call.
orig The phone number of the first party (the call’s originator).
vdu_id EDUID of original call.
monitor The ID of the device to which this event pertains.

320 Telephony Connectors Programmer Guide March 2012


TS.Connect
A call was successfully connected.

Returns

Value Description

acd_split Supported on Avaya Communication Manager switches


only, the ACD split to which the call was queued. This
value may or may not be present in this event.
call_ref_id Call reference ID as assigned by the switch.
dest Phone number to which the call was routed by the
switch.
orig The phone number of the party who placed the call.
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

TS.Disconnect
A call was disconnected.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


vdu_id EDUID of the disconnected call.
monitor The ID of the device to which this event pertains.
number_in_queue The calls currently waiting in the queue if the monitored
device is a queue and there are calls in queue.

Telephony Connectors Programmer Guide March 2012 321


TS.Diverted
A call has been taken from a queue and routed to an agent, or a call has been moved by the
ACD from an alerting device to another destination.
This event is sent to the TSQS (for reporting purposes), to other monitoring parties associated
with a given call.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


vdu_id EDUID of the call.
dest The called party of the event. If there is no called party,
there is no dest value in this event.
monitor The ID of the device to which this event pertains.

TS.Drop
A party has been dropped from a call involving two or more parties (for example, a conference
or consultative transfer).

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest The phone number to which the dropped party had been
connected.
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

322 Telephony Connectors Programmer Guide March 2012


TS.Hold
A call has been put on Hold.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest The number to which the call is connected (and now on
Hold).
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

TS.HoldReconnect
A call has been retrieved from Hold.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest The number to which the call is connected.
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

Telephony Connectors Programmer Guide March 2012 323


TS.IncomingCall
A phone is in a ringing state or has received a call set-up request. This event passes the EDUID
of the incoming call to the appropriate client. When a contact is routed to different agents and
queues, the ANI, DNIS, and queue values are changed accordingly.

Returns

Value Description

acd_split Supported on Avaya Communication Manager switches


only, the ACD split to which the call was queued. This
value may or may not be present in this event.
ani Automatic Number Identification, the caller’s 10-digit
telephone number.
called The number used by the Avaya TS to place the call. This
could be an equipment number, a logical ID, or a queue
number.
call_ref_id Call reference ID as assigned by the switch.
call_route_id Call route ID, assigned by the switch, used to reference a
route request.
dest The phone number to which the call is being directed by
the switch.
dnis Dialed Number Identification Service, the phone number
dialed by the contact.
orig The phone number of the party who placed the call (or
initiated the transfer or conference).
vdu_id EDUID of the call.
calltype Indication that the call was assigned from the queue or it
was assigned directly to the agent. The same information
is also included as "ctype" for backward compatibility.
monitor The ID of the device to which this event pertains.

324 Telephony Connectors Programmer Guide March 2012


Value Description

digits DTMF digits entered along with the call.


queuetime Period of time the call was in queue before it was
delivered to an agent. This value is only available if the
queue is monitored by the TSQS or the TS itself by
having the TS in the queue’s ts_set.
Queue monitoring is only supported on the Avaya
switches.

TS.Login
An agent has logged on to a phone set.

Returns

Value Description

agent_id Agent ID on the switch of the agent who logged on.


monitor The ID of the device to which this event pertains.

TS.Logout
An agent has logged out of a phone set.

Returns

Value Description

agent_id Agent ID on the switch of the agent who logged off.


monitor The ID of the device to which this event pertains.

Telephony Connectors Programmer Guide March 2012 325


TS.ObserverConnected
A service observer connected to listen on a call in progress at an agent/station.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


monitor The ID of the device to which this event pertains.
vdu_id EDUID of the call.
dest Device "observing" this agent.

TS.ObserverDropped
A service observer disconnected from an agent/station.
This method is only supported on the Avaya Communication Manager.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


monitor The ID of the device to which this event pertains.
vdu_id EDUID of the call.
dest Device "observing" this agent.

326 Telephony Connectors Programmer Guide March 2012


TS.Queued
A call has been placed in queue.

Returns

Value Description

acd_split Supported on Avaya Communication Manager switches


only, the ACD split to which the call was queued. This
value may or may not be present in this event.
call_ref_id Call reference ID as assigned by the switch.
vdu_id The EDUID of the call.
monitor The ID of the device to which this event pertains.

TS.Ready
An agent has become available to take incoming calls.

Returns

Value Description

agent_id Agent ID on the switch of the agent who is ready to


receive incoming calls.
monitor The ID of the device to which this event pertains.

Telephony Connectors Programmer Guide March 2012 327


TS.Ring
TS.Ring is issued when the call is delivered to a destination, but it is not answered yet.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest The phone number to which the call was directed by the
switch.
orig The phone number of the party who placed the call (or
initiated the transfer or conference).
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

TS.Rona
RONA (Redirected On No Answer) is identified by the TS when a sequence of events
comprised of: Incoming, Divert, AfterCallWork, Disconnect are detected, with no agent activity
between these events. The TS then generates the TS.Rona event. Note that the PBX redirected
the call, and the agent was made unavailable. The switch must be configured for RONA.

Returns

Value Description

agent_id Agent ID on the switch of the agent who is ready to


receive incoming calls.
monitor The ID of the device to which this event pertains.

TS.SelectiveDisconnect
TS.SelectiveDisconnect is only supported on Avaya Communication Manager. This event is
generate in response to the command TS.SelectiveDisconnect.

328 Telephony Connectors Programmer Guide March 2012


Returns

TS.SelectiveDisconnect with following data

Value Description

vdu_id EDUID of the call


monitor The ID of the device to which this event pertains
listener the party that needs to be listen-disconnected
talker the party from whom the listener needs to be
listen-disconnected
call_ref_id Call route ID, assigned by the switch, used to reference a
route request

Note:
Note: If the monitor, listener and talker are all different, then the monitor is called the
Initiator.
Listener (if monitored)
TS.SelectiveDisconnect with following data

Value Description

vdu_id EDUID of the call


monitor The ID of the device to which this event pertains
listener the party that needs to be listen-disconnected
talker the party from whom the listener needs to be
listen-disconnected
call_ref_id Call route ID, assigned by the switch, used to reference a
route request

Note:
Note: if monitor is the Listener then the monitor is the person who is being disconnected
to the call.
Talker (if monitored)
TS.SelectiveDisconnect with following data

Value Description

vdu_id EDUID of the call


monitor The ID of the device to which this event pertains

Telephony Connectors Programmer Guide March 2012 329


Value Description

listener the party that needs to be listen-disconnected


talker the party from whom the listener needs to be
listen-disconnected
call_ref_id Call route ID, assigned by the switch, used to reference a
route request

Note:
Note: If the monitor is the talker, then the monitor’s talk path is disconnected.

TS.SelectiveReconnect
TS.SelectiveReconnect is only supported on Avaya Communication Manager. This event is
generate in response to the command TS.SelectiveReconnect.

Returns

TS.SelectiveReconnect with following data

Value Description

vdu_id EDUID of the call


monitor The ID of the device to which this event pertains
listener the party that needs to be listen-disconnected
talker the party from whom the listener needs to be
listen-disconnected
call_ref_id Call route ID, assigned by the switch, used to reference a
route request

Note:
Note: If the monitor, listener and talker are all different, then the monitor is called the
Initiator.
Listener (if monitored)
TS.SelectiveReconnect with following data

Value Description

vdu_id EDUID of the call


monitor The ID of the device to which this event pertains

330 Telephony Connectors Programmer Guide March 2012


Value Description

listener the party that needs to be listen-disconnected


talker the party from whom the listener needs to be
listen-disconnected
call_ref_id Call route ID, assigned by the switch, used to reference a
route request

Note:
Note: if monitor is the Listener then the monitor is the person who is being Reconnected
from the call.
Talker (if monitored)
TS.SelectiveReconnect with following data

Value Description

vdu_id EDUID of the call


monitor The ID of the device to which this event pertains
listener the party that needs to be listen-disconnected
talker the party from whom the listener needs to be
listen-disconnected
call_ref_id Call route ID, assigned by the switch, used to reference a
route request

Note:
Note: If the monitor is the talker, then the monitor’s talk path is reconnected.

TS.SendData
TS.SendData is only supported on the Aspect CallCenter. The Aspect CallCenter supports the
ability to send and receive data from a Call Control Table (CCT). TS.SendData posts
information received from a CCT to the client application. The client application can respond to
TS.SebdData in various ways. Typically it replies with either a TS.ReceiveData() request or a
TS.Route() request.

Telephony Connectors Programmer Guide March 2012 331


Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest Phone number to which the call was routed by the
switch.
orig Phone number of the party who placed the original call
(first party).
route_id Call route ID, assigned by the switch, used to reference a
route request in debugging.
varA Legacy Aspect TS specific call variable.
varB Legacy Aspect TS specific call variable.
varC Legacy Aspect TS specific call variable.
varD Legacy Aspect TS specific call variable.
varE Legacy Aspect TS specific call variable. The switch
carries the vduid on this variable.
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

332 Telephony Connectors Programmer Guide March 2012


TS.SessionFailed
This event indicates that the session with the TS is no longer valid and should be treated like a
TS.ServerFailed.Event.

TS.ServerFailed
The following possible scenarios generate a TS.ServerFailed.Event: an actual server crash,
and a "simulated" device disconnection by the TS, or if the link between the PBX and the TS
goes down, but the TS is configured with AbortOnLinkDown = false.
In either case the client has to recover via TS.Deassign() and TS.Assign() operations, which
might cause reassignment to another TS if fail over is configured.
This event is generated if the link between the Avaya TS and the client goes down.

Returns

Value Description

dest The device where this event is posted.


reason The reason this event is posted as either:
● LinkDown

● OutOfService

Telephony Connectors Programmer Guide March 2012 333


TS.Transfer
A call has been transferred.

Returns

Value Description

call_ref_id Call reference ID as assigned by the switch.


dest The phone number or extension numbers of each of the
parties to whom the call was transferred.
For example, {"dest", 5087870428"}, {"dest", "234"},
{"dest", "236"}, {"dest", "238"}.
new_call_ref_id Call reference ID as assigned by the switch.
number_in_call The number of parties participating in the call transfer.
vdu_id EDUID of the call.
monitor The ID of the device to which this event pertains.

TS.Wrapup
An agent is involved in a wrap-up activity related to a previous call and is not ready to receive a
new incoming call. The TS.Wrapup event, which is also called AfterCallWork on some switches,
is issued in response to a TS.Wrapup() request on the softphone. It is also issued when the
agent state is changed by the switch through the hardphone, RONA, or some other
circumstance.

Returns

Value Description

agent_id ID of agent who is involved in after call work.


monitor The ID of the device to which this event pertains.

334 Telephony Connectors Programmer Guide March 2012


Chapter 10: Telephony Server Alarms

This chapter describes the alarms that the Avaya TS generates. For each alarm, a description,
alarm name, cause, and remedial course of action is provided.
If an alarm contains information specific to a call, that information is represented with a [*]
followed by a description of the information below the alarm description. Second pieces of call
specific information are indicated with a (**) followed by their description and third pieces of call
specific information are indicated with a {***} followed by their description.
This section includes the following topic:
● Alarms on page 336

Telephony Connectors Programmer Guide March 2012 335


Alarms
The following table provides the alarm description that is displayed, the name of the alarm from
the Name field in the Alarm Monitor, the priority level of the alarm, the cause of the alarm, and
any remedial action that can be taken as a result of the alarm.
Note:
Note: The name assigned to an alarm may vary based on where in the code the alarm
is found. As such, an alarm can have more than one name.

Alarm Name Level Cause

ADU.Find failed - cannot ADUContainers high A problem with the


recover. interaction of the TS and
the ADU.
Remedial Action
Restart the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
ADUID processing turned Assign info ADU server not present in
OFF–ADU server not the Avaya IC
found. environment. Not an
error.
Remedial Action
None
Agent events [*] enabled. CpbxASAI info Indicates whether agent
events such as
AfterCallWork are (or are
[*] = are/are not/aren’t not) provided by the
● are not - configuration switch.
issues with the PBX or Remedial Action
CVLAN server
None
● aren’t - configuration
issues with the TS
installation or the
CVLAN client
Aspect CallCenter CpbxAspect emergency A required field for the
DataInterlink not specified Aspect CMI server was
not provided.
Remedial Action
Specify a value for the
Aspect CallCenter
DataInterlink.

336 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Aspect CMI Server CpbxAspectCMI emergency A required field for the


hostname not specified. Aspect CMI server was
not provided.
Remedial Action:
Specify a value for the
Aspect CallCenter
DataInterlink.
Assign to [*] (*) was not AssignFail low The Telephony server
successful. Retry in [*] was unable to connect to
seconds. another Telephony server.
Remedial Action
[*] = Other TS UUID Restart the Telephony
(*) = Error description server that could not
make the connection.
If the problem persists,
report the problem to
Avaya Technical Support.
Call [*] failed ANI CtsServer emergency The TS could not validate
validation, routed to default the ANI for this call. The
RP. call was routed to the
default routing point.
[*] = call reference id Remedial Action
If this pertains to all Multi
Site Hetero Switch
(MSHS) calls, update the
ANI tables for all of the
MSHS Telephony Severs
to include the ANI for this
call.
Call record deletion (in CpbxASAI high There is a call record that
pbxDeassign) failed! could not be found in the
memory database.
Remedial Action
If this alarm occurs
repeatedly, report the
problem to Avaya
Technical Support.

Telephony Connectors Programmer Guide March 2012 337


Alarm Name Level Cause

Call Record timed cleanup onInit high The program that cleans
failed to initialize. up existing call records
could not be initialized.
Remedial Action
Restart the TS.
If the problem persists,
restart the ORB server
and report the problem to
Avaya Technical Support.
Could not create server onInit high The TS could not create a
default session. server default session.
Remedial Action
Restart the TS.
If the problem persists,
restart the ORB server
and report the problem to
Avaya Technical Support.
Could not initialize onInit high The program that cleans
Request Collector. up existing requests could
not be initialized.
Remedial Action
Restart the TS.
If the problem persists,
restart the ORB server
and report the problem to
Avaya Technical Support.
Could not initialize onInit high The program that cleans
Request Expire cleanup. up existing requests could
not be initialized.
Remedial Action
Restart the TS.
If the problem persists,
restart the ORB server
and report the problem to
Avaya Technical Support.

338 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Could not load error table. onInit high Error table could not be
loaded into memory. Error
messages at this layer do
not contain any
information.
Remedial Action
The most likely reason is
that the process is out of
memory. Attempt to
adjust the process size
and restart the TS.
Could not load reserved RPDNLoadList emergency The reserved DN list
DN list. could not be loaded.
Remedial Action
Verify the configuration of
the reserved DN’s table.
Could not load TS list. TSLoadList emergency The Directory server (DS)
did not provide a TS List
to the TS. The DS might
be down or it might not be
functioning properly.
Remedial Action
Restart both the Directory
server and the TS.
If the problem persists,
report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 339


Alarm Name Level Cause

Could not load UserList GenericUpdate emergency The Directory server (DS)
from DS. onInit high did not provide a User
List to the TS. The DS
might be down or it might
not be functioning
properly or there may not
be any agents configured
for the site that the TS is
using.
Remedial Action
Make sure agents are
assigned to the site
where that the TS is
using.
Restart both the Directory
server and the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Could not register timer for OtherTS high There is an internal vesp
cross-assign to TS error.

Remedial Action
Restart the TS for MSHS
capabilities and report the
problem to Avaya
Technical Support.
CpbxCSTA:: DCE/RPC CpbxMeridian high There is a communication
Exception Caught: [*] failure related to
CTConnect.
[*] = Error description Remedial Action
Restart the TS and the
CTConnect server.
If the problem persists,
report the problem to
Avaya Technical Support.
Data received is greater UUI Data info The data received in the
than buffer size. UUI field from the switch
does not conform to the
expected size.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.

340 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

DEFAULT_ROUTE_POIN onInit low Avaya IC is using the


T not specified, will use system default for the
specified DN. Default Route Point
configuration parameter
because a value was not
specified for this
parameter in IC Manager.
Remedial Action
Specify a value for the
Default Route Point
parameter in IC Manager.
Deferred Request NULL Assign emergency During a TS.Assign
during ADU.FindByKey request, the TS attempts
callback. to obtain an ADUID for
the client. This operation
failed, which indicates
memory corruption.
Remedial Action
Restart the TS and report
the problem to Avaya
Technical Support.
detected repeated key in DSUserListLoad emergency There is a problem with
UserList - load cancelled. the interaction of the TS
and the Directory server
while loading a list of
agents.
Remedial Action
Restart the Directory
server.
If the problem persists,
report the problem to
Avaya Technical Support.
DS.Assign.Request failed, Assign high The TS could not assign
perform a TS.UPDATE to to the Directory server.
retrieve agent records.
Remedial Action
Perform a TS.Update to
retrieve agent records
and report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 341


Alarm Name Level Cause

DS request failed for: [*]. CtsMultiSite low The Directory server (DS)
did not respond to a TS
request.
[*] = request criteria
Remedial Action
Restart both the Directory
server and the TS and
report the problem to
Avaya Technical Support.
EDU/TS clocks are out of CallContainer[1] high The time on the EDU
sync [*] - container info CallContainer[2] high server is out of sync with
might be incorrect. the time on the TS. As a
result, the information in
the voice contact
[*] = current time (seconds) container could be
incorrect.
Remedial Action
Use third party clock
synchronization software
to get the time on the
servers back in sync.
Environment Variable\ onInit high AIXTHREAD_SCOPE
AIXThread_Scope\ Is not variable is not set to "S"
set to [*]. TS needs that to within the AIX operating
optimize. system.

[*] = Remedial Action


Set this variable
(AIXTHREAD_SCOPE)
to "S" and restart the TS.
Error loading acd queues CtsQueueList::loadlist high There is a problem with
onInit high the interaction of the TS
and the Directory server
while loading the list of
ACD queues.
Remedial Action
Restart the Directory
server.
If the problem persists,
report the problem to
Avaya Technical Support.

342 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Error requesting ADU for CtsQueueList low There is a problem with


queue [*] the interaction of the TS
and the ADU server.
[*] = queue id Remedial Action
Restart the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Error [*] requesting queue CtsQueueList low There is a problem with
ADU the interaction of the TS
and the ADU server.
[*] = queue id Remedial Action
Restart the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Error requesting TS.Route. routeCallbackEvents high A Multi Site Hetero Switch
communication could not
be completed.
Remedial Action
Restart both of the TSes.
Error/Message Table load CpbxASAI high An internal error occurred
failed CpbxCSTA high in the TS process which
made the table load fail.
CctiDevice high
Remedial Action
onInit high
Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Error updating acd queues CtsQueue high There is a problem with
list. the interaction of the TS
and the Directory server
while loading the list of
ACD queues.
Remedial Action
Restart the Directory
server.
If the problem persists,
report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 343


Alarm Name Level Cause

Event Lock EXPIRED for CctiDevice information A monitored device


[*] waited the maximum
allowed time for a
VduSatisfied event.
[*] = device monitor
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
Event Monitor Request CpbxAspectCMI high There is a communication
(510) failed: [*] (*) error between the TS and
the Aspect CMI server.
[*] = error code Remedial Action
(*) = error description Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Excessive call volume for scanForEvents high The call volume that is
[*]: (1) (2) being processed by this
TS is approaching the
maximum supported call
[*] = device number volume.
(1) = number of events on Remedial Action
previous pass.
First, review your
(2) = number of events on deployment strategy, then
current pass. report the problem to
Avaya Technical Support.
Failed asai_open dest=[*] CpbxASAI emergency The TS was unable to
asai_errno (*) {*} open communication with
the switch.
[*] = switch address (name Remedial Action
or ip address) Verify the network
(*) = error code connections and the
availability of switch
{*} = error description signals. Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.

344 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Failed asai_set_env CpbxASAI emergency The TS was unable to


asai_errno [*] (*) establish environment
settings with the switch.
[*] = error code Remedial Action
(*) = error description Verify the network
connections and the
availability of switch
signals. Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Failed heartbeat request, CpbxASAI high The TS was unable to get
eRetCode [*] (*) a heartbeat response
from the switch.
[*] = error code Remedial Action
(*) = error description Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Failed set_env, CpbxASAI high The TS was unable to
asai_errno= [*] (*), TS establish itself as a
cannot do routing errno={*} routing device to the
switch.
[*] = error code Remedial Action
(*) = error description Restart the TS.
{*} = routing feature error If the problem persists,
number report the problem to
Avaya Technical Support.
Failed to create entry on TSLoadFailure high An internal error occurred
TS list for [*] on the TS.
Remedial Action
[*] = other TS UUID Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 345


Alarm Name Level Cause

Failed to get created agent DS.GetViewRecords emergency There is a problem with


info the interaction between
the TS and the DS.

Remedial Action
Update the agent record
within Avaya IC.
If the problem persists,
report the problem to
Avaya Technical Support.
Failed to register for ECS CpbxASAI low The TS sends periodic
heartbeats, TS will heartbeat requests to the
generate heartbeats switch.
This error could indicate
the MAPD has already
registered for heartbeats
or that this is a CVCT
CVLAN server which
does not allow
heartbeats.
Remedial Action
None
Failed to retrieve switch CpbxASAI emergency The TS had a problem
version finding the version of the
ABORT IN PROGRESS!! switch and is stopping.

Remedial Action
Restart the TS server.
If the problem persists,
report the problem to
Avaya Technical Support.
Failed to retrieve switch CpbxASAI high The TS failed to retrieve
version. Using Config the switch version from
Parameter the PBX.

Remedial Action
None. The TS will use the
configuration parameter
instead.
If the problem persists,
report the problem to
Avaya Technical Support.

346 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Failure on gvVDUGetValue low There is a problem with


VDU.GetOneValue for [*] the interaction between
(*) the TS and the EDU
server.
[*] = vduid Remedial Action
(*) = name Restart the EDU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Failure: internal queue gvAssign high Monitoring of queues by
assignment. queueAssign high the TS is enabled, but the
assignment to a queue
device failed.
Remedial Action
Restart the TS. The
queue is not be monitored
until the server is
restarted.
Failure: internal route routeAssign high A route point specified for
assignment [*]. the Multi Site Hetero
Switch (MSHS) process
could not be found.
[*] = assign criteria
Remedial Action
Verify the MSHS settings
and restart the TS.
Failure: unable to create RPDN: Loadlist high The program that controls
expiration timer. the expiration of reserved
DN’s for Multi Site Hetero
Switch communications
could not be started.
Remedial Action
Restart the TS.
If the problem persists,
restart the ORB server
and report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 347


Alarm Name Level Cause

Heartbeat to test if switch CpbxASAI high The TS is unable to


connection is open failed. communicate with the
switch.
Remedial Action
Verify the network
connections and the
availability of switch
signals. Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Hetero-switch: cbFindAdvRouteAgentADU low A search for a destination
ADU.FindByKey failed for cbFindQueueADU low resolution for a Multi Site
destination [*]. Hetero Site
findDestinationTS low communication failed.
[*] = destination number Remedial Action
Restart the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Hetero-switch: ADU cbFindAdvRouteQueueADU low A search for a destination
request returned failure. cbFindAgentADU low resolution for a Multi Site
Hetero Site
cbFindDeviceAddress info communication failed.
cbFindTSFromAgentADU info Remedial Action
Restart the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Hetero-switch: Call [*] was CtsServer high The Multi Site Hetero Site
routed with exception (**). call was routed but there
was an exception and the
call may not reach the
[*] = vduid number desired destination.
(**) = error code Remedial Action
Report the problem to
Avaya Technical Support.

348 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Hetero-switch: Failed to cbFindAdvRouteAgentADU low There is a problem with


request info for ADU [*]. cbFindAdvRouteQueueADU low the interaction of a TS
and the ADU server in the
cbFindAgentADU low processing of a Multi Site
[*] = aduid number cbFindQueueADU low Hetero Switch call.
Remedial Action
Restart the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Hetero-switch: Received cbFindAdvRouteAgentADU low There is a problem with
invalid request. cbFindAdvRouteQueueADU low the interaction of a TS
and the ADU server in the
cbFindAgentADU low processing of a Multi Site
cbFindDeviceAddress low Hetero Switch call.
cbFindQueueADU low Remedial Action
cbFindTSFromAgentADU low Restart the TS and the
cbFindTSFromQueueADU low ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.
Hetero-switch support onInit high The servers using the
disabled: invalid hetero-switch
TS_Group. functionality are not
properly setup in TS
Groups.
Remedial Action
Setup the servers in their
respective TS Groups in
IC Manager.
Hetero-switch support onInit emergency The TS is set for Multi
disabled: no ANI in Site Hetero Switch
validation table. support but no ANIs were
defined.
Remedial Action
Fill the Multiple ANI table
in IC Manager or disable
validation.

Telephony Connectors Programmer Guide March 2012 349


Alarm Name Level Cause

Hetero-switch support onInit emergency The TS is set for Multi


disabled: no reserved DNs. Site Hetero Switch
support but no reserved
DNs were defined.
Remedial Action
Fill the Reserved DNs
table in IC Manager.
Hetero-switch support onInit emergency The TS is set for Multi
disabled: no TS list. Site Hetero Switch
(MSHS) support but no
other TS could be loaded.
Remedial Action
Verify the MSHS settings
including the definition of
the TS Group.
Hetero-switch support RPDN: Loadlist low The Reserved DN Table
disabled: configuration parameter
RESERVED_DN_TABLE was not specified in IC
not specified. Manager.
Remedial Action
Specify a value for the
Reserved DN Table
parameter in IC Manager.
IncomingAction with null CSM high There is an internal error
Record|Event on the TS.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
Internal queue [*] gvAssign high A queue for monitoring
assignment–session queueAssign high was defined, but
mismatch. assignment failed due to
No Client found high a default session
No Client (device) found high mismatch.
[*] = queue number
Remedial Action
Restart the TS. The
queue will not be
monitored until the server
is restarted.

350 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Internal self assignment onInit high The program that controls


method failed to initialize. the internal assignments
of the TS could not be
started.
Remedial Action
Restart the TS.
If the problem persists,
restart the ORB server
and report the problem to
Avaya Technical Support.
Invalid argument for [*] on CpbxASAI high There is an internal error
asai_vduid_compression on the TS.
Remedial Action
[*] = argument If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
Invalid incoming eDUID [*] Container high The EDUID received in
- creating new one an event was not
validated by the EDU
server.
[*] = vduid
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
Invalid session gvVDUGetValue high There is a problem with
VDU.GetOneValue for [*] the interaction between
(*) the TS and the EDU
server.
[*] = vduid Remedial Action
(*) = name Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Invalid values for pbxLinkStart emergency The required field pbx
CTCServer Node and/or type Csta was not
Link Name provided for a Meridian
TS.
Remedial Action
Specify values for all
required fields.

Telephony Connectors Programmer Guide March 2012 351


Alarm Name Level Cause

Link Down - TS restart in pbxGetEvent emergency The connection between


progress Cpbx emergency the TS and ASAI was
lost.
CpbxASAI emergency
Remedial Action:
If the TS fails to restart by
itself, restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Link is Down CpbxASAI emergency The connection was lost
Cpbx high/low between the TS and AES.
Remedial Action
Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Link is Up CpbxASAI info The connection was
Cpbx info established between the
TS and AES.
Remedial Action
None
Link lost to ASAI CpbxASAI emergency The connection was lost
between the TS and the
Avaya Communication
Manager.
Remedial Action
Verify the network
connections and the
availability of switch
signals. Restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
mismatch between CtsCallNode high A discrepancy was found
cleanup and active lists [*] in the end point of the
call.
[*] = EDUID Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.

352 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

missing acdname entry. onInit emergency The ACD Name


configuration parameter
was not specified in IC
Manager.
Remedial Action
Specify a value for the
ACD Name parameter in
IC Manager.
missing pbx_model entry. onInit low The ACD Model
configuration parameter
was not specified in IC
Manager.
Remedial Action
Specify a value for the
ACD Model parameter in
IC Manager.
missing pbx_protocol onInit low The ACD Protocol
entry. configuration parameter
was not specified in IC
Manager.
Remedial Action
Specify a value for the
ACD Protocol parameter
in IC Manager.
missing pbx_type entry. onInit low The ACD Type
configuration parameter
was not specified in IC
Manager.
Remedial Action
Specify a value for the
ACD Type parameter in
IC Manager.
missing site entry. onInit low The Site configuration
parameter was not
specified in IC Manager.
Remedial Action
Specify a value for the
Site parameter in IC
Manager.

Telephony Connectors Programmer Guide March 2012 353


Alarm Name Level Cause

missing site key entry. onInit low The servers that use the
same site key are out of
sync.
Remedial Action
Restart the TS and report
the problem to Avaya
Technical Support. Have
the pertinent log files
available.
NIVR: Could not find NIVR_UnknownVDUID high The EDUID associated
VDUID associated with with the ANI for this call
ANI [*] could not be found.
Remedial Action
[*] = ANI number If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
No ANI in validation table. onInit info This TS has no ANI
defined for its Multi Site
Hetero Switch calls. If a
destination TS is
configured to perform ANI
validation, calls
originating from this TS
will be routed to the
default routing point.
Remedial Action
Fill in the Multiple ANI
table in IC Manager or
ensure that the other
TSes participating in this
group do not perform ANI
validation.
No criteria for ADU.Find ADUContainers high There is an internal error
on the Avaya TS.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.

354 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Not enough memory DSQueueList emergency The TS was unable to


DSUserLoadList emergency create new structures due
to a lack of available
memory.
Remedial Action
Verify the processes
running on the server
machine and delete any
unnecessary processes.
Or upgrade the server
with additional memory.
PBX Layer: instantiation onInit high The TS could not start
failure - check communication with the
pbx_protocol entry. switch.
Remedial Action
Check the ACD protocol
parameter in IC Manager.
If it is correct, report the
problem to Avaya
Technical Support.
PING to [*] failed Ping.Request emergency The TS was unable to
communicate with
another TS in a Multi-Site
[*] UUID of the other TS Hetero Switch
environment.
Remedial Action
Verify the network
connections and restart
the TSes.
If the problem persists,
report the problem to
Avaya Technical Support.
Possible ADU crash - ADUContainers info There is a problem with
ADU.Find initiated the interaction between
the TS and the ADU
server.
Remedial Action
If additional alarms are
received related to the
interaction of the TS and
the ADU server, restart
the ADU server.
If the problem persists,
report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 355


Alarm Name Level Cause

Possible memory pbxGetEvent emergency Memory is corrupt. The


corruption! internals of the TS are not
Garbage Collector Thread working correctly and the
abnormally terminated. TS is shutting down.
ABORT() IN PROGRESS!!
Remedial Action
If the TS fails to restart
itself, restart the TS.
If the problem persists,
report the problem to
Avaya Technical Support.
Possible memory leak on CtsClient high There were still some
CtsRequest clearance: [*] pending requests when
the client disconnected
from the TS.
[*] = number of pending
requests Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
Reserved DN timed out: [*] RPDN Timeout high A routing point reserved
from (**). for a Multi Site Hetero
Switch call timed out
waiting for the call.
[*] = reserved DN number
Remedial Action
(**) = originator TS UUID
Verify the number of
these occurrences in the
server status at the
Advanced tab in IC
Manager. If this is not an
isolated case, increase
the time-out period at the
MSHS tab in IC Manager.
Route received on routeCallbackEvents high A call arrived at a
unreserved DN: Dest: [*] reserved route point that
Dnis: (**) From:{***}. was not expecting a Multi
Site Hetero Switch. The
call was routed to the
[*] = destination number default routing point.
(**) = dialed number Remedial Action
{***} = ANI (origin) number If the list of reserved DNs
was modified after an
Avaya TS in the TS
Group was started, restart
the TS.

356 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Session creation failed LoadTSList emergency The TS was unable to


hetero emergency create a session to
communicate with other
queueInternalAssign emergency IC servers.
CtsQueue emergency Remedial Action
RPDN: Loadlist emergency Restart the TS. If the
gvInternalAssign emergency problem persists, restart
routeInternalAssign emergency the ORB server and
report the problem to
DSUserChangeEvent emergency Avaya Technical Support.
DSUserListLoad emergency
CtsMultiSite high
TS ADU containers turned AduContainers info The setting that controls if
[*] during runtime. agent and queue
containers are created
was modified.
[*] = On or Off
Remedial Action
None
TS.Assign.Request failed. hetero emergency Cross assignment
between TSes failed.
Multi Site Hetero Switch
communication between
these servers is not
available.
Remedial Action
Restart the Directory
server and the TSes
defined for this TS Group.
If the problem persists,
report the problem to
Avaya Technical Support.
TS container create failed. TS.Problem low The system did not create
the requested container
because of invalid data or
insufficient memory.
Containers for this call will
not be available.
Remedial Action
Check the amount of
RAM available to the
process and restart the
TS.
If the problem persists,
contact Avaya Technical
Support.

Telephony Connectors Programmer Guide March 2012 357


Alarm Name Level Cause

TS EDU containers turned EduContainers info The setting that controls if


[*] during runtime. voice contact containers
are created was modified.
[*] = On or Off Remedial Action
None
TS not in its own TS CtsMultiSite high The TS is not properly
Group. setup in TS Groups.
Remedial Action
Setup the TS in its proper
TS Group in IC Manager.
TS set for hetero-switch onInit info The TS is configured to
support. support hetero-switch
functionality.
Remedial Action
None
Unable to assign to ADU CtsQueueList high The TS cannot assign to
server the ADU server.
Unable to assign to ADU CtsQueueList high The TS cannot assign to
after 3 tries the ADU server after 3
attempts to do so.
Unable to request CtsOtherTSList high There is a problem with
additional info for TS [*] the interaction between
the Directory server and
the TS.
[*] = other TS UUID
Remedial Action
Restart the Directory
server.
If the problem persists,
report the problem to
Avaya Technical Support.
Unable to request updated CtsMultiSite:: high An attempt to update the
configuration for loadDSTableAsync TS with the Multi Site
Hetero-switch support. Hetero Switch
CtsMultiSite::updateTables high configuration failed.
Remedial Action
Restart both the Directory
server and the Avaya TS.
If the problem persists,
report the problem to
Avaya Technical Support.

358 Telephony Connectors Programmer Guide March 2012


Alarm Name Level Cause

Unable to set Assign high The interaction between


voice.contactcount to zero. the TS and the ADU
server has experienced a
problem in processing a
Multi Site Hetero Switch
call.
Remedial Action
Restart the TS and the
ADU server and report
the problem to Avaya
Technical Support.
UUI field does not seem to CpbxASAI high There was an internal
contain VDUID (size < 16). error on the TS.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
UUI field does not seem to CpbxASAI high There was an internal
contain VDUID (size < 32). error on the TS.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
VDU.Create.Request IncomingCall high The is a problem with the
failed - CtsCallRecord MakeCall high interaction between the
removed. TS and the EDU server.
Remedial Action
Restart the EDU server.
If the problem persists,
report the problem to
Avaya Technical Support.
VDU.Create.Request SendData high The is a problem with the
failed. interaction between the
TS and the EDU server.
Remedial Action
Restart the EDU server.
If the problem persists,
report the problem to
Avaya Technical Support.

Telephony Connectors Programmer Guide March 2012 359


Alarm Name Level Cause

VDUID compression failed. CpbxASAI high There was an internal


error on the TS.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
VDUID decompression CpbxASAI high There was an internal
failed. error on the TS.
Remedial Action
If this is not an isolated
occurrence, report the
problem to Avaya
Technical Support.
Vesp_Request failed. MakeCallSetVDU emergency The TS is unable to
MakeCall emergency communicate with the
other IC servers.
ADU.GetSubTree emergency
Remedial Action
Restart the TS. If the
problem persists, restart
the ORB server and
report the problem to
Avaya Technical Support.
Vesp_Request TS.Problem high EDU touch was not
VDU.GetOneValue successful. It is possible
createtime failed:[*], to retire this EDUID
ignoring tscontainer. without the TS knowing.
Remedial Action
[*] = error code Verify that the EDU server
is running.
Will not request DS.Assign onInit high The TS will not receive
based on Load User Error. changes to agent records
Use Update on TS instead. in IC Manager.
A TS.Update is required
for agent record changes
to take affect.
Remedial Action
If this is not a desired
behavior and if the
problem persists, report
the problem to Avaya
Technical Support.

360 Telephony Connectors Programmer Guide March 2012


Chapter 11: Generic Call Flows

This appendix illustrates and describes some generic call flows.


This section includes the following topics:
● Route call on page 364
● Inbound call on page 365
● Outbound call on page 366
● Busy destination on page 367
● Blind transfer on page 368
● Consultative transfer on page 370
● Internal call on page 371

Telephony Connectors Programmer Guide March 2012 363


Route call
The following diagram illustrates the events and methods that are exchanged when the
Telephony server routes a call to a client, for example a Workflow server.

Telephony
Client
Server

Step Description

1 Telephony server sends TS.IncomingCall.event( vdu_id, call_id, ani, dnis,


ctype ) to client.
2 Client invokes TS.Route( vdu_id, dest ) method on the Telephony server.

364 Telephony Connectors Programmer Guide March 2012


Inbound call
The following diagram illustrates the methods and events that are exchanged after a call arrives
at the Telephony server from the switch. The sequence ends with the call being terminated by
the client.

C lie n t T e le p h o n y
S e rv e r

2
3

5
6

Step Description

1 Telephony server sends a TS.Incoming.event( vdu_id, ani, dnis, call_ref_id,


ctype ) to the client.
2 Client invokes the TSAnswerVDU ( vdu_id ) method on the Telephony server.
3 Telephony server sends a TS.Connect.event( vdu_id, call_ref_id ) to the
client.
4 Client invokes the TS.HangupVDU( vdu_id ) method on the Telephony
server.
5 Telephony server returns a TS.HangupVDU.response( vdu_id ) to the client.
6 Telephony server sends a TS.Disconnect.event( vdu_id, call_ref_id to the
client.

Telephony Connectors Programmer Guide March 2012 365


Outbound call
The following diagram illustrates the methods and events that are exchanged during an
outbound call. In this example, Client 1 is either an agent or a queue and Client 2 is an
automatic dialer.

Client 1 Telephony Client 2


Server

2
3

Step Description

1 Client 2 invokes TS.MakeCallVDU( dest ) method on the Telephony server.


2 Telephony server returns TS.MakeCallVDU.response( dest, vdu_id )to Client
2.
3 Telephony server sends TS.IncomingCall.event( vdu_id, call_ref_id ) to
Client 1.
4 Telephony server sends TS.Ring.event( orig, dest, vdu_id, call_ref_id,
monitor, ) to Client 2 indicating the call has reached Client 1.

366 Telephony Connectors Programmer Guide March 2012


Busy destination
The following diagram illustrates the methods and events that are exchanged when the call
destination is busy.

Client Telephony
Server

Step Description

1 Client invokes TS.MakeCallVDU( dest ) on the Telephony server.


2 Telephony server returns TS.MakeCallVDU.response( dest, vdu_id ) to the
client.
3 Telephony server also sends TS.Busy.event ( vdu_id, call_ref_id ) to the
client.

Note:
Note: A Busy event is generated when the destination is busy. A Busy exception is
raised when the originator is busy.

Telephony Connectors Programmer Guide March 2012 367


Blind transfer
The following diagram illustrates the methods and events that are exchanged during a blind
transfer, a transfer in which the first agent hangs up before the next agent picks up the call.
The switch sets must be in the ready state. Calls are answered automatically if the switch is
configured to AutoAnswer.
If the call originates within the switch system, additional events are generated that are not
indicated in this model.

Client 1 Telephony Client 2


Server

1
2
3
4
5
6 6
7

Step Description

1 Client 1 invokes TS.TransferVDU( vdu_id, dest ) method on the Telephony


server.
2 Telephony server generates a TS.Hold.event ( vdu_id, call_ref_id ) to Client 1
that indicates the primary call is on hold.
3 Telephony server generates a TS.Ring.event ( vdu_id, call_ref_id ) to Client 1
that indicates the secondary call is in progress.
4 Telephony server returns TS.TransferVDU.response ( dest, vdu_id ) to Client
1. This response can arrive at anytime. The events and responses run in
separate threads.
5 Telephony server sends TS.IncomingCall.event( vdu_id, ani, dnis,
call_ref_id, ctype ) to Client 2.

368 Telephony Connectors Programmer Guide March 2012


Step Description

6 Telephony server sends a TS.Transfer.event ( vdu_id, call_ref_id ) to Client 1


and Client 2 to indicate the transfer took place.
7 Telephony server sends TS.Disconnect.event( vdu_id, call_ref_id ) to Client
1 to indicate the EDUID is no longer associated with Client 1.

Telephony Connectors Programmer Guide March 2012 369


Consultative transfer
The following diagram illustrates the methods and events that are exchanged during a
consultative transfer, a transfer in which the first agent remains on the line until the next agent
picks up the call.

Client 1 Telephony Client 2


Server

2
3
4
5

6 6

Step Description

1 Client 1 invokes TS.TransferInitVDU( vdu_id, dest ) method on the


Telephony server.
2 Telephony server generates a TS.Hold.event ( vdu_id, call_ref_id ) to Client 1
that indicates the primary call is on hold.
3 Telephony server returns TS.TransferInitVDU.response( dest, vdu_id ) to
Client 1. This response can arrive at anytime. The events and responses run
in separate threads.
4 Telephony server sends TS.IncomingCall.event( vdu_id, call_ref_id, ani,
dnis, ctype ) to Client 2.
5 Client 1 invokes TS.TransferCompleteVDU ( vdu_id ) method on the
Telephony server.
6 Telephony server sends TS.Transfer.event ( vdu_id ) to Client 1 and Client 2
to indicate the transfer took place.
7 Telephony server sends TS.Disconnect.event( vdu_id, call_ref_id ) to Client
1 to indicate the EDUID is no longer associated with Client 1.

370 Telephony Connectors Programmer Guide March 2012


Internal call
The following diagram illustrates the methods and events that are exchanged when a client
places an internal call to another client. Note that an external call would have a similar flow
except that steps 3 and 4 would not apply.

Client 1 Telephony Client 2


Server

Step Description

1 Client 1 invokes TS.MakeCallVDU( dest ) method on the Telephony server.


2 Telephony server returns TS.MakeCallVDU.response( dest, vdu_id ) to Client
1.
3 Telephony server sends TS.IncomingCall.event( vdu_id, ani, dnis, call_ref_id,
ctype ) to Client 2.
4 Telephony server sends TS.Connect.event( vdu_id, call_ref_id ) to Client 2.
5 Telephony server sends TS.Connect.event( vdu_id, call_ref_id ) to Client 1.
6 Client 1 invokes TS.HangupVDU( vdu_id ) method on the Telephony server.
7 Telephony server sends TS.HangupVDU.response( vdu_id ) to Client 1.
8 Telephony server sends TS.Disconnect.event( vdu_id, call_ref_id ) to Client 1.
9 Telephony server sends TS.Disconnect.event ( vdu_id, call_ref_id ) or
TS.Drop.event ( vdu_id, call_ref_id ) to Client 2.

Telephony Connectors Programmer Guide March 2012 371


372 Telephony Connectors Programmer Guide March 2012
Chapter 12: Supported Switch Functions

This appendix lists the software functions provided by each of the supported switches and
indicates which of these software functions are supported by the Avaya TS in IC 7.3. It also
describes the limitations of the TS to normalize functionality across all of the supported
switches.
This section includes the following topics:
● Avaya Communication Manager on page 374
● Aspect CallCenter on page 386
● Cisco Unified Contact Center on page 388
● Limitations on normalizing switch features on page 390

Telephony Connectors Programmer Guide March 2012 373


Avaya Communication Manager
The Avaya TS does not support all of the software functions available on the Avaya
Communication Manager. The following table lists the software functions provided by the Avaya
Communication and indicates which of these functions are supported by the Avaya TS in IC 7.3.
If a function is supported with exceptions, refer to the Notes and Exceptions column for
additional information.
For detailed descriptions of these Avaya Communication Manager software functions, refer to
the Avaya Communication Manager Software Features Guide.

! Important:
Important: The Avaya Communication Manager provides Converse On functionality that
keeps a call’s place in queue while the IVR plays predefined scripts to contacts as
they wait to be connected to IC. This functionality is not intended to replace
normal IVR behavior, automated service through prerecorded options. You must
transfer the call directly to the IVR to use normal IVR functionality.

Avaya Communication Manager Software Supported Notes and Exceptions


Function by TS

General:

User-to-user data Yes, with Used by IC but not available to the


exceptions application. This is a planned area of
enhancement for future releases.
Specific party ID on multi-party calls Yes, with IC represents party information as “this
exceptions party” and “other party” rather than
indicating the individual parties on the
call. IC waits for the switch to send a
confirmation before it returns to the
caller. IC does not deliver the
information returned by the switch to
the application.
Traditional ACD related control and No
monitoring
Call control associations No
Wide characters in name fields No
Trunk ID information in messages No

Messages - Third Party Call Control:

3rd Party Call Ended Yes

374 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

3rd Party Clear Call Yes


3rd Party Makecall Yes, with Used by IC for user classified calls and
exceptions predictive calls.
There is no interface for priority calls,
supervisor assist calls or direct agent
calls other than routing to agent ID.
Non-EAS ACD calls and separate
TACs are not supported.
3rd Party Merge Yes, with Used by IC to merge and implement
exceptions call transfers and conferences. Call
transfers and conferences are only
done on domain control association.
Individual parties and merged parties
are not tracked and the party ID
information is not saved.
IC does not support call control
associations. IC monitors VDNs to
provide caller information that helps IC
decide what to do with the call.
3rd Party Reconnect Yes, with Used by IC to reconnect a call held on
exceptions a domain control association.
Call control associations are not
supported.
Redirect (Alerting) Call Yes, with Used by IC to move a call from a
exceptions domain control association.
IC does not use this function with call
control associations.
3rd Party Relinquish Control Yes, with Used by IC to terminate a domain
exceptions control association.
IC does not use this function with call
control associations.
3rd Party Send DTMF Yes, with Used by IC to send digits via the
exceptions SendDTMFtoneVDU method. The
durations of the tone and pause are
configurable. Call control associations
are not supported.
3rd Party Selective Drop Yes, with Used by IC to drop a party from a
exceptions domain controlled station.
IC does not use this function with call
control associations.

Telephony Connectors Programmer Guide March 2012 375


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

3rd Party Selective Hold Yes, with Used by IC to put a call on hold from a
exceptions domain controlled station.
IC does not use this function with call
control associations.
3rd Party Selective Listen Yes
3rd Party Single Step Conference Yes Use only to involve the recording
devices in a conference and not an
agent.
3rd Party Take Control Yes, with Used by IC to cancel a secondary call
exceptions in a conference or transfer. IC does not
expose this feature to other
applications.
This function is used sporadically.
Control is relinquished as soon as
possible. For example, drop a party on
a conference call.

Messages - Third Party Domain Control:

3rd Party Answer Yes


3rd Party Auto Dial Yes, with Used by IC with agents who have
exceptions invoked the TS.Assign method on their
station to implement transfers and
conferences.
IC does not support priority calling or a
separate TAC argument in these
cases.
IC exposes auto dial for use the
transfers and conferences through the
telephony method.
3rd Party Domain Control Request - Stations Yes, with Used by IC to implement TS.Assign
exceptions methods on stations.
The list of active calls is not returned
by IC.
3rd Party Domain Control Request - Split/ No
skills
(ACD hunt group extension)
3rd Party Domain Control Ended No

Messages - Event Notification:

Event Notification Cancel Yes

376 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Event Notification Ended (Terminate Event) No


Event Notification Request Yes, with Handled by IC for VDNs.
exceptions Not supported for traditional ACD splits
and AOC Trunks.
Stop Call Notification No
U-Abort Event Yes, with IC processes aborts from the switch,
exceptions but it does not provide an interface for
applications to issue aborts.

Messages - Event Reports:

Agent Work Mode Change (Agent States) Yes


(using proprietary adjunct link only)
Alerting Yes, with IC handles the alerting event report.
exceptions Numbering plan information, trunk
information, redirecting number, and
party ID are not delivered to the
application.
Answered Yes, with IC handles the answered event report.
exceptions Numbering plan information and party
information are not delivered to the
application.
Busy/Unavailable Yes, with IC handles the busy event report.
exceptions Numbering plan information and party
information, are not delivered to the
application.
Conference Call/Transfer Yes, with IC handles the conference and transfer
exceptions event reports.
Numbering plan information and party
information are not delivered to the
application.
Call Ended Yes
Call Initiated Yes, with IC handles the initiate event report.
exceptions Party information is not delivered to the
application.

Telephony Connectors Programmer Guide March 2012 377


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Call Offered to Domain Yes, with IC handles the offered event report.
exceptions Domain extension, II-digits, LAI
information, Flexible Billing feature
active, numbering plan information,
and trunk information are not
supported.
Call Originated No
Call Redirected Yes
Charging No
Connected Yes, with IC handles the connected event report.
exceptions Numbering plan information, party
information, and cause value are not
delivered to the application.
Cut-Through Yes For more details, refer to Telephony
server configuration on page 56.
Disconnect/Drop Yes, with IC handles the drop event report.
exceptions Numbering plan information, party
information, and cause value are not
delivered to the application.
Entered (Collected) Digits No
Hold and Reconnected Yes, with IC handles the hold and reconnect
exceptions reports.
Numbering plan information and party
information are not delivered to the
application.
Login Yes, with IC handles the login and logout event
Logout exceptions reports provided through station
domain control of agents when the
Agent Events proprietary link feature is
active.
The reason code provided in the logout
event is not reported to IC.

378 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Queued Yes, with IC handles the queued event report


exceptions only to detect calls redirected by
RONA.
The number in queue, the ACD split
extension number, and numbering plan
information are not delivered to the
application.
IC is limited to one type of monitor per
device.
For example, if IC is monitoring a
device as a queue (calls entering), it
cannot also monitor that device for
route requests.
Reorder/Denial Yes, with IC handles the denial event report.
exceptions Numbering plan information is not
delivered to the application.
Trunk Seized Yes, with IC handles the trunk seized event
exceptions report.
Numbering plan information and trunk
identifier information is not delivered to
the application.

Messages - Maintenance:

Heartbeat Yes, with IC sends heartbeats when it cannot


exceptions register as a heartbeat server.
Otherwise, it responds to heartbeat
requests from the switch. Heartbeat
requests are not delivered to the
application.
Suspend Alarms NA Handled from MAPD.
Resume Alarms NA Handled from MAPD.
Restart NA Handled from MAPD.

Messages - Request Feature:

Agent Login Yes


Agent Logout Yes
Call Forward All Yes Only stations can forward calls. If an
agent is logged into a station, that
agent cannot set call forwarding.

Telephony Connectors Programmer Guide March 2012 379


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Call Forward Busy/DA Yes Only stations can set this function,
agents cannot. The station must be
authorized to allow this function in its
Class of Service.
Change Agent Work Modes Yes
Send All Calls Yes
Enable Agent Events Yes
(using proprietary adjunct link only)
Enable EAS agent status query No
(using proprietary adjunct link only)

Messages - Route Messages:

Route End Yes, with IC handles route ends from the switch
exceptions and provides an interface for the
application to sends route ends to the
switch.
IC does not indicate specific reasons
to the switch. The only cause values
sent by IC are C_RESUNAVL or
C_INVLDNUM.
Route Request Yes, with IC handles route requests from the
exceptions switch.
II-digits, LAI information, Flexible
Billing feature active, numbering plan
information and trunk information are
not delivered to the application.
Collected digits are received and
stored in the EDU.
Route Select Yes, with IC provides an interface to send route
exceptions selects. However, the application
cannot specify priority calling, external
access code or direct agent calling
(flag and DAC split/skill).
IC supports the passing of collected
digits, but does not implement the
request digit collection (collect flag,
number of digits, timeout, and specific
event).

Messages - Select Value:

Message Waiting Lamp No

380 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Billing Rate (Flexible Billing) No

Messages - Value Queries:

Value Query - general Yes, with IC supports some value queries.


exceptions It does not support:
● classifier query

● trunk group query

● calls query

● parties query

● message waiting query

● SAC query

● call forwarding query

● status station query

The switch version query is logged, but


no interface is exposed.
ACD Agent Login Query Yes
ACD Agent Status Query Yes
ACD Hunt Group Status (Split Service) Query No
Call Classifier Status Query No
Call Information Query No
Date and Time (Time of Day Service) Query Yes
EAS Agent Query No
(using proprietary adjunct link only)
Extension (Device) Query No
Integrated Directory Database (Device No
Name) Query
Party ID Query No
Station Feature Query:
● Call Forwarding No
● Message Waiting Lamp No
● Send All Calls No
Station Status Query No
Trunk Group Status Query No

Telephony Connectors Programmer Guide March 2012 381


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

UCID Query No
Version Query (undocumented capability) No

General Feature & Functions

Adjunct Controlled Splits/Skills (phone No


control)
Agent States (Agent Events) Yes
Adjunct Routing (Call Vectoring commands) Yes
Advice of Charge No
ASAI Customer Option Form Changes for NA
RFA (R10)
ASAI Enhanced Adjunct Routing for Avaya Yes The call vectors for the applications
IC and application programming need to
reflect the use of this capability. This
function enhances the parked call
operation by providing failure handling
with multiple treatments including
loopback through treatment steps.
ASAI Phantom Call No
ASAI Proprietary Links Yes
ASAI Provided Dial-Ahead Digits Yes
ASAI Requested Digit Collection No
ASAI Selective Listening No
ASAI Send DTMF Yes, with Used by IC to send digits via the
exceptions SendDTMFtoneVDU method. The
durations of the tone and pause are
configurable. Call control associations
are not supported.
ASAI Single Step Conference No
Call Classification: Answering Machine Yes
Detection for Outbound Calls
(Call Classification After Answer)
Call Classification: Global Classification Yes
Board

382 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Call Classification: ISDN Call Progress Yes


Events for Call Classification
Call Classification: Optionable Switch Yes
Classified Calls
Call pick-up No
Computer Telephony NA IC interfaces directly to CVLAN
through the Telephony server.
No functionality is lost through this
approach.
Connected Event Report for Non-ISDN Yes
Trunks
CVLAN Yes
Communication Manager/MV Software No
Version Query
(undocumented capability)
Direct Agent Calling - Via Adjunct No
Flexible Billing (interface with AT&T No
MultiQuest Vari Bill Service)
II-Digits Over ASAI Yes IC allows applications to vary the
treatment given to the caller and agent
selection criteria based on the
originating line identity (for example,
hotel phone or pay phone).
Interface Options:
● BRI Link NA
● Co-resident Communication Manager Yes
LAN Gateway (DLG) for S8300 Yes
● LAN Gateway (Ethernet Interface) using
MAPD
ISDN Redirecting Number for ASAI Events No
(MV 1.3)

Telephony Connectors Programmer Guide March 2012 383


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Multiple Call Handling (MCH) No MCH from hunt-group is not supported.


MCH delivers 2 ACD calls to the agent.
After each call, ACW is requested and
pended and a request for AuxWork is
buffered by the client.
The impact is:
● the agent will receive a third call,
after handling the 2 calls from
MCH, in spite of the request to go
to AuxWork.
● the client will be in the WrapUp
state while the agent is
transitioned to the AuxWork state
at the switch.
● the agent is transitioned into full
AuxWork state by the client
application.
Multiple Monitors No
Multiple Outstanding Route Requests NA
New Reason for Redirection No
Pending Work Mode Changes Yes
Reason Codes Support - for AUX Work and Yes IC supports sending these codes to the
Logout switch, but not reading them from the
switch and delivering them to an agent.
Support Conference and Transfer Events Yes
Support converse vector command data Yes When agents are in a call that enters a
return function converse on step, they will receive a
ts.queued.event.
Converse on is not supported on IC
monitored agents using Business
Advocate.
Support general PBX Switch Features No
(Coverage, SAC, Call Forwarding, Message
Waiting)

384 Telephony Connectors Programmer Guide March 2012


Avaya Communication Manager Software Supported Notes and Exceptions
Function by TS

Support/Initiate Service Observing Yes Supported on the TS, but not by the IC
applications.
(IC Manager, Avaya Agent, etc.)
The use of DTMF tones is restricted
when Service Observing is enabled.
An agent who is being observed
cannot send DTMF tones.
Support of Expanded Dial Plan (7-Digit Yes
Dialing)
Support Vectoring (Prompting) - collecting Yes
digits in vectors
Trunk Group Information in Event Reports No
UCID Support Yes, with IC includes UCID in the call record
exceptions when received in an event report.
However, IC does not use UCID nor
does it query for it.
User to User Information (UUI IE) Transport - Yes, with Used by IC but not available to the
adjunct link provided to switch and received exceptions application. This is a planned area of
from reports enhancement for future releases.
UUI on Transferred Calls Yes
VDN Override for ISDN Trunk ASAI Events Yes
(MV 1.2)
Version Control No

Telephony Connectors Programmer Guide March 2012 385


Aspect CallCenter
The Avaya TS does not support all the software functions available on the Aspect CallCenter
switch. The following table lists the Aspect CallCenter software functions and indicates which of
these functions are supported by the Avaya TS in IC 7.3.
For detailed descriptions of these Aspect CallCenter software functions, refer to the Aspect
CallCenter Software Features Guide.

Aspect CallCenter Software Function Supported by TS

AgentAfterCallWork Yes
AgentLogin Yes
Agent Logout Yes
AgentNot Ready Yes
AgentOtherWork Yes
AgentReady Yes
AnswerCall Yes
Assign Yes
Auto-ready (aux-work) No
Aux reason code support for Busy and Logout Yes
BlindTransfer (non-trunk calls) No
CancelCall Yes
ConferenceCall Yes
ConferenceInit Yes
ConsultativeTransfer, one step No
DeflectCall No
Forward Calls, Cancel Forward Calls No
GetCallForward No
GetDoNotDisturb No
GetMessageWaiting No
HangupCall Yes

386 Telephony Connectors Programmer Guide March 2012


Aspect CallCenter Software Function Supported by TS

HangupUnroutedCall Yes
HoldCall Yes
ListenDisconnect/Reconnect (mute) No
MakeCall Yes
MakePredictiveCall Yes
MessageWaiting, CancelMessageWaiting No
ReconnectHeld Yes
RedirectAlertingCall No
RespondToQuery Yes
RetrieveHeld Yes
RouteCall Yes
SendAllCalls, CancelSendAllCalls No
SendDTMF Yes
SetApplicationData Yes
SetCallForward No
SetDoNotDisturb No
SetMessageWaiting No
SingleStepConference No
SingleStepTransfer No
SwapWithHeld Yes
TransferCall Yes
TransferInit Yes
Unpark Yes - Advocate
WalkAway, ReturnFromWalkAway No

Telephony Connectors Programmer Guide March 2012 387


Cisco Unified Contact Center
The Avaya TS does not support all the software functions available on the Cisco Contact Center
switch. The following table lists the Cisco Contact Center software functions and indicates which
of these functions are supported by the Avaya TS in IC 7.3.
For detailed descriptions of these Cisco Contact Center software functions, see the Cisco
Unified Communications Documentation.

Cisco Contact Center Software Function Supported by TS

AgentAfterCallWork Yes
AgentLogin Yes
Agent Logout Yes
AgentNot Ready Yes
AgentOtherWork Yes
AgentReady Yes
AnswerCall Yes
Assign Yes
Auto-ready (aux-work) No
Aux reason code support for Busy and Logout Yes
BlindTransfer (non-trunk calls) No
CancelCall Yes
ConferenceCall Yes
ConferenceInit Yes
ConsultativeTransfer, one step No
DeflectCall No
Forward Calls, Cancel Forward Calls No
GetCallForward No
GetDoNotDisturb No
GetMessageWaiting No
HangupCall Yes

388 Telephony Connectors Programmer Guide March 2012


Cisco Contact Center Software Function Supported by TS

HangupUnroutedCall No
HoldCall Yes
ListenDisconnect/Reconnect (mute) No
MakeCall Yes
MakePredictiveCall No
MessageWaiting, CancelMessageWaiting No
ReconnectHeld Yes
RedirectAlertingCall No
RespondToQuery Yes
RetrieveHeld Yes
RouteCall Yes
SendAllCalls, CancelSendAllCalls No
SendDTMF No
SetApplicationData Yes
SetCallForward No
SetDoNotDisturb No
SetMessageWaiting No
SingleStepConference No
SingleStepTransfer Yes
SwapWithHeld Yes
TransferCall Yes
TransferInit Yes

Telephony Connectors Programmer Guide March 2012 389


Limitations on normalizing switch features
The TS makes every effort to normalize behavior across the switches that are supported on
Avaya IC 7.3. But, each of these switches handles things differently. As such, there are features
that the TS cannot normalize due to switch limitations or performance limitations. In these
cases, switch behavior is apparent to the client application.
The following table provides some examples of behavior that varies across switches. This is not
a complete list of examples. Developers should test their assumptions against the actual switch
in their environment.

No. Description

1. The TS can not guarantee the sequence of events between devices.


For example, a TS.IncomingCall.Event might be posted to stationA, before a
TS.Ring.Event is posted to stationB, and vice-versa depending on the switch and
the switch load.
2. The TS can not guarantee that all stations involved in a transfer/conference will be
informed of TS.Transfer.Event and TS.Conference.Event.
The Controlling station is notified, but other stations might not be notified
depending on the switch.
3. The TS can not guarantee that data placed in the ADU and in the EDU will be the
same across all switches because:
● Some switches may not provide specific data elements depending on the call
flow.
● Or because device monitoring is not available.

4. Some TS methods are only supported on certain switches.


For example, the TS.SendData() method is only supported on the Aspect
CallCenter while the Avaya Communication Manager and Aspect CallCenter are
the only switches that support the following methods:
● TS.LogoutWithReason()

● TS.BusyWithReason()

● TS.GetPBXTime()

● TS.SwapHeld()

In some cases the TS “simulates” functionality, but the switch might not have that
specific feature, so access to that feature through hard phone is not available.
5. The TS may attempt to normalize some switch behavior via the Softphone. As
such, attempts to operate the switch using the hard phone could yield incorrect
results on some switches.
6. The TS is event driven to keep the hard phone and Softphone in sync.
7. Not every feature in the switch is mapped over to the TS.

390 Telephony Connectors Programmer Guide March 2012


No. Description

8. The TS can not execute a request that is unsupported by the switch.


9. The TS can not execute a request that is not supported by the CTI link.
10. CSTA is a recommended standard, every implementation has its nuances, and it
maps to the way a given PBX operates, so the TS has to follow the PBX nuances
and, in some cases, specific functionality can not be hidden from the client
application.

Telephony Connectors Programmer Guide March 2012 391


Supported methods
The following table lists the supported TS methods per switch:

Method Name Avaya Aspect Cisco


Communication CallCenter Contact
Manager Center

TS.AnswerVDU Yes Yes Yes


TS.Busy Yes Yes Yes
TS.BusyTerminate Yes Yes No
TS.BusyWithReason Yes Yes Yes
TS.ConferenceCancelVDU Yes Yes Yes
TS.ConferenceCompleteVDU Yes Yes Yes
TS.ConferenceInitVDU Yes Yes Yes
TS.ConferenceInitExVDU Yes No No
TS.Divert Yes No No
(only for calls on
stations).
TS.DropVDU Yes No No
TS.HangupVDU Yes Yes Yes
TS.HangupExVDU Yes No No
TS.GetPhoneInfo Yes No No
TS.GetQueueInfo Yes No No
TS.GetPBXTime Yes No No
TS.HoldVDU Yes Yes Yes
TS.HoldReconnectVDU Yes Yes Yes
TS.Login Yes Yes Yes
TS.Logout Yes Yes Yes
TS. LogoutWithReason Yes Yes Yes
TS.MakeBusy Yes No No
TS.MakeBusyTerminate Yes No No

392 Telephony Connectors Programmer Guide March 2012


Method Name Avaya Aspect Cisco
Communication CallCenter Contact
Manager Center

TS.MakeCallVDU Yes Yes Yes


TS.MakeCallExVDU Yes No No
TS.MakeCallSetVDU Yes Yes Yes
TS.MakeCallExSetVDU Yes No No
TS.Ready Yes Yes Yes
TS.ReadyAuto Yes No No
TS.ReceiveData No Yes No
TS.ResetPhone Yes Yes Yes
TS.Route Yes Yes Yes
TS.RouteEx Yes No No
TS.RouteWithInfo Yes Partial Partial
(no data sent to (no data sent
the switch) to the switch)
TS.RouteWithInfoEx Yes No No
TS.SendDTMFtonesVDU Yes Yes No
TS.SwapHeld Yes Yes Yes
TS.TransferCancelVDU Yes Yes Yes
TS.TransferExVDU Yes No No
TS.TransferInitVDU Yes Yes Yes
TS.TransferInitExVDU Yes No No
TS.TransferCompleteVDU Yes Yes Yes
TS.UnparkEx Yes No No
TS.Wrapup Yes Yes Yes
TS.WrapupComplete Yes Yes Yes

Telephony Connectors Programmer Guide March 2012 393


394 Telephony Connectors Programmer Guide March 2012
Chapter 13: Troubleshooting

This appendix provides troubleshooting tips for some issues you may encounter while using the
Avaya TS. We recommend that you refer to this section prior to calling Avaya Technical Support
with an issue.
This section includes the following topics:
● Abandoned call time calculated incorrectly on page 397
● ADN calls not displayed on the desktop on page 398
● Avaya Agent does not respond on page 398
● Agent becomes unavailable on reconnect on page 398
● Agent cannot reconnect a consult call on page 399
● Calls cannot be answered on the hardphone on page 399
● Calls dropped using IVR on page 399
● Calls not delivered to agents on page 400
● Calls cannot be answered on the hardphone on page 399
● Connectivity between SES and CM on page 400
● Contact count automatically not set after server failure on page 401
● CTI Failure on page 401
● Event Lock Expired Alarms on page 402
● Hold button on an agent phone on page 402
● IC logging on page 402
● Link up alarm does not come up on page 402
● Making calls while in a customer call on page 403
● Operations on page 403
● Request for DS.GetViewRecords Fails on page 403
● Second conference allowed too soon on page 403
● Server selection with TS Groups and TS Sets on page 404
● Softphone does not indicate new call on page 404
● Talk time and wrap time exceptions on page 405
● Thread fatal error in script (flow), routing flow fails on page 405
● Transition from VDUSatisfied to Receive is missing on page 405

Telephony Connectors Programmer Guide March 2012 395


● TS entering times for containers that are before EDUID create times on page 406
● TSQS incorrectly increments ServiceLevelMiss value on page 406
● Two EDUIDs created for the same call on page 408
● UUI container information on page 408
● Wrapup duration not reported on page 411

396 Telephony Connectors Programmer Guide March 2012


Abandoned call time calculated incorrectly
In an environment running an Aspect CallCenter switch, the number of seconds for abandoned
calls may be calculated incorrectly by the TSQS.
To calculate the total number of seconds that contacts waited in queue before abandoning calls,
the TSQS-Aspect lower layer uses the number "avg_dly_aband". This number is the average
time the contacts waited in queue before abandoning in the last 5 minutes. This number is
multiplied by the number of calls abandoned in the current period to calculate the number of
seconds the users waited before abandoning in the current period.
The current period has an hour boundary and the average time has a period of 5 minutes, so
the calculated number calculated may or may not be correct. It is correct 5 minutes past the
hour, but after that. it can vary.
For example, in a period from 2:00 to 3:00:
● At 2:20 the TSQS reports that 20 calls were abandoned, and the "avg_dly_aband" is 120
seconds. The calls waited a total of 2400 seconds before being abandoned.
● At 2:30 the TSQS reports that the same 20 calls were abandoned, but now, since there
were no calls abandoned in the last 5 minutes, the "avg_dly_aband" is set to 0. This
makes the total number of seconds calls waited before being abandoned equal to 0.
After an in depth study of the Aspect Real time Bridge Tables that provide these statistics, we
found there is no field that provides a better way to calculate the duration the calls that waited in
queue before being abandoned. Given this, the current implementation is the one we can get.

Telephony Connectors Programmer Guide March 2012 397


ADN calls not displayed on the desktop
When a customer places an ADN call to Avaya IC, it rings on the hardphone but it is not
displayed on the agent’s desktop. The TS log file does not contain the TS.Incoming event
associated with the call. It only contains a ThirdPartyAnswered event after the agent answers
the call on the hardphone.
This is a third party constraint because the switch is not propagating an incoming call event, and
as such, the IC has no means of reporting the call.
Note:
Note: Internal communication (although possible) rarely uses ADNs, because an agent
might be assigned to multiple ADNs. It is simpler to initiate a call to an ODN, and/
or to ACD/CTI groups, which front-end a series of ADNs. These two cases: ODNs
and ACD/CTI groups are fully supported by IC.
Furthermore, when using the softphone, the Telephony Server translates IC loginids into ODNs.
Therefore, softphone operations will work as expected.

Avaya Agent does not respond


Avaya Agent can become unresponsive when a work item remains at the agent after the call is
terminated.
To recover Avaya Agent:
1. Reset the Voice channel from Avaya Agent or Avaya Agent Web Client.
2. Reset the SIP phones, if they are unresponsive.
3. As a last resort, terminate the Avaya Agent process from Task Manager.

Agent becomes unavailable on reconnect


IC agents become unavailable when they reconnect to the first call after answering a
conference or direct call. (Problem key 139566)
On Avaya Communication Manager, an agent puts an ACD call on hold, and answers a
conference call or direct call. The agent then puts the conferenced or direct call on hold, and
reconnects to the first ACD call. This scenario puts the agent unavailable (AUX) and the agent’s
phone goes out of sync.

398 Telephony Connectors Programmer Guide March 2012


Solution
Issue a resetphone after completing all calls.

Agent cannot reconnect a consult call


In Avaya Agent Web Client, the agent who initiated a consult call will not be able to
automatically reconnect to the customer when the other agent, who received the consult call,
answers and hangs up the call. (Problem key 163441)
When Agent2 hangs up the consult call, TS is not getting an OPDisc (from CTConnect) for
Agent1 and as a result TS is not sending the TS.Drop.Event for Agent1. ThinClient reconnects
Agent1 to the Customer (by calling TS.TransferCancelVDU) and disables Cancel and Transfer
buttons only on getting this TS.Drop.Event (for Agent1).
Solution
Agents must click the Cancel to reconnect to the customer.

Calls cannot be answered on the hardphone


The SipTS shows the voice channel as enabled even when the SIP extension on the hardphone
is not logged in. In this scenario, the SipTS typically shows the voice channel as not available.
If you receive a call on the softphone and cannot answer it on the hardphone, make sure the
hardphone is connected properly with the SIP extension is logged into the hardphone.

Calls dropped using IVR


If incoming calls are lost when routed to an IVR, the issue may be the IVR scripts. When you
modify IVR scripts to hard code the numbers that can be called from the SipTS, use numeric
characters only. Special characters (such as #, @, *, etc.) are not allowed in the dialable
numbers.

Telephony Connectors Programmer Guide March 2012 399


Calls not delivered to agents
If incoming calls are not delivered to agents, check the following to troubleshoot the issue:
● Verify the agents are qualified to receive calls.
● Confirm the agent phones are able to receive calls.
● Verify the system workflows are running properly.
● Make sure the Telephony Server Adapter (TSA) server is up and running.

Conferencing agent not put in wrapup


When an agent conferences a call with a second agent, the conferencing agent does not go into
the Wrapup state at the conclusion of the call. Only the agent to whom the call was conferenced
goes into Wrapup at the end of the call.
This condition only occurs when agent events are disabled on a TS configured for an Avaya
Communication Manager. To ensure the conferencing agent goes into the Wrapup state at the
conclusion of a call, enable agent events on your TS.

Connectivity between SES and CM


If you experience connectivity issues between the SES server and Communication Manager,
check the following to troubleshoot the issue:
● Verify calls are connecting between the SIP phone and the IP or DCP phone.
● Verify calls are connecting between SIP and the SIP phones.
● Check the SIP Trunk settings (state, signaling group number, tie, etc.)
● Check the SIP Signaling Group settings (state is in service, tls or tcp link, port numbers
coincide with SES, etc.)
● Make sure the IP-Network region domain is the same as the SES domain.
● Verify the G.711MU codec set is the first listed codec in the IP Codec Set form on ASA.
● Check the aar or ars routing, the route pattern, and dial plan.
● Check the Media Server Map in SES.

400 Telephony Connectors Programmer Guide March 2012


● Check the Media Servers entries in SES (tls or tcp link, CLAN IP address, Media Server
address, login, password).

Contact count automatically not set after server failure


The ADU voice.contactcount for an agent is not automatically reset to zero after Avaya IC
servers fail. When a Telephony server, ADU server or EDU server fails, Avaya IC does not
automatically reset the ADU voice.contactcount for an agent to zero. (Problem key 153523)
Solution
If a Telephony server, ADU server or EDU server fails, instruct all agents associated with the
affected servers to reset their phones. This reset ensures that the ADU voice.contactcount is
reset to zero.

CTI Failure
In the event of a CTI failure, the agent should end their current phone conversation and hang up
the call using the physical telephone before trying to reconnect to the Avaya TS.

Telephony Connectors Programmer Guide March 2012 401


Event Lock Expired Alarms
When an agent initiates a transfer from the hard phone and the call passes through a
non-monitored device, the TS locks events and delays the TS.IncomingCall to the receiving
agent when receiving a C_ALERT event.
This is actually the correct TS behavior. It is a result of a timing issue between the side initiating
the call and the side receiving it. During the call initialization via hard phone, the TS has to
create an EDUID. By the time the EDUID is received, the call can be alerting at an agent. The
TS is designed to lock events to the receiving side until an EDU is satisfied or a timeout. The
receiving side waits for a timeout because the element between initialization device and
destination device is not monitored.
The workaround is to change the timeout period via the device_lock_period parameter on the
Configuration tab in IC Manager from the default of 5 seconds to 1 second to minimize the
amount of time the TS has to wait. You can also monitor the VDN/queue between the two
devices.

Hold button on an agent phone


Agents should only use Avaya Agent to invoke the Hold/Reconnection functions, not the
hardphone.

IC logging
There is no new logging for the SipTS. IC logging is provided in one log file that contains
traditional IC Telephony server logging and SIP application logging. This logging follows current
IC logging standards.

Link up alarm does not come up


When the connection between Cisco TS and the Cisco ICM Application Gateway is broken and
time exceeds the application gateway session's retry limit value, the application gateway has to
be restarted for TS Link up alarm.

402 Telephony Connectors Programmer Guide March 2012


Making calls while in a customer call
When an agent in a customer call, puts the customer call on hold and initiates an unrelated call
to a second device, the agent must make this unrelated call on the softphone. If the call is not
made on the softphone, reporting on the customer call may be inaccurate and the agent may
not be able to transfer the second, unrelated call.
Make all secondary calls, or calls not connected to the original customer call, on the softphone.

Operations
Operations that cannot be performed via the hard phone cannot be executed by the Avaya TS.
Therefore, attempt the operation manually, if it fails, the problem is on the switch configuration.
Refer to the administration guide that accompanied your switch.

Request for DS.GetViewRecords Fails


If the DS.GetViewRecords method fails, the Telephony server will not have data for agents,
queues, etc. This means unqualified assignments cannot succeed because the Telephony
server does not know what kind of device to associate with a given assignment request.
If this method times out, it means the Directory server is down, the database is down, or a
network segment failure is in progress.
Use the manual generic update procedure on IC Manager to recover the Telephony server.

Second conference allowed too soon


IC allows a conference initiation for a call even if the previous conference has not been
completed. (Problem key 138780)
Solution
Ensure a previously initiated conference is completed before initiating another conference.

Telephony Connectors Programmer Guide March 2012 403


Server selection with TS Groups and TS Sets
The TSQS server is an available option with TS Groups and TS Sets. When creating or
modifying TS Groups and TS Sets, IC Manager allows you to select a TSQS server instead of
limiting the available server list to TS servers. (Problem key 116340)
Solution
Make sure that you only select a TS server when working with TS Groups and or TS sets.

Softphone does not indicate new call


After transferring a queue call to agent2, agent1 goes into WrapUp for the call. If agent2
transfers the call back to agent1 while the agent1 is in WrapUp, agent1’s softphone does not
indicate a new call, but the hardphone rings.

Solution
Agent1 must handle the returned call via the hardphone.

404 Telephony Connectors Programmer Guide March 2012


Talk time and wrap time exceptions
There are no values for talk time and wrapup time in IC Repository. This occurs as a result of
the following scenarios:

Scenario 1
Agent1 receives a contact and starts a consultative transfer with agent2. The contact
disconnects the call while on hold waiting for agent2.
In this scenario, agent1’s container is closed with a status of abandon, voice..talktime,
voice..holdtime, etc are updated, and exit_reason is written to abandon.

Scenario 2
Agent1 receives a contact and starts a consultative transfer with agent2. While agent1
swaphelds (customer is active, agent2 is on hold), the contact disconnects the call.
In this scenario, agent1’s container is closed with status of normal, voice..talktime, is updated,
exit_reason is written to normal.
For both scenarios, the container is then terminated agent1 time is not accounted until the
consultative call is terminated. Agent2 time is accounted and properly written to the EDU.

Thread fatal error in script (flow), routing flow fails


The TS abandons the call or diverts the call before the Workflow server invokes the TS.Route
method. Two scenarios can cause this error:
1. A device/queue has been created for the same VDN to which the flow diverts (using
TS.Route) the call. This causes an assignment to the same VDN twice, once from the
queue and then from the WFS (by specifying the assignment criteria in the Channel tab).
This is an illegal configuration, and should not be used.
2. The adjunct route wait time is set to a very low level, for instance one second or less. Set
the adjunct route wait time to five seconds or more.

Transition from VDUSatisfied to Receive is missing


IC agents become unavailable when they reconnect to the first call after answering a
conference or direct call. (Problem key 139566)

Telephony Connectors Programmer Guide March 2012 405


On Avaya Communication Manager, a valid transition from VDUSatisfied to the Receive state
on a queued event is missing.
In the following call scenario, a VDUSatisfied might not have a C_OFFERRED, but a
C_QUEUE instead:
1. call to route point
2. from route point to monitored queue
3. from monitored queue to unmonitored agent
4. from unmonitored agent to route point
5. from route point to unmonitored queue
6. from unmonitored queue to first monitored queue in this sequence
Solution
Verify that all intermediate queues are monitored.

TS entering times for containers that are before EDUID


create times
This is normally caused when the TS is running on a different machine than the EDU server. As
a workaround, ensure that the time on the machine running the TS is after the time on the
machine running the EDU server.
If the server times are out of sync, then the delta time is meaningless. Specifically, if the EDU
time is ahead of the TS time, then delta time will be less then 0. The alarm is raised once only.

TSQS incorrectly increments ServiceLevelMiss value


The TSQS incorrectly increments the ServiceLevelMiss value (Problem key 134460)
If the first contact for a queue does not get answered within the specified Service Level time, the
ServiceLevelMiss value is incremented:
● contactoffered is 1
● ServiceLevelPer becomes 0.
If calls are only sent to queues via routing hints, this queue will not be sent calls until
ServiceLevelPer is reset or its contactoffered is incremented.
Solution

406 Telephony Connectors Programmer Guide March 2012


Make a call directly to the tsqs monitored queue.

Telephony Connectors Programmer Guide March 2012 407


Two EDUIDs created for the same call
In an environment with 2 Telephony servers (TS1 and TS2), both Telephony servers create an
EDUIDs for the same call to an agent queue. The agent on TS2 receives the call. The
Telephony Queue Statistics server (TSQS) is on the same machine as the TS1 and they both
reference the same EDUID creating a queue ADU.
If you are not using the Workflow server for call routing decisions, it is important that calls routed
from VDNs that are monitored by the TSQS are routed only to agents in the same domain.

Solutions:
There are three possible solutions to this limitation:
1. Put a route point before the queue and have external calls arrive at this route point. Move
the call from the route point to via the TS.Route() or TS.RouteWithInfo() method. This
causes the EDUID to be associated with the switch and TS2 will be properly notified what
should be the EDUID during C_Alert.
Note:
Note: If this is not already set this up on your system, be advised that it will require
increased call handling time, increased messaging across the link, and increased
system complexity for simple routing. Consider solutions 2 and 3.
2. Configure 2 queues and 2 TSQSes such that each queue services agents that are
connected to a single domain. Make sure the TSQSes do not monitor queues across
domains.
3. Adjust the domain and agent so the TSQS monitors the queues that service the agents
who are all assigned to the same TS.

UUI container information


This section provides the information about the format of the UUI field that the Telephony Server
(TS) of Avaya IC uses to preserve the UUI data set by third party applications.
Telephony Server is responsible for decoding the UUI field that comes in the event data from
the switch.
Telephony Server understands the value of the uudata specified in the following format to
separate the EDU-ID and extended data from the UUI field.
● EDU-ID 32 bytes (Index - 0 - 31)
● Field separator 1 byte (Index - 32)
● Extended data 63 bytes (Index - 33 - 95)

408 Telephony Connectors Programmer Guide March 2012


By default, the EDU-ID and the Extended data fields are separated using the semicolon (;).
For example: 4a700d14000000009493a94923340002; cust=4567213/ivr=1, 3, 9
Were,
4a700d14000000009493a94923340002” is the EDU-ID and
cust=4567213/ivr=1,3,9 is the extended data.
Note:
Note: Telepohny Server always verify whether the EDU-ID is valid.
You can configure the field separator character by changing the extdata_separator
parameter of the Telephony Server. In IC Manager, you can add the extdata_separator
parameter on the Configuration tab of the Telephony Server. You must set the value of the
extdata_separator parameter to a single character.
Telephony Server, irrespective of any data, such as valid EDU, non EDU, or invalid EDU, in the
first 32 bytes always move the data from the thirty forth (34) byte to the extdata field in the EDU
and in the TS.IncomingCall event. The thirty third (33) byte should be the field separator.

Telephony Connectors Programmer Guide March 2012 409


Following table provides the log file container examples for different UUI scenarios with or
without extended data and with various couples being populated.

UUI Extended Couple(s) Log file container example


Data populated

EDU none EDU UUI data:


4a700d14000000009493a94923340002
Event:
[TS.IncomingCall.event({0,"TS.IncomingCall"
,{0,13,
{"vdu_id","4a700d14000000009493a94923
340002"},{"call_ref_id","556"},{"monitor","499
2"},{"orig","4993"},
{"dest","4992"},{"ani","4993"},{"dnis","4992"},{
"called","4992"},{"calltype","direct"},{"ctype","
direct"}, {"eventQual","new asai call"},
{"ucid","09999005561116683500"},{"queue","
"}}})]
EDU extra data EDU, extdata UUI data:
428f3e4b00000000ac2aad06232f0002
Event:
[TS.IncomingCall.event({0,"TS.IncomingCall"
,{0,14,
{"vdu_id","428f3e4b00000000ac2aad0623
2f0002"},{"call_ref_id","567"},{"monitor","499
2"},{"orig","4993"},
{"dest","4992"},{"ani","4993"},{"dnis","4992"},{
"called","4992"},{"calltype","direct"},{"ctype","
direct"}, {"eventQual","new asai
call"},{"extdata","hello"},{"ucid","09999005671
116684033"},{"queue",""}}})]
Invalid extra data uui, extdata UUI data:
EDU 428f3e4b00000000ac2aad06232f0002;
cust=4567213/ivr=1,3,9
Event:
[TS.IncomingCall.event({0,"TS.IncomingCall"
,{0,15,{"vdu_id","4a700d14000000009493a9
4923340002"},{"call_ref_id","570"},{"monitor",
"4992"},{"orig","4993"},{"dest","4992"},{"ani","
4993"},{"dnis","4992"},{"called","4992"},{"callt
ype","direct"},{"ctype","direct"},{"eventQual","
new asaicall"},{"extdata","cust=4567213/
ivr=1,3,9"},{"ucid","09999005701116684193"
},{"queue",""},{"uui","428f3e4b00000000ac2
aad06232f0002"}}})]

410 Telephony Connectors Programmer Guide March 2012


UUI Extended Couple(s) Log file container example
Data populated

Non EDU None uui UUI data:


123456
Event:
[TS.IncomingCall.event({0,"TS.IncomingCall"
,{0,14,
{"vdu_id","428f40bc00000000ac2aad03232f0
002"},
{"call_ref_id","576"},{"monitor","4992"},{"orig",
"4993"},
{"dest","4992"},{"ani","4993"},{"dnis","4992"},{
"called","4992"},{"calltype","direct"},{"ctype","
direct"}, {"eventQual","new asai
call"},{"uui","123456"},{"ucid","0999900576
1116684499"},{"queue",""}}})]
Non EDU extra data uui UUI data:
(UUI and 12345678901234567890123456789012;
Extended Data cust=4567213/ivr=1,3,9
(with field Event:
separator
extdata) [TS.IncomingCall.event({0,"TS.IncomingCall"
,{0,15,{"vdu_id","4a700d14000000009493a9
4923340002"},{"call_ref_id","570"},{"monitor",
"4992"},{"orig","4993"},{"dest","4992"},{"ani","
4993"},{"dnis","4992"},{"called","4992"},{"callt
ype","direct"},{"ctype","direct"},{"eventQual","
new asaicall"},{"extdata","cust=4567213/
ivr=1,3,9"},{"ucid","09999005701116684193"}
,{"queue",""},{"uui","1234567890123456789
0123456789012;cust=4567213/
ivr=1,3,9"}}})]

Wrapup duration not reported


The Aspect CallCenter switch does not consistently allow transitions of internal calls to the
WrapUp state after call disconnection. This behavior is manifested during transfers, and
agent-to-agent internal calls, and as a consequence OA was reporting agents as IDLE time, not
WrapUp time.
This was corrected by converting an aux work transition, upon call termination, to a
TS.WrapUp.event, when, during TS.Connect.event, the client issued a TS.WrapUp() request.

Telephony Connectors Programmer Guide March 2012 411


Note:
Note: The switch accounts for this agent time as AuxWork, while OA accounts for this
agent time as WrapUp, thus, the switch statistics and the OA statistics will be
out-of-synch.
When an agent sends a call to another agent via a Blind Transfer and transitions to the WrapUp
state, that agent’s time will not be correctly reported.

412 Telephony Connectors Programmer Guide March 2012


Index

switch support . . . . . . . . . . . . . . . . . 276


ADU fields
Symbols for CVLAN events . . . . . . . . . . . . . . . 292
(*) . . . . . . . . . . . . . . . . . . . . . . . . . 345 MSHS support . . . . . . . . . . . . . . . . 292
alarms reporting . . . . . . . . . . . . . . . . . . . 290
Error . . . . . . . . . . . . . . . . . . . . . . 343 Advocate park device . . . . . . . . . . . . . . . . 94
Failed heartbeat request, eRetCode . . . . . . . 345 after call work . . . . . . . . . . . . . . . . . . . 71
requesting queue ADU . . . . . . . . . . . . . . . 343 agent containers . . . . . . . . . . . . . . . 272, 293
= error code (*) = error description . . . . . . . . . 345 reporting . . . . . . . . . . . . . . . . . . . 277
= queue id . . . . . . . . . . . . . . . . . . . . . 343 agent events . . . . . . . . . . . . . . . . . . . . 62
alarms . . . . . . . . . . . . . . . . . . . . 336-361
ADU.Find failed . . . . . . . . . . . . . . . . 336
Numerical ADUID processing turned off . . . . . . . . . . 336
1rmid . . . . . . . . . . . . . . . . . . . . . . . 285 agent events (are/are) not enabled . . . . . . . 336
1rmid_key . . . . . . . . . . . . . . . . . . . . . 283 Aspect CallCenter DataInterlink not specified . . 336
Aspect CMI Server hostname not specified . . . 337
assign was not successful . . . . . . . . . . . 337
A call failed ANI validation . . . . . . . . . . . . 337
call record deletion (in pbxDeassign) failed . . . 337
AAR analysis
call record timed cleanup failed to initialize . . . 338
set . . . . . . . . . . . . . . . . . . . . . . . 86
could not create server default session . . . . . 338
abandoned . . . . . . . . . . . . . . . . . . . . 290
could not initialize Request Collector . . . . . . 338
abandonedahead . . . . . . . . . . . . . . . . . 287
could not initialize Request Expire cleanup . . . 338
abandonedbehind . . . . . . . . . . . . . . . . . 288
could not load error table. . . . . . . . . . . . 339
abandonedcritical . . . . . . . . . . . . . . . . . 288
could not load reserved DN list . . . . . . . . . 339
abandonedlasthour . . . . . . . . . . . . . . . . 290
could not load TS list . . . . . . . . . . . . . 339
abandonedqueuetime . . . . . . . . . . . . . . . 287
could not load UserList from DS . . . . . . . . 340
abandonedthishour . . . . . . . . . . . . . . . . 290
Could not register timer for cross-assign to TS . 340
abandonmiss . . . . . . . . . . . . . . . . . . . 290
CpbxCSTA
abandonqueuetime . . . . . . . . . . . . . . . . 290
acceptqueuetime . . . . . . . . . . . . . . . . . 290
DCE/RPC Exception Caught . . . . . . . 340
acdname . . . . . . . . . . . . . . . . . . . . . 279
CSTA link partially initialized . . . . . . . . . . 341
ACW . . . . . . . . . . . . . . . . . . . . . . . 71
data received is greater than buffer size . . . . 341
adandonedontarget . . . . . . . . . . . . . . . . 287
default route point not specified . . . . . . . . 341
add agents . . . . . . . . . . . . . . . . . . . . 98
deferred request
SES server . . . . . . . . . . . . . . . . . . . 89
NULL during ADU.FindByKey callback. . . . 341
add B2B
detected repeated key in UserList . . . . . . . 342
SES server . . . . . . . . . . . . . . . . . . . 89
DS request failed . . . . . . . . . . . . . . . 342
add phone stations
DS.Assign.Request failed, perform a TS.UPDATE to
SES server . . . . . . . . . . . . . . . . . . . 92 retrieve agent records. . . . . . . . . . . . . 342
add route points EDU/TS clocks out of sync . . . . . . . . . . . 342
SES server . . . . . . . . . . . . . . . . . . . 89 Environment Variable AIXThread . . . . . . . . 343
administer agents error loading acd queues. . . . . . . . . . . . 343
SES server . . . . . . . . . . . . . . . . . . . 90 error requesting ADU for queue . . . . . . . . 343
administer B2B error requesting TS.Route . . . . . . . . . . . 343
SES server . . . . . . . . . . . . . . . . . . . 90 error updating acd queues list . . . . . . . . . 344
administer route points error/message table load failed . . . . . . . . . 344
SES server . . . . . . . . . . . . . . . . . . . 90 event lock EXPIRED . . . . . . . . . . . . . . 344
ADU containers . . . . . . . . . . . . . . . . . . 274 event monitor request (510) failed . . . . . . . 344

Telephony Connectors Programmer Guide March 2012 413


excessive call volume . . . . . . . . . . . . . . 345 reserved DN timed out . . . . . . . . . . . . . 357
failed asai_open . . . . . . . . . . . . . . . . 345 route received on unreserved DN . . . . . . . . 357
failed asai_set_env . . . . . . . . . . . . . . . 345 session creation failed . . . . . . . . . . . . . 357
failed set_env, TS cannot do routing . . . . . . . 346 TS ADU containers (on/off) during runtime . . . 357
failed to create entry on TS list . . . . . . . . . . 346 TS container create failed . . . . . . . . . . . 358
Failed to get created agent info . . . . . . . . . 346 TS EDU containers (on/off) during runtime . . . 358
failed to register for ECS heartbeats . . . . . . . 346 TS not in its own TS Group . . . . . . . . . . 358
Failed to retrieve switch version TS set for hetero-switch support . . . . . . . . 358
ABORT IN PROGRESS!! . . . . . . . . . . 347 TS.Assign.Request failed . . . . . . . . . . . 358
Using Config Parameter . . . . . . . . . . . 347 Unable to assign to ADU after 3 tries . . . . . . 359
failure internal queue assignment . . . . . . . . 347 Unable to assign to ADU server . . . . . . . . 359
failure internal route assignment . . . . . . . . . 348 unable to request additional info for TS . . . . . 359
failure on VDU.GetOneValue . . . . . . . . . . 347 unable to request hetero-switch configuration . . 359
failure unable to create expiration timer . . . . . 348 unable to set voice.contactcount to zero. . . . . 359
heartbeat to test if switch connection failed . . . . 348 UUI field
hetero-switch does not contain VDUID . . . . . . . . 359, 360
ADU request returned failure . . . . . . . . . 349 VDU.Create.Request failed . . . . . . . . . . 360
ADU.FindByKey failed for destination . . . . . 348 CtsCallRecord removed. . . . . . . . . . . 360
call routed with exception . . . . . . . . . . 349 VDUID compression failed . . . . . . . . . . . 360
failed to request info for ADU . . . . . . . . . 349 VDUID decompression failed . . . . . . . . . . 360
received invalid request . . . . . . . . . . . 349 Vesp_Request
hetero-switch support disabled VDU.GetOneValue createtime failed. . . . . 361
invalid TS_Group . . . . . . . . . . . . . . 350 Vesp_Request failed . . . . . . . . . . . . . 361
no ANI in validation table . . . . . . . . . . . 350 Will not request DS.Assign based on Load User Error.
no reserved DNs. . . . . . . . . . . . . . . 350 Use Update on TS instead. . . . . . . . . . . 361
no TS list . . . . . . . . . . . . . . . . . . 350 API . . . . . . . . . . . . . . . . . . . . . . . 169
reserved DN table not specified . . . . . . . 350 Application Programming Interface . . . . . . . . 169
IncomingAction with null Record|Event . . . . . . 351 Aspect CallCenter
internal queue assignment mismatch . . . . . . . 351 administration
internal self assignment failed to initialize . . . . . 351 Telephony server. . . . . . . . . . . . . . . 64
invalid argument on asai_vduid_compression. . . 351 TSQS . . . . . . . . . . . . . . . . . . . 136
invalid incoming eDUID . . . . . . . . . . . . . 351 configuration
invalid session VDU.GetOneValue . . . . . . . . 352 Telephony server. . . . . . . . . . . . . . . 114
invalid values for CTCServer Node. . . . . . . . 352 TSQS . . . . . . . . . . . . . . . . . . . 137
Link Down - TS restart in progress . . . . . . . . 352 hardphone vs. softphone capabilities
link is down. . . . . . . . . . . . . . . . . . . 352 Telephony server. . . . . . . . . . . . . . . 112
link is up . . . . . . . . . . . . . . . . . . . . 352 required software
link lost to ASAI, exiting . . . . . . . . . . . . . 353 Telephony server. . . . . . . . . . . . . . . 111
mismatch between cleanup and active lists . . . . 353 TSQS . . . . . . . . . . . . . . . . . . . 137
missing acdname entry . . . . . . . . . . . . . 353 supported platforms
missing pbx_model entry . . . . . . . . . . . . 353 Telephony server. . . . . . . . . . . . . . . 112
missing pbx_protocol entry . . . . . . . . . . . 353 TSQS . . . . . . . . . . . . . . . . . . . 136
missing pbx_type entry . . . . . . . . . . . . . 354 supported switch functions . . . . . . . . . . . 386
missing site entry . . . . . . . . . . . . . . . . 354 third party software prerequisites . . . . . . . . 137
missing site key entry . . . . . . . . . . . . . . 354 transferring calls
NIVR TSQS . . . . . . . . . . . . . . . . . . . 142
could not find VDUID associated with ANI . . . 354 TSQS considerations . . . . . . . . . . . . . 141
no ANI in validation table . . . . . . . . . . . . 355 workflow considerations . . . . . . . . . . . . 120
no criteria for ADU.Find . . . . . . . . . . . . . 355 Avaya Agent does not respond . . . . . . . . . . 398
not enough memory. . . . . . . . . . . . . . . 355 Avaya Communication Manager . . . . . . . . . . . 78
PBX Layer instantiation failed . . . . . . . . . . 355 Avaya Definity
PING failed . . . . . . . . . . . . . . . . . . . 356 administration
possible ADU crash - ADU.Find initiated . . . . . 356 Telephony server. . . . . . . . . . . . . . . 53
Possible memory corruption! . . . . . . . . . . 356 TSQS . . . . . . . . . . . . . . . . . . . 133
possible memory leak on CtsRequest . . . . . . 356 agent configuration . . . . . . . . . . . . . . . 61
agent events . . . . . . . . . . . . . . . . . . 62

414 Telephony Connectors Programmer Guide March 2012


call routing . . . . . . . . . . . . . . . . . . . 33 events . . . . . . . . . . . . . . . . . . . . 47
configuration link failure . . . . . . . . . . . . . . . . . . 47
Telephony server . . . . . . . . . . . . . 56, 68 recommendations . . . . . . . . . . . . . . 48
TSQS . . . . . . . . . . . . . . . . . . . . 134 route end . . . . . . . . . . . . . . . . . . 46
configuring agent parameters . . . . . . . . . . 61 route request/responses . . . . . . . . . . . 46
hardphone vs. softphone capabilities TS assignment . . . . . . . . . . . . . . . . 47
Telephony server . . . . . . . . . . . . . . 53 Avaya Definity . . . . . . . . . . . . . . . . . . 33
preset states . . . . . . . . . . . . . . . . . . 62 Business Advocate . . . . . . . . . . . . 40, 45
supported platforms events . . . . . . . . . . . . . . . . . . . . 39
Telephony server . . . . . . . . . . . . . . 53 link failure . . . . . . . . . . . . . . . . . . 35
TSQS . . . . . . . . . . . . . . . . . . . . 133 recommendations . . . . . . . . . . . . . . 40
Avaya Telephony Queue Statistics server . . . . . . 131 route end . . . . . . . . . . . . . . . . . . 34
Avaya Telephony server . . . . . . . . . . . . . . 51 route request/response . . . . . . . . . . . . 34
average answer time . . . . . . . . . . . . . . . . 278 TS assignment . . . . . . . . . . . . . . . . 35
average number of transfers . . . . . . . . . . . . 278 vectors . . . . . . . . . . . . . . . . . . . 34
average talk time per agent . . . . . . . . . . . . . 277 calls cannot be answered on the hardphone . . . . 399
average talk time per contact . . . . . . . . . . . . 277 calls dropped using IVR . . . . . . . . . . . . . . 399
average time before abandoning a voice contact . . . 278 calls not delivered to agents . . . . . . . . . . . . 400
average voice contact handling time . . . . . . . . 277 channel . . . . . . . . . . . . . . . . . . . . . 282
average wrap up time . . . . . . . . . . . . . . . 278 CM configuration . . . . . . . . . . . . . . . . . 108
averagedelay . . . . . . . . . . . . . . . . . . . 290 Communication Manager . . . . . . . . . . . . . . 78
avgqueuetime . . . . . . . . . . . . . . . . . . . 290 add IP signaling group . . . . . . . . . . . . . . 82
change customer options parameters . . . . . . . 81
change system parameters . . . . . . . . . . . 81
B configure conferencing . . . . . . . . . . . . . 101
B2BUA create IP trunk group . . . . . . . . . . . . . . 83
description . . . . . . . . . . . . . . . . . . . 18 Rona . . . . . . . . . . . . . . . . . . . . . . 87
Back-To-Back User Agent . . . . . . . . . . . . . 18 set AAR analysis . . . . . . . . . . . . . . . . 86
bad object state using Vtel. . . . . . . . . . . . . . 398 set dial plan . . . . . . . . . . . . . . . . . . . 85
Blind Transfer . . . . . . . . . . . . . . . . . . . 368 set IP network region . . . . . . . . . . . . . . 79
Business Advocate. . . . . . . . . . . . . . 40, 45, 48 set public unknown numbering . . . . . . . . . . 82
Busy Destination . . . . . . . . . . . . . . . . . . 367 set routing pattern . . . . . . . . . . . . . . . . 87
verify IP codec sets . . . . . . . . . . . . . . . 87
verify IP connectivity . . . . . . . . . . . . . . . 79
C conference
set up . . . . . . . . . . . . . . . . . . . . 101
call containers . . . . . . . . . . . . . . . . . . . 255 conference calling . . . . . . . . . . . . . . . . 100
call control . . . . . . . . . . . . . . . . . . . . . 68 configuration . . . . . . . . . . . . . . . . . 100
conference calls . . . . . . . . . . . . . . . . 71 set up a conference . . . . . . . . . . . . . . 101
deliver incoming calls . . . . . . . . . . . . . . 70 conference calls . . . . . . . . . . . . . . . . . . 71
handle incoming calls . . . . . . . . . . . . . . 69 conferencing
login . . . . . . . . . . . . . . . . . . . . . . 69 Communication Manager . . . . . . . . . . . 101
originate outgoing calls . . . . . . . . . . . . . 70 SES server . . . . . . . . . . . . . . . . . . 103
park incoming calls . . . . . . . . . . . . . . . 69 configuration . . . . . . . . . . . . . . . . . . . . 73
put calls on hold . . . . . . . . . . . . . . . . 70 Avaya Communication Manager . . . . . . . . . 78
RONA calls. . . . . . . . . . . . . . . . . . . 71 considerations . . . . . . . . . . . . . . . . . 74
transfer calls . . . . . . . . . . . . . . . . . . 71 Interaction Center . . . . . . . . . . . . . . . . 93
Call Control Table . . . . . . . . . . . . . . . . . 46 IVR integration . . . . . . . . . . . . . . . . 103
call flow
SipTS . . . . . . . . . . . . . . . . . . . . . 94
video. . . . . . . . . . . . . . . . . . . . . . 43 configuration considerations . . . . . . . . . . . . . 74
voice . . . . . . . . . . . . . . . . . . . . . . 42 configure call transfer . . . . . . . . . . . . . . . . 99
call flow examples . . . . . . . . . . . . . 22, 364-372 configure SES server . . . . . . . . . . . . . . . . 88
Call routing . . . . . . . . . . . . . . . . . . . 31, 32 connectivity between SES and CM
Aspect CallCenter . . . . . . . . . . . . . . . 45 verify . . . . . . . . . . . . . . . . . . . . . 400
Business Advocate . . . . . . . . . . . . . 48 connector . . . . . . . . . . . . . . . . . . 279, 285
call control table . . . . . . . . . . . . . . . 46

Telephony Connectors Programmer Guide March 2012 415


connectorname . . . . . . . . . . . . . . . . . . 279 TS.Busy . . . . . . . . . . . . . . . . . . .
319
Consultative Transfer . . . . . . . . . . . . . . . 370 TS.Conference . . . . . . . . . . . . . . . .
320
contactcount . . . . . . . . . . . . . . . . . 286, 290 TS.Connect . . . . . . . . . . . . . . . . . .
321
contactsaccepted . . . . . . . . . . . . . . . . . 290 TS.Disconnect . . . . . . . . . . . . . . . .
321
contactsoffered . . . . . . . . . . . . . . . 286, 290 TS.Diverted . . . . . . . . . . . . . . . . . .
322
container times earlier than EDUID create times. . . . 405 TS.Drop . . . . . . . . . . . . . . . . . . .
322
containers . . . . . . . . . . . . . . . . . . . . . 255 TS.Hold. . . . . . . . . . . . . . . . . . . .
323
agent . . . . . . . . . . . . . . . . . . . 272-277 TS.HoldReconnect . . . . . . . . . . . . . .
323
call . . . . . . . . . . . . . . . . . . . . 257-293 TS.IncomingCall. . . . . . . . . . . . . . . .
324
call scenarios . . . . . . . . . . . . . . . . . . 294 TS.Login . . . . . . . . . . . . . . . . . . .
325
abandoned call . . . . . . . . . . . . . . . 298 TS.Logout . . . . . . . . . . . . . . . . . .
325
conference call . . . . . . . . . . . . . . . 307 TS.ObserverConnected . . . . . . . . . . . .
326
consultative cancel . . . . . . . . . . . . . 312 TS.ObserverDropped . . . . . . . . . . . . .
326
restrictions . . . . . . . . . . . . . . . . . 294 TS.Queued . . . . . . . . . . . . . . . . . .
327
route point . . . . . . . . . . . . . . . . . 295 TS.Ready . . . . . . . . . . . . . . . . . . .
327
simple call . . . . . . . . . . . . . . . . . 296 TS.Ring . . . . . . . . . . . . . . . . . . . .
328
transferred call . . . . . . . . . . . . . . . 303 TS.Rona . . . . . . . . . . . . . . . . . . .
328
described . . . . . . . . . . . . . . . . . . . 256 TS.SendData . . . . . . . . . . . . . . . 328, 331
EDU elements . . . . . . . . . . . . . . . . . 258 TS.ServerFailed . . . . . . . . . . . . . . . . 333
implementation . . . . . . . . . . . . . . . . . 293 TS.SessionFailed . . . . . . . . . . . . . . . 333
overvew . . . . . . . . . . . . . . . . . . . . 256 TS.Transfer . . . . . . . . . . . . . . . . . . 334
createtime . . . . . . . . . . . . . . . . 281, 283, 285 TS.Wrapup . . . . . . . . . . . . . . . . . . 334
createtimet . . . . . . . . . . . . . . . 281, 283, 285 events . . . . . . . . . . . . . . . . . . . 39, 44, 47
criticalduration . . . . . . . . . . . . . . . . . . . 283 ewt . . . . . . . . . . . . . . . . . . . . . . . 284
criticalthreshold . . . . . . . . . . . . . . . . . . 283 ewtused . . . . . . . . . . . . . . . . . . . . . 284
customer options example call flow . . . . . . . . . . . . . . . . . . 22
change . . . . . . . . . . . . . . . . . . . . . 81

F
D FAQS
definedagents . . . . . . . . . . . . . . . . . . . 282 SipTS functionality. . . . . . . . . . . . . . . 108
deliver incoming calls . . . . . . . . . . . . . . . 70 FAQs . . . . . . . . . . . . . . . . . . . . . . 108
deliveredahead . . . . . . . . . . . . . . . . . . 286 CM configuration . . . . . . . . . . . . . . . 108
deliveredbehind . . . . . . . . . . . . . . . . . . 287 SES configuration . . . . . . . . . . . . . . . . 110
deliveredcritical . . . . . . . . . . . . . . . . . . 287 frequently asked questions . . . . . . . . . . . . 108
deliveredqueuetime . . . . . . . . . . . . . . . . 286
deliveredtarget . . . . . . . . . . . . . . . . . . . 286
description . . . . . . . . . . . . . . . . . . . . 281 G
dial plan generic call flows
set . . . . . . . . . . . . . . . . . . . . . . . 85 blind transfer . . . . . . . . . . . . . . . . . 368
domain structure . . . . . . . . . . . . . . . . . . 93 busy destination . . . . . . . . . . . . . . . . 367
duration of the current agent state. . . . . . . . . . 278 consultative transfer . . . . . . . . . . . . . . 370
inbound call . . . . . . . . . . . . . . . . . . 365
internal call . . . . . . . . . . . . . . . . . . 371
E outbound call . . . . . . . . . . . . . . . . . 366
EDU containers . . . . . . . . . . . . . . . . . . 260 route call . . . . . . . . . . . . . . . . . . . 364
Advocate qualifiers . . . . . . . . . . . . . . . 262
flow data . . . . . . . . . . . . . . . . . . . . 267
reporting . . . . . . . . . . . . . . . . . . . . 269 H
switch support . . . . . . . . . . . . . . . . . 270 handle incoming calls . . . . . . . . . . . . . . . . 69
EDU elements . . . . . . . . . . . . . . . . . . . 258 handledlasthour . . . . . . . . . . . . . . . . . 291
event descriptions . . . . . . . . . . . . . . . . . 318 handledthishour . . . . . . . . . . . . . . . . . 291
TS.Abandoned . . . . . . . . . . . . . . . . . 318 hold button on an agent phone . . . . . . . . . . 402
TS.AgentOtherWork . . . . . . . . . . . . . . 318 Hold Count . . . . . . . . . . . . . . . . . . . . 269
TS.AuxWork . . . . . . . . . . . . . . . . . . 319

416 Telephony Connectors Programmer Guide March 2012


Hold Time . . . . . . . . . . . . . . . . . . . . . 269
M
I map patterns . . . . . . . . . . . . . .
. . . . . . 90
IC logging . . . . . . . . . . . . . . . . . . . . . 402 media . . . . . . . . . . . . . . . . .
. . . . . 279
id . . . . . . . . . . . . . . . . . . . . . . . . . 279 Method descriptions . . . . . . . . . .
. . . . . 170
Inbound Call . . . . . . . . . . . . . . . . . . . . 365 method descriptions . . . . . . . . . .
. . . . . 170
installation . . . . . . . . . . . . . . . . . . . . . 73 TS.AnswerVDU . . . . . . . . . . .
. . . . . 170
Interaction Center TS.Assign. . . . . . . . . . . . . .
. . . . . 172
add agents . . . . . . . . . . . . . . . . . . . 98 TS.Busy . . . . . . . . . . . . . .
. . . . . 174
Advocate park device . . . . . . . . . . . . . . 94 TS.BusyWithReason . . . . . . . .
. . . . . 175
configuration . . . . . . . . . . . . . . . . . . 93 TS.ConferenceCancelVDU . . . . . .
. . . . . 176
configure call transfer . . . . . . . . . . . . . . 99 TS.ConferenceCompleteVDU . . . .
. . . . . 177
configure SipTS . . . . . . . . . . . . . . . . 94 TS.ConferenceInitExVDU . . . . . .
. . . . . 180
domain structure . . . . . . . . . . . . . . . . 93 TS.ConferenceInitVDU . . . . . . .
. . . . . 178
Internal Call . . . . . . . . . . . . . . . . . . . . 371 TS.CreateQueueADU . . . . . . . .
. . . . . 182
IP codec sets TS.Deassign . . . . . . . . . . . .
. . . . . 183
verify. . . . . . . . . . . . . . . . . . . . . . 87 TS.Divert . . . . . . . . . . . . . .
. . . . . 184
IP connectivity TS.DropVDU . . . . . . . . . . . .
. . . . . 186
verify. . . . . . . . . . . . . . . . . . . . . . 79 TS.GenericUpdate. . . . . . . . . .
. . . . . 188
IP network region TS.GetPBXTime . . . . . . . . . .
. . . . . 189
set . . . . . . . . . . . . . . . . . . . . . . . 79 TS.GetPhoneInfo . . . . . . . . . .
. . . . . 190
IP signaling group TS.GetQueueInfo . . . . . . . . . .
. . . . . 192
add . . . . . . . . . . . . . . . . . . . . . . 82 TS.GetStatus . . . . . . . . . . . .
. . . . . 193
IP trunk group TS.HangupExVDU . . . . . . . . .
. . . . . 195
create . . . . . . . . . . . . . . . . . . . . . 83 TS.HangupVDU . . . . . . . . . . .
. . . . . 194
IVR call flow example . . . . . . . . . . . . . . . 106 TS.HeteroSwitchHandoff . . . . . . .
. . . . . 197
IVR extensions TS.HoldReconnectVDU . . . . . . .
. . . . . 199
configure . . . . . . . . . . . . . . . . . . . . 104 TS.HoldVDU . . . . . . . . . . . .
. . . . . 200
IVR integration . . . . . . . . . . . . . . . . . . . 103 TS.Login . . . . . . . . . . . . . .
. . . . . 201
call flow example . . . . . . . . . . . . . . . . 106 TS.Logout . . . . . . . . . . . . .
. . . . . 203
configure extensions . . . . . . . . . . . . . . 104 TS.LogoutWithReason . . . . . . . .
. . . . . 204
configure IVR scripts . . . . . . . . . . . . . . 105 TS.MakeBusy . . . . . . . . . . . .
. . . . . 205
configure VOX server . . . . . . . . . . . . . . 105 TS.MakeBusyTerminate . . . . . . .
. . . . . 206
configure workflows . . . . . . . . . . . . . . . 105 TS.MakeCallExSetVDU . . . . . . .
. . . . . 209
IVR scripts TS.MakeCallExVDU . . . . . . . . .
. . . . . 213
configure . . . . . . . . . . . . . . . . . . . . 105 TS.MakeCallSetVDU . . . . . . . .
. . . . . 207
TS.MakeCallVDU . . . . . . . . . .
. . . . . . 211
TS.PropertyUpdate . . . . . . . . .
. . . . . 215
K TS.Ready . . . . . . . . . . . . . .
. . . . . 216
TS.ReadyAuto . . . . . . . . . . .
. . . . . 217
key . . . . . . . . . . . . . . . . . . . . . . . . 279 TS.ReceiveData . . . . . . . . . . .
. . . . . 218
TS.ResetPhone . . . . . . . . . . .
. . . . . 219
TS.Rona . . . . . . . . . . . . . .
. . . . . 220
L TS.Route . . . . . . . . . . . . . .
. . . . . 221
lastupdate . . . . . . . . . . . . . . . . . . 281, 285 TS.RouteEx . . . . . . . . . . . . .
. . . . . 223
lastupdatetime . . . . . . . . . . . . . . . . . . . 283 TS.RouteWithInfo . . . . . . . . . .
. . . 225, 227
lastupdatetimet . . . . . . . . . . . . . 281, 284, 286 TS.SendDTMFtonesVDU . . . . . .
. . . 228, 229
link failure . . . . . . . . . . . . . . . . . . 35, 43, 47 TS.SetContactState . . . . . . . 228, 229, 232, 233
loggedinagentcount . . . . . . . . . . . . . . . . 285 TS.StartTimer . . . . . . . . . . . . . . . . . 234
loggedinagents . . . . . . . . . . . . . . . . . . 282 TS.SwapHeld . . . . . . . . . . . . . . . . . 235
logging . . . . . . . . . . . . . . . . . . . . . . 402 TS.TransferCancelVDU . . . . . . . . . . . . 237
login . . . . . . . . . . . . . . . . . . . . . . . 69 TS.TransferCompleteVDU . . . . . . . . . . . 238
lowerthreshold . . . . . . . . . . . . . . . . . . . 282 TS.TransferExVDU . . . . . . . . . . . . . . 245
lrmid_key . . . . . . . . . . . . . . . . . . . . . 281 TS.TransferInitExVDU . . . . . . . . . . . . . 241

Telephony Connectors Programmer Guide March 2012 417


TS.TransferInitVDU . . . . . . . . . . . . . . . 239 offeredlasthour . . . . . . . . . . . . . . . . . . 291
TS.TransferVDU . . . . . . . . . . . . . 243, 245 offeredthishour . . . . . . . . . . . . . . . . . . 291
TS.Unpark . . . . . . . . . . . . . . . . . . . 247 oldest . . . . . . . . . . . . . . . . . . . . . . 291
TS.UnparkEx . . . . . . . . . . . . . . . . . . 249 operations . . . . . . . . . . . . . . . . . . . . 403
TS.WrapUp . . . . . . . . . . . . . . . . . . 251 originate outgoing calls . . . . . . . . . . . . . . . 70
TS.WrapUpComplete . . . . . . . . . . . . . . 252 Outbound Call . . . . . . . . . . . . . . . . . . 366
Methods . . . . . . . . . . . . . . . . . . . . . . 169 outflowed . . . . . . . . . . . . . . . . . . . . 288
methods outflowqueuetime . . . . . . . . . . . . . . . . . 288
obsolete . . . . . . . . . . . . . . . . . . . . 253
minimumagents . . . . . . . . . . . . . . . . . . 279
minutes in first hour . . . . . . . . . . . . . . . . 291 P
MSHS park incoming calls . . . . . . . . . . . . . . . . . 69
advanced properties . . . . . . . . . . . . .
. 167 prerequisites . . . . . . . . . . . . . . . . . . . . 67
bypassing . . . . . . . . . . . . . . . . . .
. 155 MSHS . . . . . . . . . . . . . . . . . . . . 160
call interflow . . . . . . . . . . . . . . . . .
. 158 Multi Site Hetero Switching . . . . . . . . . . . 160
configuration . . . . . . . . . . . . . . . . .
. 159 supported platforms . . . . . . . . . . . . . 67, 124
external API . . . . . . . . . . . . . . . . .
. 159 supported SIP phones . . . . . . . . . . . . . . 68
functional units . . . . . . . . . . . . . . . .
. 150 priority . . . . . . . . . . . . . . . . . . . . . . 279
interconnecting sites . . . . . . . . . . . . .
. 151 protocols, supported . . . . . . . . . . . . . . . . 29
multiple ANIs per site . . . . . . . . . . . . .
. 156 public unknown numbering
network transfer . . . . . . . . . . . . . 149, 154 set . . . . . . . . . . . . . . . . . . . . . . . 82
overview . . . . . . . . . . . . . . . . . . . . 148 put calls on hold . . . . . . . . . . . . . . . . . . 70
prerequisites . . . . . . . . . . . . . . . . . . 160
TS grouping . . . . . . . . . . . . . . . . . . 157
TS groups . . . . . . . . . . . . . . . . . . . 161 Q
Multi Site Hetero Switching
qualifiers . . . . . . . . . . . . . . . . . 281, 284, 285
advanced properties . . . . . . . . . . . . .
. 167
queue ADU fields . . . . . . . . . . . . . . . . . 279
bypassing . . . . . . . . . . . . . . . . . .
. 155
call interflow . . . . . . . . . . . . . . . . .
. 158 Queue Statistics server . . . . . . . . . . . . . . 131
Queue Time . . . . . . . . . . . . . . . . . . . 269
configuration . . . . . . . . . . . . . . . . .
. 159
queue_key . . . . . . . . . . . . . . . . . . . . 279
external API . . . . . . . . . . . . . . . . .
. 159
queueid . . . . . . . . . . . . . . . . . . . . . 279
functional units . . . . . . . . . . . . . . . .
. 150
queuename . . . . . . . . . . . . . . . . . . . 279
destination resolution . . . . . . . . . . .
. 150
interconnecting sites . . . . . . . . . . . . .
. 151
multiple ANIs per site . . . . . . . . . . . . .
. 156
network transfer . . . . . . . . . . . . . 149, 154
R
overview . . . . . . . . . . . . . . . . . . . . 148 recordstatus . . . . . . . . . . . . . . . . . . . 285
prerequisites . . . . . . . . . . . . . . . . . . 160 Ring Time . . . . . . . . . . . . . . . . . . . . 269
TS grouping . . . . . . . . . . . . . . . . . . 157 Rona . . . . . . . . . . . . . . . . . . . . . . . 87
TS groups . . . . . . . . . . . . . . . . . . . 161 RONA calls . . . . . . . . . . . . . . . . . . . . 71
Route Call . . . . . . . . . . . . . . . . . . . . 364
route end . . . . . . . . . . . . . . . . . . . 34, 46
N Route Point UA
description . . . . . . . . . . . . . . . . . . . 19
name . . . . . . . . . . . . . . . . . . . . . . . 281
route request/response . . . . . . . . . . . . . . . 34
Network transfer . . . . . . . . . . . . . . . . . . 149
new agent ADU Fields . . . . . . . . . . . . . . . 279
route request/responses . . . . . . . . . . . . 43, 46
routing pattern
number of contacts abandoned while in queue, ringing, or on
hold . . . . . . . . . . . . . . . . . . . . . . . 277 set . . . . . . . . . . . . . . . . . . . . . . . 87
number of contacts handled . . . . . . . . . . . . 277
number of contacts offered . . . . . . . . . . . . . 277
number of times a contact is placed on hold . . . . . 278 S
SBC
description . . . . . . . . . . . . . . . . . . . 19
O sc . . . . . . . . . . . . . . . . . . . . . . . . 284
obsolete methods . . . . . . . . . . . . . . . . . 253 scgoalid . . . . . . . . . . . . . . . . . . . . . 282

418 Telephony Connectors Programmer Guide March 2012


scid . . . . . . . . . . . . . . . . . . . . . . . . 281
SDP
description . . . . . . . . . . . . . . . . . .
. 19
T
security certificates. . . . . . . . . . . . . . . .
. 75 Talk Time . . . . . . . . . . . . . . . . . . . . 269
description . . . . . . . . . . . . . . . . . .
. 75 TDM
service class record . . . . . . . . . . . . . . .
. 280 description . . . . . . . . . . . . . . . . . . . 20
servicelevel . . . . . . . . . . . . . . . . . 280, 291 Telephony Queue Statistics Server . . . . . . . . 272
servicelevelmiss . . . . . . . . . . . . . . . . . . 291 Telephony server . . . . . . . . . . . . . . . . . . 51
servicelevelper . . . . . . . . . . . . . . . . . . 291 API . . . . . . . . . . . . . . . . . . . . . . 169
SES Aspect CallCenter . . . . . . . . . . . . . . . . 111
description . . . . . . . . . . . . . . . . . . . 20 Avaya Definity . . . . . . . . . . . . . . . . . . 53
SES configuration . . . . . . . . . . . . . . . . . 110 description . . . . . . . . . . . . . . . . . . . 16
SES server . . . . . . . . . . . . . . . . . . . . 88 methods . . . . . . . . . . . . . . . . . . . 169
add phone stations . . . . . . . . . . . . . . . 92 thread fatal error in flow script.. . . . . . . . . . . 405
add route points, B2B, agents . . . . . . . . . . 89 Time Division Multiplexing . . . . . . . . . . . . . . 20
administer route points, B2B, agents . . . . . . . 90 transfer calls . . . . . . . . . . . . . . . . . . . . 71
configuration . . . . . . . . . . . . . . . . . . 88 troubleshooting
configure conferencing . . . . . . . . . . . . . 103 Avaya Agent does not respond . . . . . . . . . 398
map patterns . . . . . . . . . . . . . . . . . . 90 calls cannot be answered on the hardphone. . . 399
Session Border Controller . . . . . . . . . . . . . 19 calls dropped using IVR . . . . . . . . . . . . 399
Session Description Protocol . . . . . . . . . . . . 19 calls not delivered to agents . . . . . . . . . . 400
Session Internet Protocol . . . . . . . . . . . . . . 20 CM configuration . . . . . . . . . . . . . . . 108
SIP FAQS . . . . . . . . . . . . . . . . . . . . 108
description . . . . . . . . . . . . . . . . . .
. 20 hold button on an agent phone . . . . . . . . . 402
SIP trunk . . . . . . . . . . . . . . . . . . . .
. 20 logging . . . . . . . . . . . . . . . . . . . . 402
SIP trunking . . . . . . . . . . . . . . . . . . .
. 20 SES configuration . . . . . . . . . . . . . . . . 110
SipTS . . . . . . . . . . . . . . . . . . . . . .
. 20 SipTS functionality. . . . . . . . . . . . . . . 108
domain structure . . . . . . . . . . . . . . .
. 93 verify connectivity between SES and CM . . . . 400
SipTS functionality . . . . . . . . . . . . . . . .
. 108 TS assignment . . . . . . . . . . . . . . . 35, 44, 47
site . . . . . . . . . . . . . . . . . . . . . . .
. 280 TS.Abandoned . . . . . . . . . . . . . . . . . . 318
site key . . . . . . . . . . . . . . . . . . . . .
. 280 TS.AgentOtherWork . . . . . . . . . . . . . . . 318
specificabandoned . . . . . . . . . . . . . . . .
. 289 TS.AnswerVDU . . . . . . . . . . . . . . . . . 170
specificabandonedqtime . . . . . . . . . . . . .
. 289 TS.Assign . . . . . . . . . . . . . . . . . . . . 172
specificcount . . . . . . . . . . . . . . . . . .
. 288 TS.AuxWork . . . . . . . . . . . . . . . . . . . 319
specificdelivered . . . . . . . . . . . . . . . . .
. 289 TS.Busy . . . . . . . . . . . . . . . . . . . . . 319
specificdeliveredqtime . . . . . . . . . . . . . .
. 289 TS.BusyWithReason . . . . . . . . . . . . . . . 175
specificoffered . . . . . . . . . . . . . . . . . .
. 288 TS.Conference . . . . . . . . . . . . . . . . . . 320
state . . . . . . . . . . . . . . . . . . . . 282, 284 TS.ConferenceCancelVDU . . . . . . . . . . . . 176
supported platforms . . . . . . . . . . . . . . 67, 124 TS.ConferenceCompleteVDU . . . . . . . . . . . 177
supported protocols . . . . . . . . . . . . . . . . 29 TS.ConferenceInitVDU . . . . . . . . . . . . . . 178
supported SIP phones . . . . . . . . . . . . . . . 68 TS.Connect . . . . . . . . . . . . . . . . . . . 321
supported switch functions TS.CreateQueueADU . . . . . . . . . . . . . . . 182
Aspect CallCenter . . . . . . . . . . . . . . . 386 TS.Deassign . . . . . . . . . . . . . . . . . . . 183
Avaya Definity . . . . . . . . . . . . . . . . . 374 TS.Disconnect . . . . . . . . . . . . . . . . . . 321
supported switches . . . . . . . . . . . . . . . . 29 TS.Divert. . . . . . . . . . . . . . . . . . . . . 184
supported switches and protocols . . . . . . . . . . 29 TS.Diverted . . . . . . . . . . . . . . . . . . . 322
switch features TS.Drop . . . . . . . . . . . . . . . . . . . . . 322
normalizing limitations. . . . . . . . . . . . . . 390 TS.DropVDU . . . . . . . . . . . . . . . . . . . 186
switch support TS.GenericUpdate . . . . . . . . . . . . . . . . 188
ADU containers . . . . . . . . . . . . . . . . . 276 TS.GetPBXTime . . . . . . . . . . . . . . . . . 189
EDU containers . . . . . . . . . . . . . . . . . 270 TS.GetPhoneInfo . . . . . . . . . . . . . . . . . 190
switches, supported . . . . . . . . . . . . . . . . 29 TS.GetQueueInfo . . . . . . . . . . . . . . . . . 192
system parameters TS.GetStatus . . . . . . . . . . . . . . . . . . . 193
change . . . . . . . . . . . . . . . . . . . . . 81 TS.HangupExVDU . . . . . . . . . . . . . . . . 195
TS.HangupVDU . . . . . . . . . . . . . . . . . 194

Telephony Connectors Programmer Guide March 2012 419


TS.HeteroSwitchHandoff . . . . . . . .
. . . . . . 197 description . . . . . . . . . . . . . . . . . . . 20
TS.Hold . . . . . . . . . . . . . . . .
. . . . . . 323 UAS
TS.HoldReconnect . . . . . . . . . . .
. . . . . . 323 description . . . . . . . . . . . . . . . . . . . 20
TS.HoldReconnectVDU . . . . . . . .
. . . . . . 199 Uniform Resource Identifier . . . . . . . . . . . . . 21
TS.HoldVDU. . . . . . . . . . . . . .
. . . . . . 200 updatetime . . . . . . . . . . . . . . . . . . . . 291
TS.IncomingCall . . . . . . . . . . . .
. . . . . . 324 upperthreshold . . . . . . . . . . . . . . . . . . 282
TS.Login . . . . . . . . . . . . . . .
. . . 201, 325 URI
TS.Logout . . . . . . . . . . . . . . .
. . . 203, 325 description . . . . . . . . . . . . . . . . . . . 21
TS.LogoutWithReason . . . . . . . . .
. . . . . . 204 User Agent Client . . . . . . . . . . . . . . . . . . 20
TS.MakeBusy . . . . . . . . . . . . .
. . . . . . 205 User Agent Server . . . . . . . . . . . . . . . . . 20
TS.MakeBusyTerminate . . . . . . . .
. . . . . . 206 user Interface or external API . . . . . . . . . . . 159
TS.MakeCallExSetVDU . . . . . . . .
. . . . . . 209 UUI container information . . . . . . . . . . . . . 408
TS.MakeCallExVDU . . . . . . . . . .
. . . . . . 213
TS.MakeCallSetVDU . . . . . . . . . .
. . . . . . 207
TS.MakeCallVDU . . . . . . . . . . .
. . . . . . 211 V
TS.ObserverConnect . . . . . . . . . .
. . . . . . 326 vectors . . . . . . . . . . . . . . . . . . . . . . . 34
TS.ObserverDropped . . . . . . . . .
. . . . . . 326 video
TS.PropertyUpdate . . . . . . . . . .
. . . . . . 215 call flow . . . . . . . . . . . . . . . . . . . . . 43
TS.Queued . . . . . . . . . . . . . .
. . . . . . 327 video call flow . . . . . . . . . . . . . . . . . . . 43
TS.Ready . . . . . . . . . . . . . . .
. . . 216, 327 voice
TS.ReadyAuto . . . . . . . . . . . . .
. . . . . . 217 call flow . . . . . . . . . . . . . . . . . . . . . 42
TS.ReceiveData . . . . . . . . . . . .
. . . . . . 218 voice call flow . . . . . . . . . . . . . . . . . . . 42
TS.ResetPhone . . . . . . . . . . . .
. . . . . . 219 voice connector server
TS.Ring . . . . . . . . . . . . . . . .
. . . . . . 328 example call flow . . . . . . . . . . . . . . . . 22
TS.Rona . . . . . . . . . . . . . . .
. . . 220, 328 voice connector server, described . . . . . . . . . . 16
TS.Route . . . . . . . . . . . . . . .
. . . . . . 221 voice contact containers . . . . . . . . . . . . . 257
TS.RouteWithInfo . . . . . . . . . . .
. . . 225, 227 VOX server
TS.SendData . . . . . . . . . . . . .
. . . 328, 331 configure . . . . . . . . . . . . . . . . . . . 105
TS.SendDTMFTonesVDU . . . . . . .
. . . . . . 231
TS.ServerFailed . . . . . . . . . . . .
. . . . . . 333
TS.SessionFailed . . . . . . . . . . .
. . . . . . 333 W
TS.SetContactState . . . . . . . . 228, 229, 232, 233
wat . . . . . . . . . . . . . . . . . . . . . . . 284
TS.StartTimer . . . . . . . . . . . . . . . . . . . 234
TS.SwapHeld . . . . . . . . . . . . . . . . . . . 235 What is the Telephony Connector? . . . . . . . . . 16
workflow assignments
TS.Transfer . . . . . . . . . . . . . . . . . . . . 334
configure . . . . . . . . . . . . . . . . . . . 105
TS.TransferCancelVDU . . . . . . . . . . . . . . 237
Wrapup duration not reported . . . . . . . . . . . . 411
TS.TransferCompleteVDU . . . . . . . . . . . . . 238
TS.TransferExVDU . . . . . . . . . . . . . . . . 245
TS.TransferInitVDU . . . . . . . . . . . . . 239, 241
TS.TransferVDU . . . . . . . . . . . . . . . . . . 243
TS.Unpark . . . . . . . . . . . . . . . . . . 247, 249
TS.WrapUp . . . . . . . . . . . . . . . . . . . . 251
TS.Wrapup . . . . . . . . . . . . . . . . . . . . 334
TS.WrapUpComplete . . . . . . . . . . . . . . . 252
TSQS . . . . . . . . . . . . . . . . . . . . 131, 272
Aspect CallCenter . . . . . . . . . . . . . . . 136
Avaya Definity . . . . . . . . . . . . . . . . . 133
description . . . . . . . . . . . . . . . . . . . 16
TSQS Considerations . . . . . . . . . . . . . . . 141
ttlqueuetime . . . . . . . . . . . . . . . . . . . . 291
type . . . . . . . . . . . . . . . . 280, 281, 283, 285

U
UAC

420 Telephony Connectors Programmer Guide March 2012

You might also like