Corporate Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 526-4100
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION
PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO
LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as
part of UCB’s public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE
PROVIDED “AS IS” WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED
OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL
DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR
INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
CCSP, the Cisco Square Bridge logo, Follow Me Browsing, and StackWise are trademarks of Cisco Systems, Inc.; Changing the Way We Work,
Live, Play, and Learn, and iQuick Study are service marks of Cisco Systems, Inc.; and Access Registrar, Aironet, ASIST, BPX, Catalyst, CCDA,
CCDP, CCIE, CCIP, CCNA, CCNP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems
Capital, the Cisco Systems logo, Cisco Unity, Empowering the Internet Generation, Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast
Step, FormShare, GigaDrive, GigaStack, HomeLink, Internet Quotient, IOS, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard,
LightStream, Linksys, MeetingPlace, MGX, the Networkers logo, Networking Academy, Network Registrar, Packet, PIX, Post-Routing,
Pre-Routing, ProConnect, RateMUX, ScriptShare, SlideCast, SMARTnet, StrataView Plus, SwitchProbe, TeleRouter, The Fastest Way to Increase
Your Internet Quotient, TransPath, and VCO are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain
other countries.
All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply
a partnership relationship between Cisco and any other company. (0501R)
L- 7 2 4 2 - 0 2
Preface xxxi
Introduction xxxii
Purpose xxxii
Audience xxxii
New and Changed Information xxxiii
Cisco CallManager 4.1(3) xxxiii
Windows 2003 Support xxxiii
Auto Call Pickup xxxiii
Caveats xxxiv
Cisco CallManager Release 4.1(2) xxxv
Caveats for Cisco CallManager Release 4.1(2) xxxv
Cisco CallManager Release 4.0(1) xxxvii
Caveats xxxix
Cisco CallManager Release 3.3 xxxix
Cisco CallManager Release 3.2 xl
Cisco CallManager Release 3.1 xli
Organization xli
Related Documentation xlii
Required Software xlii
Conventions xliii
Obtaining Documentation xliv
Cisco.com xliv
Overview 1-1
Cisco JTAPI 1-3
CiscoObjectContainer 1-4
JtapiPeer and Provider 1-4
Initialization 1-5
Shutdown 1-5
Provider.getTerminals() 1-6
Provider.getAddresses() 1-6
Changes to the User Control List in the Directory 1-6
Addresses and Terminals 1-7
Address and Terminal Relationship 1-8
Unobserved Addresses and Terminals 1-8
Connection 1-9
TerminalConnection 1-9
CiscoConnectionID 1-9
CiscoCallID 1-9
Threaded CallBacks 1-9
CiscoTransferStartEv 1-20
CiscoTransferEndEv 1-20
Transfer Scenarios 1-20
Conference 1-23
Cisco Extensions 1-24
Conference Scenarios 1-25
Conference Events 1-26
Transfer and Conference Enhancement 1-27
Consult Without Media 1-27
Media Termination Extensions 1-28
Cisco CallManager Media Endpoint Model 1-29
Payload and Parameter Negotiation 1-29
Initialization 1-30
Payload Selection 1-30
Receive Channel Allocation 1-31
Starting Transmission and Reception 1-31
Stopping Transmission and Reception 1-32
CiscoMediaTerminal 1-32
Provisioning 1-32
Registration 1-33
Adding Observers 1-35
Accepting Calls 1-36
Receiving and Responding to Media Flow Events 1-36
Inbound Call Media Flow Event Diagram 1-37
Cisco IP Telephony Solutions RTP Implementation 1-38
Redirect 1-38
Routing 1-40
Methods 2-18
CiscoAddressCallInfo 2-23
Declaration 2-23
Constructors 2-23
Methods 2-24
CiscoAddressObserver 2-24
Declaration 2-24
All Superinterfaces 2-24
Description 2-25
CiscoAddrEv 2-25
Declaration 2-25
All Superinterfaces 2-25
All Known Subinterfaces 2-25
Description 2-26
CiscoAddrInServiceEv 2-26
Declaration 2-26
All Superinterfaces 2-27
Description 2-27
Fields 2-28
Methods 2-28
CiscoAddrOutOfServiceEv 2-28
Declaration 2-28
All Superinterfaces 2-29
Description 2-29
Fields 2-30
Methods 2-30
CiscoAddrRemovedEv 2-30
Declaration 2-30
Declaration 2-58
All Superinterfaces 2-58
Description 2-58
Methods 2-59
CiscoConferenceEndEv 2-60
Declaration 2-60
All Superinterfaces 2-60
Description 2-60
Fields 2-63
Methods 2-63
CiscoConferenceStartEv 2-65
Declaration 2-65
All Superinterfaces 2-65
Description 2-65
Fields 2-67
Methods 2-67
CiscoConnection 2-69
Declaration 2-69
All Superinterfaces 2-69
Description 2-69
Fields 2-72
Methods 2-74
CiscoConnectionID 2-81
Declaration 2-81
All Superinterfaces 2-82
Description 2-82
Methods 2-82
CiscoConsultCall 2-83
Declaration 2-83
Constructors 2-98
CiscoGSMMediaCapability 2-99
Declaration 2-99
Description 2-99
Fields 2-100
Constructors 2-100
CiscoJtapiException 2-101
Declaration 2-101
Description 2-101
Fields 2-105
Methods 2-118
CiscoJtapiPeer 2-119
Declaration 2-119
All Superinterfaces 2-119
Description 2-120
Methods 2-121
CiscoJtapiProperties 2-121
Declaration 2-121
Description 2-121
Methods 2-126
CiscoJtapi Version 2-133
Declaration 2-133
Description 2-133
Constructors 2-134
Methods 2-134
CiscoMediaCapability 2-136
Declaration 2-136
CiscoProviderCapabilities 2-170
Declaration 2-170
All Superinterfaces 2-170
Description 2-170
Methods 2-171
CiscoProviderObserver 2-171
Declaration 2-171
All Superinterfaces 2-171
Description 2-171
CiscoRegistrationException 2-172
Declaration 2-172
All Implemented Interfaces 2-172
Description 2-172
Constructors 2-173
CiscoRouteAddress 2-173
Declaration 2-173
All Superinterfaces 2-173
Methods 2-174
CiscoRouteSession 2-175
Declaration 2-175
All Superinterfaces 2-175
Description 2-175
Fields 2-177
Methods 2-178
CiscoRouteTerminal 2-181
Declaration 2-181
All Superinterfaces 2-181
Description 2-182
Fields 2-184
Methods 2-185
CiscoRouteUsedEvent 2-187
Declaration 2-187
All Superinterfaces 2-187
Description 2-188
Methods 2-188
CiscoRTPBitRate 2-189
Declaration 2-189
Description 2-189
Fields 2-190
CiscoRTPHandle 2-190
Declaration 2-190
Description 2-190
Methods 2-191
CiscoRTPInputProperties 2-191
Declaration 2-191
Description 2-191
Methods 2-192
CiscoRTPInputStartedEv 2-194
Declaration 2-194
All Superinterfaces 2-194
Description 2-194
Fields 2-195
Methods 2-195
CiscoRTPInputStoppedEv 2-195
Declaration 2-195
All Superinterfaces 2-196
Description 2-196
Fields 2-196
Methods 2-197
CiscoRTPOutputProperties 2-197
Declaration 2-197
Description 2-197
Methods 2-198
CiscoRTPOutputStartedEv 2-200
Declaration 2-200
All Superinterfaces 2-200
Description 2-200
Fields 2-201
Methods 2-201
CiscoRTPOutputStoppedEv 2-202
Declaration 2-202
All Superinterfaces 2-202
Description 2-202
Fields 2-203
Methods 2-203
CiscoRTPParams 2-204
Declaration 2-204
Constructors 2-204
Methods 2-205
CiscoRTPPayload 2-205
Declaration 2-205
Description 2-205
Fields 2-207
CiscoSynchronousObserver 2-209
Declaration 2-209
Description 2-210
CiscoTermButtonPressedEv 2-211
Declaration 2-211
All Superinterfaces 2-211
Description 2-211
Fields 2-212
Methods 2-214
CiscoTermConnPrivacyChangedEv 2-214
Declaration 2-214
Description 2-214
Fields 2-215
Methods 2-215
CiscoTermCreatedEv 2-215
Declaration 2-215
All Superinterfaces 2-215
Description 2-215
Fields 2-216
Methods 2-216
CiscoTermDataEv 2-217
Declaration 2-217
All Superinterfaces 2-217
Description 2-217
Fields 2-218
Methods 2-218
CiscoTermDeviceStateActiveEv 2-218
Declaration 2-218
All Super-Interfaces 2-219
Description 2-219
Methods 2-220
CiscoTermDeviceStateAlertingEv 2-220
Declaration 2-220
All Super-Interfaces 2-221
Description 2-221
Methods 2-222
CiscoTermDeviceStateHeldEv 2-222
Declaration 2-222
All Super-Interfaces 2-223
Description 2-223
Methods 2-224
CiscoTermDeviceStateIdleEv 2-224
Declaration 2-224
All Superinterfaces 2-225
Description 2-225
Methods 2-226
CiscoTermEv 2-227
Declaration 2-227
All Superinterfaces 2-227
All Known Subinterfaces 2-227
Description 2-227
CiscoTermEvFilter 2-228
Declaration 2-228
Description 2-228
Methods 2-229
CiscoTerminal 2-230
Declaration 2-230
All Superinterfaces 2-230
All Known Subinterfaces 2-231
Description 2-231
Fields 2-232
Methods 2-233
CiscoTerminalConnection 2-237
Declaration 2-237
All Superinterfaces 2-237
Description 2-237
Methods 2-238
CiscoTerminalObserver 2-239
Declaration 2-239
All Superinterfaces: 2-239
Description 2-239
CiscoTermInServiceEv 2-240
Declaration 2-240
All Superinterfaces 2-240
Description 2-240
Fields 2-241
CiscoTermOutOfServiceEv 2-241
Declaration 2-241
All Superinterfaces 2-241
Description 2-242
Fields 2-242
CiscoTermRegistrationFailedEv 2-243
Declaration 2-243
All Superinterfaces 2-243
Description 2-243
Fields 2-245
Methods 2-246
CiscoTermRemovedEv 2-246
Declaration 2-246
All Superinterfaces 2-247
Description 2-247
Fields 2-248
Methods 2-248
CiscoToneChangedEv 2-248
Declaration 2-248
All Superinterfaces 2-248
Description 2-248
Fields 2-250
Methods 2-251
CiscoTransferEndEv 2-251
Declaration 2-251
All Superinterfaces 2-251
Description 2-251
Fields 2-254
Methods 2-254
CiscoTransferStartEv 2-255
Declaration 2-255
All Superinterfaces 2-255
Description 2-255
Fields 2-257
Methods 2-257
CiscoUnregistrationException 2-258
Declaration 2-258
All Implemented Interfaces 2-258
Description 2-259
Constructors 2-259
CiscoWideBandMediaCapability 2-260
Description 2-260
Fields 2-261
Constructors 2-261
Class com.cisco.services.alarm 2-262
Alarm 2-262
Declaration 2-262
All Known Implementing Classes 2-262
Description 2-263
Fields 2-265
Methods 2-267
AlarmManager 2-268
Declaration 2-268
Description 2-268
Constructors 2-270
Methods 2-270
AlarmWriter 2-271
Declaration 2-271
All Known Implementing Classes 2-271
Description 2-271
Methods 2-272
DefaultAlarm 2-273
Declaration 2-273
All Implemented Interfaces 2-273
Description 2-273
Constructors 2-274
Methods 2-274
DefaultAlarmWriter 2-276
Declaration 2-276
Declaration 2-294
All Implemented Interfaces 2-294
Description 2-294
Fields 2-297
Constructors 2-298
Methods 2-299
OutputStreamTraceWriter 2-302
Declaration 2-302
All Implemented Interfaces 2-302
Description 2-302
Constructors 2-303
Methods 2-303
SyslogTraceWriter 2-304
Declaration 2-304
All Implemented Interfaces 2-305
Description 2-305
Constructors 2-306
Methods 2-307
Trace 2-307
Declaration 2-307
All Known Subinterfaces 2-307
Description 2-308
Fields 2-310
Methods 2-313
TraceManager 2-315
Declaration 2-315
Description 2-316
Methods 2-318
TraceManagerFactory 2-321
Declaration 2-321
Description 2-321
Methods 2-322
TraceModule 2-323
Declaration 2-323
All Known Subinterfaces 2-323
Description 2-323
Methods 2-323
TraceWriter 2-324
Declaration 2-324
All Known Subinterfaces 2-324
All Known Implementing Classes 2-324
Description 2-324
Methods 2-325
TraceWriterManager 2-327
Declaration 2-327
All Superinterfaces 2-327
Description 2-327
Methods 2-328
UnconditionalTrace 2-329
Declaration 2-329
All Superinterfaces 2-329
Description 2-329
StopSignal.java 3-16
Trace.java 3-17
TraceWindow.java 3-18
Running makecall 3-21
INDEX
Introduction
Java Telephony Application Programming Interface (JTAPI) acts as a portable,
object-oriented API for computer telephony integrated call control. The package
of JTAPI interfaces, located in the javax.telephony.* hierarchy, defines a
programming model by which Java applications interact with telephony resources
such as PBXs and telephones. The Cisco JTAPI implementation supports Java
application access to Cisco Architecture for Voice, Video and Integrated Data
(AVVID) communication systems according to the JTAPI v 1.2 specification.
Furthermore, Cisco JTAPI exposes Cisco-specific events and methods for certain
telephony resources such as calls and connections.
Purpose
Providing an unchanging programming interface under which varied
implementations may stand represents one of the primary goals of a standard
Application Programming Interface (API) such as JTAPI. In implementing JTAPI
for the Cisco CallManager platform, Cisco tries to conform as closely as possible
to the JTAPI specification while providing extensions that enhance JTAPI and
expose the advanced features of Cisco CallManager to applications.
As new versions of Cisco CallManager and the Cisco JTAPI implementation are
released, variances in the API should be very minor and should tend in the
direction of compliance. Cisco remains committed to maintaining its API
extensions with the same stability and reliability, though additional extensions
may be provided as new Cisco CallManager features become available.
This document outlines some basic JTAPI concepts including transfer and
conference extensions. It also describes the support of extensions to the Sun
JTAPI v 1.2 specification.
Audience
This document applies for telephony software developers who are developing
Cisco IP Telephony applications that require JTAPI. This document assumes that
the programmer is familiar with both the Java language and the Sun JTAPI v 1.2
specification.
When C picks up the call, the application at A receives the following call
information:
• call.getCalledAddress()=B
• call.getCurrentCallingAddress=A
• call.getCurrentCalledAddress=C
• call.getLastRedirectedAddress()=B
When C picks up the call, the application at A receives the following call
information:
• call.getCalledAddress()=C
• call.getCurrentCallingAddress=A
• call.getCurrentCalledAddress=C
• call.getLastRedirectedAddress()=B
Caveats
The following caveat applies to Cisco JTAPI 4.1.
Call processing requires previous calls on the device to be in connected call state
before it answers another calls on the same device. If call processing answers calls
without checking for the call state of previous calls on the same device, then CTI
might return a successful answer response but the call will not go to connected
state and needs to be answered again.
FAC-CMC
Forwarding should not be configured to a DN that requires an FAC or CMC code.
Forwarding requests will be successful, but calls will not be forwarded to these
DNs and will be rejected.
The application should always terminate the code with “#”; otherwise, the system
waits for the T302 timer before extending the call. For these cases, the application
could get the postConditionTimeOut exception for call.connect() or call.consult(),
but the call may actually be offered. If applications need to avoid this, either all
the digits with a # terminated string are entered with post-condition timeout
(which is by default equals 15 seconds in the JTAPI Prefs UI) in the
PlatformException or increase the postcondition timeout.
setConferenceController
According to the design, the party who starts the conference and adds a new party
acts as original conference controller. Changing the conference controller while
conference is going on does not take effect (no error gets thrown in
“setConferenceController” API). Only original conference controller can add a
new party into the conference. Even if the original conference controller has
dropped out of the conference, no other party in that particular conference can add
a new party.
Consider the following scenario as an example:
Scenario: A, B, C, and D belong to a conference call and all are in TALKING
state. A acts as the conference controller. A uses the SetConferenceController API
to change the conference controller to B and then drops out of the conference.
Now, B tries to add a new party E into the conference but is cannot do so. This is
happens per the design.
Caveats
The following caveat applies to Cisco CallManager 4.0.
Transferring to a Conference
Organization
The following table provides an outline of this document’s organization.
Chapter Description
Chapter 1, “Overview” This chapter introduces the major concepts with
which you need to be familiar before creating JTAPI
applications for Cisco IP Telephony Solutions.
Chapter 2, “Cisco JTAPI This chapter describes the interfaces and classes that
Implementation” are available.
Chapter Description
Chapter 3, “JTAPI This chapter provides the source code for makecall,
Examples” which is the Cisco JTAPI program that is used to test
the JTAPI installation.
Appendix A, “Message This appendix contains message flow diagrams.
Sequence Charts”
Appendix B, This appendix contains a listing of all the classes and
“Cisco JTAPI Classes interfaces that are available in the Cisco JTAPI im-
and Interfaces” plementation for Cisco CallManager.
Appendix C, “Trouble- This appendix contains CTI Error Codes, CiscoEv-
shooting CiscoJTAPI” ent IDs, and other information to assist with trouble-
shooting efforts.
Related Documentation
To obtain the latest version of the complete Sun Microsystems JTAPI
specification files, go directly to the following web site:
• http://java.sun.com/products/jtapi
Required Software
The following table lists software requirements for the following applications:
JTAPI applications, JTPREFS, and sample code.
.
Conventions
This document uses the following conventions:
Convention Description
boldface font Commands and keywords are in boldface.
italic font Arguments for which you supply values are in italics.
[ ] Elements in square brackets are optional.
{x|y|z} Alternative keywords are grouped in braces and separated by
vertical bars.
[x|y|z] Optional alternative keywords are grouped in brackets and
separated by vertical bars.
string A nonquoted set of characters. Do not use quotation marks
around the string or the string will include the quotation marks.
screen font Terminal sessions and information the system displays are in
screenfont.
boldface Information you must enter is in boldface screen font.
screen font
italic screen Arguments for which you supply values are in italic screen
font font.
This pointer highlights an important line of text in an example.
^ The symbol ^ represents the key labeled Control—for example,
the key combination ^D in a screen display means hold down
the Control key while you press the D key.
< > Nonprinting characters, such as passwords are in angle
brackets.
Note Means reader take note. Notes contain helpful suggestions or references to
material not covered in the publication.
Obtaining Documentation
Cisco documentation and additional literature are available on Cisco.com. Cisco
also provides several ways to obtain technical assistance and other technical
resources. These sections explain how to obtain technical information from Cisco
Systems.
Cisco.com
You can access the most current Cisco documentation at this URL:
http://www.cisco.com/univercd/home/home.htm
You can access the Cisco website at this URL:
http://www.cisco.com
You can access international Cisco websites at this URL:
http://www.cisco.com/public/countries_languages.shtml
Documentation DVD
Cisco documentation and additional literature are available in a Documentation
DVD package, which may have shipped with your product. The Documentation
DVD is updated regularly and may be more current than printed documentation.
The Documentation DVD package is available as a single unit.
Registered Cisco.com users (Cisco direct customers) can order a Cisco
Documentation DVD (product number DOC-DOCDVD=) from the Ordering tool
or Cisco Marketplace.
Cisco Ordering tool:
http://www.cisco.com/en/US/partner/ordering/
Cisco Marketplace:
http://www.cisco.com/go/marketplace/
Ordering Documentation
You can find instructions for ordering documentation at this URL:
http://www.cisco.com/univercd/cc/td/doc/es_inpck/pdi.htm
You can order Cisco documentation in these ways:
• Registered Cisco.com users (Cisco direct customers) can order Cisco product
documentation from the Ordering tool:
http://www.cisco.com/en/US/partner/ordering/
• Nonregistered Cisco.com users can order documentation through a local
account representative by calling Cisco Systems Corporate Headquarters
(California, USA) at 408 526-7208 or, elsewhere in North America, by
calling 1 800 553-NETS (6387).
Documentation Feedback
You can send comments about technical documentation to bug-doc@cisco.com.
You can submit comments by using the response card (if present) behind the front
cover of your document or by writing to the following address:
Cisco Systems
Attn: Customer Document Ordering
170 West Tasman Drive
San Jose, CA 95134-9883
We appreciate your comments.
Tip We encourage you to use Pretty Good Privacy (PGP) or a compatible product to
encrypt any sensitive information that you send to Cisco. PSIRT can work from
encrypted information that is compatible with PGP versions 2.x through 8.x.
Never use a revoked or an expired encryption key. The correct public key to use
in your correspondence with PSIRT is the one that has the most recent creation
date in this public key server list:
http://pgp.mit.edu:11371/pks/lookup?search=psirt%40cisco.com&op=index&ex
act=on
Note Use the Cisco Product Identification (CPI) tool to locate your product serial
number before submitting a web or phone request for service. You can access the
CPI tool from the Cisco Technical Support Website by clicking the Tools &
Resources link under Documentation & Tools. Choose Cisco Product
Identification Tool from the Alphabetical Index drop-down list, or click the
Cisco Product Identification Tool link under Alerts & RMAs. The CPI tool
offers three search options: by product ID or model name; by tree view; or for
certain products, by copying and pasting show command output. Search results
show an illustration of your product with the serial number label location
highlighted. Locate the serial number label on your product and record the
information before placing a service call.
This chapter introduces the major concepts with which you need to be familiar
before creating JTAPI applications for Cisco IP Telephony Solutions. The chapter
covers the following concepts:
• Cisco JTAPI
• CiscoObjectContainer
• JtapiPeer and Provider
• Addresses and Terminals
• Threaded CallBacks
• Alarm Services
• Application Control of JTAPI Parameters
• Supported Device Types
• Call Forward Setting
• Call Park
• CiscoJtapiExceptions
• Device Recovery
• Directory Change Notification
• Transfer and Conference Extensions
• Media Termination Extensions
• Redirect
• Routing
• Redundancy
• Display Name Interface
• SetMessageWaiting Interface
• Quite Clear
• GetCallInfo Interface on Address
• DeleteCall Interface
• GetGlobalCallID
• GetCallID in RTP Events
• XSI Object Pass Through
• VG248 and ATA 186 Analog Phone Gateways
• Multiple Calls Per DN
• Shared Line Support
• Transfer and DirectTransfer
• Conference and Join
• Barge and Privacy Event Notification
• CallSelect and UnSelect Event Notification
• Dynamic CTIPort Registration Per Call
• Media Termination at Route Point
• Redirect Set Original Called ID
• Single Step Transfer
• Auto Update of API
• CiscoTerminal Filter and ButtonPressedEvents
• Modifying Calling Number
• AutoAccept Support for CTIPort and RoutePoint
• CiscoTermRegistrationFailed Event
• SelectRoute Interface Enhancement
• Presentation Indicator (PI) for the Call
• Device State Server
Cisco JTAPI
An abstract telephony model, Java Telephony application Programming Interface
(JTAPI), can uniformly represent the characteristics of a wide variety of
telecommunication systems. Because JTAPI is defined without direct reference to
any particular telephony hardware or software, JTAPI offers a well suited method
for the task of controlling or observing nearly any telephone system. For instance,
a computer program that makes telephone calls by using an implementation of
JTAPI for modems might work without modification by using the Cisco JTAPI
implementation.
As powerful as an abstraction may be in theory, in practice, programmers often
need to know the details of how the JTAPI model represents the underlying
components of a particular telephony system. A modem represents a very simple
telephony device with limited features. In contrast, the Cisco IP Telephony
Solutions product family offers its users a comprehensive list of features and
configuration capabilities. Programmers can best leverage the rich features of
Cisco IP Telephony Solutions systems by understanding how it fits into the
Cisco JTAPI model.
The following sections outline the deviations, if any, from the JTAPI v 1.2
specification or the specifics of the Cisco JTAPI implementation. Cisco JTAPI
also provides extensions to the JTAPI v 1.2 specification. These extensions offer
additional functionality to the Cisco implementation that is not defined in the
specification. The com.cisco.jtapi.extensions package includes the classes and
interfaces for the extensions, and Chapter 2, “Cisco JTAPI Extensions,” explains
them in detail.
CiscoObjectContainer
The CiscoObjectContainer interface allows applications to associate an
application defined object to objects that implement this interface. In
Cisco JTAPI, the following interfaces extend the CiscoObjectContainer interface:
• CiscoJTAPIPeer
• CiscoProvider
• CiscoCall
• CiscoAddress
• CiscoTerminal
• CiscoConnection
• CiscoTerminalConnection
• CiscoConnectionID
• CiscoCallID
Initialization
The JtapiPeer.getProvider() method returns a Provider object as soon as the TCP
link, the initial handshake with the Cisco CallManager, and device list
enumeration are complete. The provider now exists in the OUT_OF_SERVICE
state. Cisco JTAPI applications must wait for the provider to go to the
IN_SERVICE state before the controlled device list is valid. A ProvInServiceEv
event gets delivered to an object that is implementing the ProviderObserver
interface. Upon an orderly Cisco CallManager shutdown.
Shutdown
When an application calls provider.shutdown(), JTAPI loses communications
permanently with the Cisco CallManager, and a ProvShutdownEv event gets
delivered to the application. The application can assume that the Provider will not
come up again and the application must handle a complete shutdown.
Provider.getTerminals()
This method returns an array of terminals that are created for the devices that are
administered in the user control list in the directory. Refer to the
Cisco CallManager Administration Guide to administer the user control list.
Provider.getAddresses()
This method returns an array of addresses that are created from the lines that are
assigned to the devices that are administered in the user control list in the
directory.
Note Implementing only the observers does not do enough; the observers must
also get added by address.addObserver(..) and, similarly, for the terminal
by the terminal.addObserver(..) method.
Note The maximum number of lines supported for route points is 34.
"Peter" "Mary"
5000 5001
5001
"Paul"
5002
33324
Terminals
33226
"Peter" "Mary" "Paul"
Connection
Connections retain their references to calls and addresses forever. So, a
connection reference that is obtained from a call event can always be used to
obtain the connection call (getCall()) and address (getAddress()).
TerminalConnection
TerminalConnections always retain their references to terminals and connections.
So, a terminal connection reference that is obtained from a call event can always
be used to obtain the terminal connection terminal (getTerminal()) and connection
(getConnection()).
CiscoConnectionID
The CiscoConnectionID object represents a unique object that is associated with
each connection in Cisco JTAPI. Applications may use the object itself or the
integer representation of the object.
CiscoCallID
The Cisco CallID object represents a unique object that is associated with each
connection in Cisco JTAPI. Applications may use the object itself or the integer
representation of the object.
Threaded CallBacks
The Cisco JTAPI implementation design allows applications to invoke blocking
JTAPI methods such as Call.connect() and TerminalConnection.answer() from
within their observer callbacks. This means that applications do not get subjected
to the restrictions imposed by the JTAPI 1.2 specification, which cautions
applications against using JTAPI methods from within observer callbacks.
CiscoSynchronousObserver Interface
Applications can selectively disable the queuing logic of the Cisco JTAPI
implementation by implementing the CiscoSynchronousObserver interface on
their observer objects.
This asynchronous behavior does not adversely affect many applications.
Applications that would benefit from a coherent call model during observer
callbacks, however, can selectively disable the queuing logic of the Cisco JTAPI
implementation. By implementing the CiscoSynchronousObserver interface on
its observer objects, an application declares deliver synchronous events to its
observers. Events that are delivered to synchronous observers will match the
states of the call model objects that are queried from within the observer callback.
callChangeEvent()
When the callChangedEvent() method is called, the validity remains guaranteed
for any references that are contained in the event. For example, if the event
contains a getConnection() method, the application can call this method and get a
valid connection reference. Likewise, a getCallingAddress() method guarantees
to return a valid Address object.
CiscoConsultCall
For the CiscoConsultCall interface, a reference to a consulting terminal
connection gets retained forever.
For example, when processing a CiscoConsultCallActive event,
getConsultingTerminalConnection() guarantees to return a valid terminal
connection reference. Further, the terminal connection guarantees to provide
access to the consulting connection and thus the consulting call.
CiscoTransferStartEv
For the CiscoTransferStartEv, the references to the transferred call, transfer
controller and final call in the event will be valid when callChangedEvent() is
called. However, getConnections() may or may not return the connections on
these calls.
Alarm Services
Part of the general serviceability framework for Cisco IP telephony applications
includes support for sending alarms to a service. The com.cisco.services.alarm
package defines the alarm components.
An alarm interface and framework support the sending of alarm notifications in
XML over TCP to an Alarm Service that is available on the network in a Cisco
JTAPI application. The alarm package includes the following features:
• · XML definition of alarms, resolved by a catalog in the alarm service
• · A bounded rollover queue to buffer alarms at the sender
• · Alarm sending on a separate thread to avoid blocking at the sending
application
• · A TCP-based reconnection scheme to the alarm service
The overall framework of the Cisco JTAPI alarm system is similar to the existing
JTAPI tracing package. Applications must instantiate an AlarmManager for a
particular facility code from which alarm objects can be created. Part of the
implementation includes DefaultAlarm and DefaultAlarmWriter implementation
classes.
Jtapi.ini Parameters
Cisco JTAPI gets configured by using parameters in the jtapi.ini. These
parameters get modified by using the Jtprefs application, which the Cisco JTAPI
installer installs.
The following parameters apply to Cisco JTAPI:
PROTOCOL_DEBUGGING=1
UseSameDirectory=1
JTAPIIMPL_DEBUGGING=1
UseSystemDotOut=0
QueueStatsEnabled=0
PeriodicWakeupInterval=50
RouteSelectTimeout=5000
UseTraceFile=1
ProviderOpenRequestTimeout=200
CtiManagers=cm-server1;cm-server2
Directory=SEAVIEWTraces
DEBUG=1
DesiredServerHeartbeatInterval=30
AlarmServicePort=1444
CTI_DEBUGGING=1
SyslogCollector=
JTAPI_DEBUGGING=1
PeriodicWakeupEnabled=0
NumTraceFiles=10
AlarmServiceHostname=
MISC_DEBUGGING=1
TracePath=.
UseAlarmService=0
CTIIMPL_DEBUGGING=1
WARNING=1
Traces=WARNING;INFORMATIONAL;DEBUG
INFORMATIONAL=1
UseSyslog=0
JtapiPostConditionTimeout=15
JTAPINotificationPort=789
FileNameBase=seaview
CtiRequestTimeout=30
TraceFileSize=1048576
Debugging=JTAPI_DEBUGGING;JTAPIIMPL_DEBUGGING;CTI_DEBUGGI
NG;CTIIMPL_DEBUGGING;PROTOCOL_DEBUGGING;MISC_DEBUGGIN
G
FileNameExtension=log
QueueSizeThreshold=25
ProviderRetryInterval=30
SyslogCollectorUDPPort=514
UseProgressAsDisconnectedDuringErrorEnabled=0
AllowNetworkEventsAfterOffered=0
• 7936
• 7960
• 7940
• 7970
• CTI Route Points
• CTI Ports
• VG248 Analog Devices
• ATA 186 Analog Devices
Call Park
Cisco JTAPI supports user interactions with Call Park and reports the appropriate
events to the applications. When a call is parked from an IP phone, the connection
that belongs to the parking address moves into Disconnected state, and the
associated TerminalConnection moves into Dropped state. A new connection in
queued state for the park number gets created.
If an application is monitoring only the address that parked the call, then all
existing connections get Disconnected, TerminalConnections get Dropped, and
the call moves to Invalid state.
Park Retrieval
When a call is parked from an IP phone, the park number displays on the phone.
Any terminal can unpark the call by dialing the park number. When a call is
unparked, a new call gets created with connections to unparked address. The
CallControlConnection for the park number in the original call, which is in the
Queued state, moves to the Disconnected state.
Park Reminder
When a parked call is not retrieved for a specified time, a reminder call returns to
the address that parked the call, and Park Number connection moves to the
Disconnected state. The call reconnects and moves to the Established state. A
terminal connection in Talking state gets created for the address that parked the
call.
Park DN Monitor
Cisco JTAPI applications can register to receive events when calls are parked and
unparked. CiscoProvCallParkEv events will be delivered to provider observer
when the application registers for this feature. To successfully register for this
feature the “call park retrieval allowed” flag for the user should be turned on. This
flag is available with the user configuration on Cisco CallManager
Administration. After registering for this feature, the application will receive
CiscoProvCallParkEv events when ever a call is parked or unparked from any
device in the cluster.
The following new interfaces allow applications to register and unregister for this
feature:
public interface CiscoProvider {
public void registerFeature ( int featureID ) throws
InvalidStateException, PrivilegeViolationException;
public void unregisterFeature ( int featureID ) throws
InvalidStateException;
}
CiscoJtapiExceptions
Cisco JTAPI notifies application of CTI-generated error codes. These codes
return when an exception or error occurs in the CTIManager. The CTI returned
error code propagates to the application separately. The application can extract the
error code by invoking getErrorCode() method on the exception object, can get
CTI error code name by invoking getErrorName() method, and can get error
description by invoking method getErrorDescription().
The methods getErrorName(int errorCode) and getErrorDescription (int
errorCode) deprecate and get’ removed in future releases. Cisco recommends that
application users do not use these methods.
Device Recovery
Cisco JTAPI supports automatic device recovery.
CTI RoutePoints
On a Cisco CallManager server failure, the CTIManager recovers the device from
the Cisco CallManager server group as defined in the device pool administration
for the CTI RoutePoint. When the primary Cisco CallManager server recovers,
the CTIManager attempts to recover the device on its primary Cisco CallManager.
This re-homing happens when no more calls exist on the device, (similar to
physical devices). On a CTIManager failure, Cisco JTAPI recovers the device on
the backup CTIManager. The application receives notification the availability of
a device with the CiscoAddrOutOfServiceEv and CiscoAddrInServiceEv events.
CTI Ports
CTI Ports that are registered by an application include a mechanism similar to
phone devices. When the Cisco CallManager that is handling signaling for a
CTIPort fails, the CTIManager recovers its services according to the device pool
administration for this device. On a CTIManager failure, Cisco JTAPI reregisters
the CTI Port after it connects to the backup CTIManager. The
CiscoAddrOutOfServiceEv and CiscoTermOutOfServiceEv events and the
corresponding in service events get sent after recovery of the CTI Port.
The application controls media streaming for these devices, and streaming
continues even when the port is out of service. The application has responsibility
to ensure that new calls do not get presented to the device until it is ready to accept
them.
Note Ensure that the device is registered for CTIPorts and CTIRoutePoints to receive
the line change notification.
Transfer
The transfer feature moves the participants of one call, the transferred call, to
another call, the final call. Moving participants in a call results in their associated
Connections transitioning to the DISCONNECTED state in the transferred call
and new Connections for these participants being created in the final call.
Similarly, any associated TerminalConnections transition into the DROPPED
state in the transferred call and get created in the final call. Cisco extensions have
by definition to mark the start and the end of the events that relate to transfer.
You can correlate the newly created connection objects with the old connection
objects by use of the CiscoConnection.getConnectionID() method to obtain the
CiscoConnectionID for the old and new connections. Matching connections have
identical CiscoConnectionID objects when compared by using the
CiscoConnectionID.equals() method.
CiscoTransferStartEv
This event indicates that the transfer operation started, and the events that follow
relate to this operation. Specifically, Connections and TerminalConnections get
both removed and added as a result of the transfer.
Applications may obtain the two calls that are involved in transfer−transferred call
and final call and the transfer controller information from this event. If the JTAPI
application is not observing the transfer controller, the transfer controller
information does not get made available in this event.
CiscoTransferEndEv
This event indicates that the transfer operation has ended. After this event is
received, the application can assume that all involved parties have transferred, and
all Connections and TerminalConnections have moved to the final call.
Transfer Scenarios
In the following scenarios, A, B, and C represent three parties that are involved in
the transfer.
In a consult transfer, applications can redirect calls to a different address and the
transferrer can “consult” with the transfer destination before redirecting.
• A calls B on call Call1.
• B answers and consults to C on call Call2.
Note During consult transfer, Call1.transfer(Call2) will transfer the call but not
Call2.transfer(Call1).
Table 1-2 lists the core events that observers of A and B receive between the
CiscoTransferStartEv and the CiscoTransferEndEv:
In an arbitrary transfer, one call can get transferred to another call, irrespective of
how either call was created. Unlike consult transfer, no need exists to first create
one of the calls by using the consult method.
• A calls B on call Call1.
• A puts Call1 on hold.
• A calls C on call Call2.
• A transfers Call1 to Call2.
To do this type of transfer, use the following JTAPI methods:
• Call2.transfer(Call1) to transfer call Call1 to final call Call2, or
• Call1.transfer(Call2) to transfer call Call2 to final call Call1
Assuming Call1.transfer(Call2) was called, Table 1-3 lists the core events that
observers on A and C receive between CiscoTransferStartEv and
CiscoTransferEndEv:
Conference
When conferencing two calls together, JTAPI specifies that all the parties from
one call be moved to the other call. The call whose parties are moved away and
that subsequently becomes invalid gets identified as the “merged” or “consult”
call. The call to which the merged parties move gets identified as the “final” call
hereafter. When parties move from the merged call to the final call, the application
receives events that indicate that all parties dropped from the merged call and
events that indicate that the parties reappeared on the final call.
To correlate the newly created connection objects with the old connection objects,
use the CiscoConection.getConnectionID() method to obtain CiscoConnectionID
objects for all old connections and all new connections. Matching connections
will have identical CiscoConnectionID objects when compared by using the
CiscoConnectionID.equals() method.
Conference support exists for the following methods:
• javax.telephony.callcontrol.CallControlCall.conference(Call)
• javax.telephony.callcontrol.CallControlCall.getConferenceController()
• javax.telephony.callcontrol.CallControlCall.getConferenceEnable()
• javax.telephony.callcontrol.CallControlCall.setConferenceController(Terminal
Connection)
• javax.telephony.callcontrol.CallControlCall.setConferenceEnable(boolean)
Cisco Extensions
Cisco JTAPI implementation provides two extra events that signal the Start and
End of Conference: CiscoConferenceStartEv and CiscoConferenceEndEv. These
events get sent when Conference initiates and when it completes. They give
handles to the final call, the merged conference (consult) call, and the two
controlling TerminalConnections (in HELD and TALKING state).
CiscoConferenceStartEv
CiscoConferenceEndEv
This event gets sent at the end of the merge process after a ConferenceStartEv is
sent. It signifies the completion of the merge of the Consult (or Merged) call into
the Final Conference Call. The Merged call specifies in INVALID state and an
ObservationEndedEv gets sent for the call observer.
CiscoCall.setConferenceEnable()
Conference Scenarios
The following scenarios describe the two typical types of Conference that can be
invoked.
Note You must invoke the conference() method on the original call to complete
a conference after a consultation. Invoking conference in the consult call
object throws an exception.
Conference Events
Table 1-4 provides the sequence of Core, Call control, and Cisco Extension events
when Call1.Conference(Call2) is called:
Note In Cisco CallManager Release 3.0, not all parties who are involved in the transfer
of calls received these events
Note Applications should not rely on the order of events between CiscoTransferStartEv
and CiscoTransferEndEv or between CiscoConferenceStartEv and
CiscoConferenceEndEv for transferring and conferencing when porting
applications from Cisco CallManager Release 3.0 to 3.1.
CTI Port
Softphone "5000"
Call (selective)
Call (on hold)
33325
To implement a softphone application (where the PC acts as the telephone set, for
example), the Cisco JTAPI application would manage a CTI port.
Cisco CallManager, not the endpoints, has responsibility for selecting the
payload and encoding parameters for RTP streams. The following five steps that
are involved in a typical bidirectional audio telephone call apply:
• Initialization
• Payload Selection
• Receive Channel Allocation
• Starting Transmission and Reception
• Stopping Transmission and Reception
Initialization
Upon startup, each endpoint informs Cisco CallManager of its media capabilities,
that is, G.711, G.723, G.729a, and so on. Startup for an IP phone for example,
occurs when the phone is first turned on, or after it recontacts Cisco CallManager
after losing its former connection. The endpoint cannot express a preference for
one payload type versus another, but it can specify certain parameters for each
payload type, such as, packet size.
The capability list that the endpoint registers remains exclusive and immutable. If
the endpoint specifies that it can support both G.711 and G.723, it implicitly
declares that it cannot support G.729a. Moreover, the endpoint must disconnect
from Cisco CallManager and reinitialize to change the list of capabilities that it
supports.
JTAPI applications perform this step by registering a CiscoMediaTerminal with
Cisco CallManager. The CiscoMediaTerminal.register() method allows
applications to supply an array of media capability objects for registration with
Cisco CallManager. This step informs Cisco CallManager that the application
will act as the endpoint for all calls to or from a particular directory number, as
determined by the device configuration in the Cisco CallManager configuration.
Payload Selection
When a bidirectional media stream is about to be created between two endpoints,
for instance, when a call is answered at an endpoint, Cisco CallManager selects
an appropriate payload type (codec) for the media stream. Cisco CallManager
compares the media capabilities of both endpoints that are involved in the call and
selects the appropriate common payload type and payload parameters to use.
The basis for payload selection includes endpoint capabilities and location,
although other criteria may get added to this selection logic in the future.
Endpoints do not get dynamically involved in selecting payload types on a
call-by-call basis.
CiscoMediaTerminal
In JTAPI, the terminal object represents the logical endpoint for a call and is
presumed to be able to receive and transmit data (digital encoded voice samples,
for example). Thus, terminals in JTAPI represent Cisco IP Phones. Even though
gateways terminate media, terminals do not represent them. The
CiscoMediaTerminals in particular represent a special kind of endpoint for which
applications take responsibility for media termination.
The following four steps associate with using CiscoMediaTerminals:
• Provisioning
• Registration
• Adding Observers
• Accepting Calls
Provisioning
CiscoMediaTerminals, which are analogous to physical terminals, must be
provisioned accordingly in Cisco CallManager, even though they do not represent
actual hardware IP phones or gateways. Just as IP phones must be added to
Cisco CallManager database by using the Device Wizard, CiscoMediaTerminals
get added the same way, so Cisco CallManager can associate the application
endpoint with a directory number and other call control properties such as call
forwarding. No device type called “CiscoMediaTerminal” exists in the
DeviceWizard. Instead, Cisco CallManager has one or more device types that
support application registration—each of these types get exposed as a
CiscoMediaTerminal through JTAPI. Currently, only the device type “CTI port”
represents a CiscoMediaTerminal in JTAPI.
The following procedure lists the steps for provisioning a CTI port for use as an
application-controlled endpoint.
Procedure
Step 1 Within the Cisco CallManager configuration web pages, add a “CTI port” device
from the Device-Phone web page by using the Device Wizard. The CTI port
device name specifies the name of the corresponding CiscoMediaTerminal in
JTAPI.
Step 2 Add the new CTI port device, by using the User-Global Directory web page, to
the list of devices that the application controls by using the User web page.
Registration
After a media termination device is properly provisioned in Cisco CallManager,
the application may obtain a reference to the corresponding CiscoMediaTerminal
object by using either the Provider.getTerminal() method or
CiscoProvider.getMediaTerminal() method. The the two methods differ in that the
CiscoProvider.getMediaTerminal() method only returns CiscoMediaTerminals,
whereas Provider.getTerminal() will return any terminal object that is associated
with the provider, including those representing physical IP phones.
Use the CiscoMediaTerminal.register() method to notify Cisco CallManager of
their intent to terminate RTP streams of certain payload types. The
CiscoMediaTermina.register() method takes an IP address, a port number, and an
array of CiscoMediaCapability objects that indicate the types of codecs that are
supported by the application as well as codec-specific parameters.
The IP address and port indicate the address where the application desires to
receive media streams. The following sample code demonstrates how to register
a CiscoMediaTerminal and bind it to a local address, port number 1234:
CiscoMediaTerminal registerTerminal (Provider provider, String
terminalName) {
final int PORT_NUMBER = 1234;
try {
CiscoMediaTerminal terminal = provider.getTerminal
(terminalName);
For this sample code to work, the specified provider must be IN_SERVICE.
Further, note that this code uses the constant
CiscoMediaCapability.G711_64K_30_MILLISECONDS. This actually
represents a static reference to a CiscoG711MediaCapability object that specifies
a 30-millisecond maximum RTP packet size. The CiscoMediaCapability class
predefines this and other common media formats.
To specify a media payload that is not listed in the CiscoMediaCapability class,
two options exist. If the desired payload type is a simple variation of one of the
existing subclasses of CiscoMediaCapability, you only need to construct a new
instance of the subclass. For instance, if an application is willing to support G.711
payloads with a 60-millisecond maximum RTP packet size, it can construct the
CiscoG711MediaCapability object directly, specifying 60 milliseconds in the
constructor.
On the other hand, if no existing subclass of CiscoMediaCapability that matches
the desired payload type exists, construct an instance of the
CiscoMediaCapability class directly. The maximum packet size, for example,
30-milliseconds, represents the only other parameter that may be specified when
constructing a CiscoMediaCapability. The following code illustrates registering a
custom payload capability:
}
catch ( Exception e) {
return null;
}
}
Adding Observers
To receive events that indicate where and when to transmit and receive RTP data,
place a CiscoTerminalObserver on the CiscoMediaTerminal. The
CiscoTerminalObserver extends the standard JTAPI TerminalObserver interface
without defining any new methods; it provides a marker interface that signals the
application interest in receiving RTP events.
Accepting Calls
When an inbound call arrives at the CiscoMediaTerminal address, it must be
accepted by using the CallControlConnection.accept() method before a terminal
connection gets created. This process does not apply for outbound calls —the
connection will occur in the CallControlConnection.ESTABLISHED state as
soon as the call progresses beyond digit recognition. After the connection is
accepted, answer the ringing terminal connection to start media flow. Assuming
that Cisco CallManager can match the capabilities that were registered with the
capabilities of the calling endpoint, Cisco CallManager sends the Media Flow
events, so the application can begin transmitting and receiving RTP data.
Note Table 1-4 shows JTAPI events for the local connection, that is, for the application
endpoint. The actual JTAPI meta event stream will contain events that describe the
state of the calling party.
Redirect
JTAPI 1.2 specifies that one of the preconditions of the
CallControlConnection.redirect() method is for the state of the connection to be
in either the CallControlConnection.OFFERING or the
CallControlConnection.ALERTING state. Cisco JTAPI also allows a connection
in the CallControlConnection.ESTABLISHED state to be redirected.
The redirect() method includes the following overloaded form in the
CiscoConnection interface. It allows applications to specify the behavior that is
desired when a failure occurs while redirecting a call, specifying the calling
search space, or resetting the original called field.
Applications choose the desired behavior, by passing one of the following INT
parameters in the overloaded redirect method from the CiscoConnection
interface:
• Redirect drop on failure—When a call is directed to a busy or an invalid
destination, Cisco CallManager can either drop the call if the redirect fails or
leave the call at the redirect controller. The JTAPI application then has a
chance to take corrective action, such as redirecting the call to another
destination. The option for the redirect mode parameter follow:
– CiscoConnection.REDIRECT_DROP_ON_FAILURE
– CiscoConnection.REDIRECT_NORMAL
• Calling Address search space—Redirect uses the calling search space
parameter to indicate which callingSearchSpace is used. Applications can
either use the calling party search space or the redirect controller search
space. The parameter options for this scenario follow:
– CiscoConnection.CALLINGADDRESS_SEARCH_SPACE
– CiscoConnection.ADDRESS_SEARCH_SPACE
• Resetting original called—The called address option parameter gets used to
reset the original called fields. The options for this scenario follow:
– CiscoConnection.CALLED_ADDRESS_UNCHANGED
– CiscoConnection.CALLED_ADDRESS_SET_TO_REDIRECT_DESTIN
ATION. This option affects the fields when the call arrives at the redirect
destination.
For more information, refer to the com.cisco.jtapi.extensions.CiscoConnection
documentation.
Routing
Routing in JTAPI requires the configuration of a CTI Route Point on the
Cisco CallManager. Multiple calls can be queued to this Route Point, but only a
single line can be configured on a CTI Route Point device.
JTAPI implementation of adjunct Routing as described in the call center package
includes the following actions:
• Registering route callbacks on Route Addresses
• Creating appropriate handlers in response to the various routing events
(routeSelect, routeEnd)
Note CTI Route Points represent devices that can process any number of
incoming calls simultaneously on the same line. Calls may be routed by
using the methods in the javax.telephony.callcenter package, or calls may
be accepted, redirected, or disconnected by using the methods in the
javax.telephony.callcontrol package. Each CTI Route Point may be
configured with only one line in the Cisco CallManager. A single CTI
Route Point supports a maximum of 34 lines. To support more than 34
lines, provision additional route points. For details on how to configure
and administer the CTI Route Point, refer to the Cisco CallManager
Administration Guide.
IVR Simultaneously
active calls
35938
Forwarding Timer
The timer for Forward on No Answer that is currently system wide (that is, it
applies to all devices on Cisco CallManager) can be configured via the
Cisco CallManager Service Parameters configuration. The default value for this
timer specifies 12 seconds. In future releases, a separate timer for CTI Route
Points will be included, so Forwarding for the Route Point takes effect
immediately after JTAPI accepts the call (when the application calls an endRoute
or if the routing timer expires).
RouteSession Extension
CiscoRouteSession acts as a Cisco Extension to the JTAPI specification. Most
importantly, this extension exposes the underlying Call object to the Applications.
CiscoRouteSession.getCall() returns CiscoCall, and this call exposes other Call
Model Objects such as the associated Addresses, Connections, and so on. The
extension also defines additional errors for the application.
• The application can accept the call, and then the Forward No Answer, if
configured, will kick-in.
• The application can drop the call. The caller holds the receiver with no clue
about what happened.
With a callback, if the application chooses to call an endRoute(), after endRoute()
returns, the caller receives a ringback until:
• client calls a disconnect() that would drop the call.
• The client redirects() the call.
• The forward on no answer timer that is configured via the scm.ini will kick
in and forward the call unless the preceding two options have already kicked
in.
• If no forwarding is configured for the Route Point, the caller continues to
receives a ringback unless the first two options kick in.
Redundancy
Configuration requires that devices are configured into device pools and are
assigned static Cisco CallManager groups. Devices register with a particular
Cisco CallManager server that handles call control signaling. When a
Cisco CallManager server fails, the devices failover to the backup
Cisco CallManager server in the group. When the primary Cisco CallManager
comes back online, it waits until no active calls exist on the device, then re-homes
to the primary Cisco CallManager server. Cisco JTAPI informs the applications
of this transition by sending a temporary out-of-service message while registering
to the backup Cisco CallManager server.
Cluster Abstraction
The CTIManager provides a virtual representation of all the Cisco CallManagers
in a cluster. Cisco JTAPI applications communicate with the CTIManager instead
of with a specific Cisco CallManagers. The CTIManager also maintains
connection between Cisco CallManagers in a cluster. This allows a provider to
represent any devices in the cluster under the CTIManager. Figure 1-5 illustrates
“Single-box Configuration with JTAPI, Cisco CallManager, and CTIManager in
One Box.” Figure 1-6 illustrates “Redundant Cisco CallManager and
CTIManagers with JTAPI Deployed as a Separate Client.”
For more details about the cluster administration and device pool settings, refer to
the Cisco CallManager help pages.
IP
IP
JTAPI IP
CTIManager
Cisco CallManager
IP
63168
Devices registered on
Cisco CallManager
JTAPI
deployed here
CTIManager 2
CallManager 2
CTIManager 1
CallManager 1
IP
IP IP
IP IP
Devices registered Devices registered
63169
on CallManager 1 on CallManager 2
Redundancy in CTIManagers
Cisco JTAPI also offers transparent applications for redundancy via the
CTIManager. When the primary CTIManager fails, Cisco JTAPI automatically
connects to the backup CTIManager and communicates the reconnection to
applications. Instead of connecting to a single Cisco CallManager server,
applications now connect to a set of CTIManagers. The applications supply the
CTIManager server names when invoking JTAPI.
Cisco JTAPI and the CTIManager maintain bidirectional heartbeat signals to
detect a loss of connectivity between them. The CTIManager detects when an
application is no longer running and cleans up its allocated resources. Figure 1-7
illustrates the“Logical Representation of JTAPI, CTIManager and
Cisco CallManager in a Cluster”
Note After Cisco JTAPI successfully connects to the primary CTIManager, it will
alternately attempt to reconnect to the primary or backup CTIManager if the
JTAPI connection to the CTIManager fails.
CTIManager 1
(primary)
Cisco JTAPI CallManager 1
JTAPI application
CallManager 2
CallManager 3
CTIManager 2
(secondary-backup)
Connection is made to the backup when
63170
Note Because the appinfo parameter is optional, the application provides no specific
appinfo parameter. Cisco JTAPI generates one from a JTAPI instance ID and the
local host name.
Additionally, the jtapi.ini file may define different CTIManager lists to support
the CiscoJtapiPeer.getServices() method. Cisco JTAPI accepts the following
definition:
CtiManagers=<CTIManager1>,<CTIManager2>;<CTIManager3>
where
<CTIManager1>,<CTIManager2> specifies a redundant group.
<CTIManager3> specifies a nonredundant group.
CTIManager Failure
When Cisco JTAPI detects a loss of connection to a CTIManager, the application
receives notification of this loss in service. The following events get sent to the
application on the appropriate Observers:
• A CallObservationEndedEv event gets sent to all Call Observers on an
Address and calls in progress end. The calls get physically connected, but the
application observation of the call ends because Cisco JTAPI cannot send call
state changes.
• A CiscoAddrOutOfServiceEv event gets sent to all Addresses on a Terminal
and a CiscoTermOutOfServiceEv event gets sent to the Terminal.
• This process repeats for all Terminals in the Provider user-controlled list. (A
CiscoAddrOutOfServiceEv event gets sent only to the Addresses that have an
active AddressObserver, and a CiscoTermOutOfServiceEv event gets sent
only to Terminals with an active TerminalObserver.)
• The Provider gets set in the out-of-service state, and the ProvOutOfServiceEv
event gets delivered on any ProviderObserver callbacks present on the
Provider.
Cisco JTAPI attempts a connection to the next CTIManager in the list and the
ProvInServiceEv gets sent to the ProviderObserver, The devices previously
registered under the application control get reinstated in the new CTIManager
After the device is reinstated, CiscoAddrInServiceEv and CiscoTermInServiceEv
events get sent to the application via the respective Observers. All previously
added Observers are maintained. If any calls exist on the devices, a snapshot of
the call gets sent to the respective CallObservers.
CTIPorts that were previously registered are reregistered with the same media
parameters. RouteAddress call backs are maintained as before and these are
recovered on the new CTIManager. No call snapshot, however, gets delivered to
the RouteAddresses.
Heartbeats
Cisco JTAPI and the CTIManager maintain heartbeat signals to discover a failure
in either the CTIManager or JTAPI. The CTIManager server controls the
heartbeat parameters in the bidirectional heartbeat. Applications can request a
desired server heartbeat interval when initializing Cisco JTAPI, but the
CTIManager can override it.
Applications specify the desired heartbeat parameter by using
DesiredServerHeartbeatInterval in the jtapi.ini setting.
Cisco JTAPI specifies the client's desired heartbeat interval during initialization.
The CTIManager specifies to the client side heartbeat interval Cisco JTAPI and
specifies the interval at which the server (CTIManager) will send heartbeats. A
failure to receive heartbeat message over twice the server-specified interval
results in a client-initiated tear-down of the connection. To minimize heartbeat
traffic, any messages from the client to the server or events from the server to the
client substitute for a heartbeat.
/**
*This interface returns the display name of the calling party.
*It returns null if display name is unknown.
*/
The address objects store the display name internally and name gets updated when
currentCallingAddress and currentCalledAddress are updated. NULL returns if
the call is not in the active state and if currentCalling and currentCalled addresses
of the call are not initialized.
SetMessageWaiting Interface
SetMessageWaiting provides a method for applications gets to set the message
waiting lamp or indicator for an address. The method is invoked on an address that
is in the same partition as the destination.
The following interface specifies whether the message waiting indicator should be
activated or deactivated for the address that the destination specifies. If enable
is true, message waiting activates if not already activated. If enable is false,
message waiting deactivates if not already deactivated.
{
public void setMessageWaiting (java.lang.String destination, boolean
enable)
throws javax.telephony.MethodNotSupportedException,
javax.telephony.InvalidStateException,
javax.telephony.PrivilegeViolationException
}
Quite Clear
QuiteClear occurs at the other end when two parties are on a call and one address
goes OutOfService because of a network outage, the Cisco CallManager goes
down, application controlling CTIPort goes down, or CTIManager goes down. At
this stage, the other end of the call can only drop the call or disconnect the
connection. It cannot perform any other callControl operations.
For the party that went Out Of Service, applications will perceive
ConnDisconnected/TermConnDroppedEvs and the other end of the call receives
ConnFailedEv with CiscoCause of
CiscoCallEv.CAUSE_TEMPORARYFAILURE.
If applications try to invoke the following features during Quite Clear mode,
PlatformException with error code of
CiscoJtapiException.CTIERR_OPERATION_FAILER_QUIETCLEAR gets
thrown:
• Consult transfer
• Consult conference
• Blind transfer
• Hold
• Unhold
Use the following interface to get information about calls that are present at the
terminal:
{ public CiscoAddressCallInfo getAddressCallInfo(Terminal iterminal);
}
DeleteCall Interface
DeleteCall interface provides applications the ability to delete a call that was
created by using the createCall interface. This method accepts a call and throws
an InvalidStateException if a provider is not in service or if the call is not in the
IDLE state. DeleteCall moves the call to the INVALID state.
The following interface gets added to CiscoProvider:
{ public void deleteCall( Call call ) throws InvalidStateException;
}
Applications can use this interface to delete the call that was created by using
createCall interface. This method accepts a call and throws an
InvalidStateException if the provider is not in service or if the call is not in the
IDLE state. DeleteCall moves the call to the INVALID state.
To successfully delete a call, the application creates the call by using createCall,
and the call should be in the IDLE state.
GetGlobalCallID
GetGlobalCallID provides an interface on the CiscoCallID to get the nodeID and
the Global Call ID (GCID) of the call; this exposes the GCID information that is
available in the internal call object.
The following methods get added to the CiscoCallID interface:
{ /**
* returns the callmanager nodeID of the call
*/
public int getCallManagerID();
/**
CiscoTerminal Method
Applications can send an XSI object in the byte format to the Cisco IP Phone
through the CiscoTerminal interface method. The payload is limited to 2000 bytes
of data with this interface.
CiscoTerminal must be in the <CODE>CiscoTerminal.REGISTERED</CODE>
state, its Provider must be in the <CODE>Provider.IN_SERVICE</CODE> state.
Successful response indicates that the data that was pushed has arrived at the
phone. However, note that the application cannot receive any XML back from the
phone, including the CiscoIPPhoneResponse object from the push. If the
application request is not successful, PlatformException is thrown. Any request
with more than 2000 bytes of data is rejected.
public String sendData (String terminalData) throws
InvalidStateException, MethodNotSupportedException;
Before the application can make use of this feature, it must add TerminalObserver
on the Terminal.
• CiscoConnection.setRequestController(TerminalConnection tc)—Allows an
application to select a terminalConnection associated with Connection on
which you can perform Park, Redirect, or Disconnect operations. This would
be needed in a situation where there is more than one active
TerminalConnection in SharedLine scenario.
• CiscoConnection.getRequestController()—Returns TerminalConnection set
by Application as request controller.
• CiscoAddrAddedToTerminalEv—Gets sent when the following conditions
occur:
– A Terminal/Device gets added into the user controlList that contains a
SharedDN, which sends the event to the application. In other words, if
user has an address in control list, and we add new device with same
address in control list, this event gets sent.
– An EM (Extension mobility) user logs into the terminal with a profile
that contains a SharedDN. In this scenario, this event notifies that a new
terminal is added to an already existing Address.
– A new SharedDN is added to a Device in a user control list
Interface getTerminal() returns the terminal that gets added to the Address.
Interface getAddress() returns the Address on which a new terminal is added.
• Calls get presented to all terminals. When a call is in a ringing state, the state
of the terminal connection is Ringing. When one of the Shared Line answers,
the terminalConnection state goes to an Active state, while other
terminalConnections on the shared line go to a Passive state and
callControlTerminalConnection for all the shared lines at this point go into a
Bridged state. When a call is put on Hold, all the terminal connections go into
an Active state, and callControllTerminalConnection goes to a Held state. At
this point, any terminal can retrieve the call. The retrieving terminal
terminalConnection remains in an Active state and
callControlTerminalConnection goes to a Talking state while all other shared
terminals terminalConnections go into a Passive state. Simultaneously,
CallControlTerminalConnection changes from a Held state to a Bridged state.
• A Shared Line can make a call to another Shared Line of the same DN. In this
scenario, the call has only one Connection and multiple terminal
Connections.
• When a Shared Line makes a call to another Shared line of same DN, the post
condition for this would be only one connection.
• For a Shared Line Connection with two active terminalConnections (such as
Barge), Connection.Disconnect() does not result in disconnected connection.
• If an application is monitoring only a SharedDN Connection with only a
Passive or Bridged TerminalConnection, any API invoked on the connection
results in a PreConditionException.
• Similar to the previous scenario, if all the connections of a Call monitored by
an application have only a Passive or Bridged TerminalConnection, all APIs
on the call throw a PreConditionException (such as Call.Drop()).
• If there is more than one active TerminalConnection on a Shared Line,
Call.drop() does not return in CallInValid in the following scenarios:
– In the case of a normal two party call between A and B, where A is a
SharedLine with A' and A' has Barged into the Call. The application is
not monitoring A' and B. If the application issues a Call.drop(), A’s
TerminalConnection goes into a Passive state, but the call does not go
InValid.
Note A precondition requires all the otherCalls must have controller as one
leg of the call.
• Applications can Conference two or more Held Calls into a Conference Call.
In finalCall, the Controller automatically gets retrieved to a Talking state.
• Always include an active call in the request Call.Conference(otherCalls). If
an Active Call is not included in the Conference request, the request fails.
• If there is no Active Call at the Controller, the Call.Conference(otherCalls)
request remains successful. However if there is one active call, it must be
included in the request as previously stated.
• If the application does not have an Active TerminalConnection passed as an
argument, Call.consult() throws a
PreConditionException/InvalidArgumentExcpetion.
• If the Controller does not have an Active TerminalConnection,
Call.Conference()/Call.Conference(Call[]) throws a
PreconditionException/InvalidArgumentException.
For details on the interface changes, see Chapter 2, “Cisco JTAPI
Implementation.” To view the message flow for Conference and Join, see
Appendix A, “Message Sequence Charts.”
Interface CiscoTerminalConnection.getPrivacyStatus()
boolean getPrivacyStatus()
This interface returns the privacy status of a call on the terminal.
Interface CiscoTermConnPrivacyChangedEv
javax.telephony.TerminalConnection getTerminalConnection()
The following are the new or changed interfaces for Dynamic CTIPort
Registration Per Call:
int getpacketSize()
Returns the packet size of the far end in milliseconds.
int getPayLoadType()
Returns the payload format of the far end, one of the
following constants:
CiscoRTPHandle getCiscoRTPHandle ()
Returns the CiscoTerminalConnection object on which
applications must invoke the setRTPParams request.
Interface CiscoRTPHandle
int getHandle()
Returns an integer representation of this object, currently
the Cisco CallManager CallLeg ID.
CiscoProvider
Step 1 The application registers its media capabilities with this terminal using
CiscoRouteTerminal.register method.
Step 2 An application adds an observer that implements CiscoTerminalObserver
interface using the Terminal.addObserver method.
Step 3 The application must add addCallObserver on CiscoRouteTerminal or on
CiscoRouteAddress in order to receive CiscoCall object from the provider by
using CiscoRTPHandle.
All applications written for or prior to CiscoJtapiClient 1.4(x) release must get
modified to register with CiscoRouteTerminal.NO_MEDIA_TERMINATION if
not interested in media termination.
Multiple applications can register with same route point as long as they are
registered with same media capabilities and registrationType. All applications, if
registered with CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION and
adds terminal observer, receive CiscoMediaOpenLogicalChannelEv, but only one
application will be able to invoke setRTPParams.
Note Applications that terminate media must use the CallControl package for
answering and redirecting calls. Applications that only route calls can use a
routing package.
Note Applications should be aware that if any features are performed before reacting to
CiscoMediaOpenLogicalChannelEv, the features may fail. If applications do not
respond to these events in the time period specified in the Media Exchange
Timeout parameter in the Cisco CallManager Administration windows, the call
may fail.
The following are the new or changed interfaces for Media Termination at Route
Point:
boolean isRegistered()
If the CiscoMediaTerminal gets registered, this method returns
true. Otherwise, it is false.
boolean isRegisteredByThisApp()
If the application issues a successful registration request, this
method returns true and remains true until the application
unregisters the device. This is valid even if the device is out of
service because of CTIManager failure.
void Unregister()
The CiscoRouteTerminal must be registered and the Provider
must be in the Provider.IN_SERVICE state.
int getpacketSize()
Returns the packet size of the far end in milliseconds.
int getPayLoadType()
Returns the payload format of the far end, one of the
following constants:
CiscoRTPHandle getCiscoRTPHandle ()
Returns the CiscoTerminalConnection object on which
applications must invoke the setRTPParams request.
Interface CiscoRTPHandle
int getHandle()
Returns an integer representation of this object, currently
the Cisco CallManager CallLeg ID.
CiscoProvider
The application compares the version available on the server to the local version
in the application classpath and determines whether an upgrade is necessary. This
allows applications to refresh the jtapi.jar component to match the
Cisco CallManager and provides a way to centrally deploy the jtapi.jar to which
applications can auto update.
The API required to perform this functionality is packaged in the form of an
updater.jar. The jtapi.jar and updater.jar are packaged with the standard manifest,
which can be used to compare versions.
Note This feature does not update JTAPI Preferences, JTAPITestTools, Updater.jar and
javadoc components. If applications require these components, then need to in
install JTAPI from Cisco CallManager plugin pages. Auto Update is applicable
only from JTAPI Release 2.0 and beyond.
Refer to the Cisco JTAPI Installation Guide for Cisco CallManager 4.0 for more
information.
The following are new or changed interfaces for Auto Update of APIs:
Class com.cisco.services.updater.ComponentUpdater
Interface com.cisco.services.updater.Component
Component fetchFromServer()
Performs an http fetch of the component from the server
and writes to the local file system with the file name
temp.jar in the local directory.
java.lang.String getBuildDescription ()
Returns the string 'Release' for a version of the form
'a.b(c.d) Release'.
int getBuildNumber ()
Returns 'd' for a version of the form a.b(c.d).
java.lang.String getLocation ()
The string form location of the component.
int getMajorVersion ()
Returns 'a' version for a version of the form a.b(c.d).
int getMinorVersion ()
Returns 'b' version for a version of the form a.b(c.d).
java.lang.String getName ()
Returns the name of the component.
int getRevisionNumber ()
Returns 'c' for a version of the form a.b(c.d).
CiscoTerminal
CiscoTermEvFilter
boolean getButtonPressedEnabled()
Gets the enable or disable status of the button pressed events for
the terminal. The default value is disabled.
boolean getDeviceDataEnabled()
Gets the enable or disable status of the device data events for the
terminal. The default value is disabled.
boolean getRTPEventsEnabled()
Gets the enable or disable status of the RTP events for the
terminal. The default value is disabled.
CiscoTermButtonPressedEv
int getButtonPressed ()
Example
routeSelected[0] = 133555
routeSelected[1] = 144911
routeSelected[2] = 143911
routeSelected[3] = 5005
modifiedCallingNumber[0] =null
modifiedCallingNumber[1] =9721234567
modifiedCallingNumber[2] =9721234568
modifiedCallingNumber[3] =null
CiscoRouteSession
CiscoCall
javax.telephony.Address getModifiedCalledAddress ()
This interface returns a modified called
address for the call if an application modifies
the calling party using from selectRoute API.
However, this information may not be
accurate if an application is only controlling
the route point that modifies the calling
number. If no modified calling number gets
performed, this is similar to the
getCurrentCalledAddress interface. Typically,
this gets varied from
getCurrentCalledAddress when a feature gets
invoked after modified calling number
modifications.
javax.telephony.Address getModifiedCallingAddress ()
This interface returns a modified calling
address for the call if an application modifies
the calling party using from selectRoute API.
However, this information may not be
accurate if an application is only controlling
the route point that modifies the calling
number. If no modified calling number gets
performed, this is similar to the
getCurrentCallingAddress interface.
CiscoRouteUsedEvent
int getRouteSelectedIndex ()
This method returns an array index of the route to where the
call gets routed.
Note The maximum number of lines supported for route points is 34.
CiscoAddress
CiscoAddrAutoAcceptStatusChangedEv
Public interface: CiscoAddrAutoAcceptStatusChangedEv
Extends com.cisco.jtapi.exension.CiscoAddrEv
The CiscoAddrAutoAcceptStatusChangedEv event gets sent to applications
whenever AutoAccept status for the address on the terminal gets changed. if an
address has multiple terminals, this event gets sent for the address AutoAccept
status on each individual terminals. This event provides the following interface:
int getAutoAcceptStatus ()
CiscoAddrAutoAcceptStatusChang
edEv.getAutoAcceptStatus returns
the following value of AutoAccept
status of address on terminal
CiscoAddress.AUTOACCEPT_OFF
CiscoAddress.AUTOACCEPT_ON.
com.cisco.jtapi.extensions.CiscoTerminal getTerminal ()
Returns the terminal at which this
address AutoAccept status gets
changed.
CiscoTermRegistrationFailed Event
This event gets provided to the application when CiscoMediaTerminal or
CiscoRouteTerminal registration fails asynchronously. Usually when registration
fails, the application gets CiscoRegistrationFailedException. However, it is
possible that the registration request is successful, but the registration gets
rejected by the CTI. This event is provided for the cases where the Registration
request is successful, but the Registration gets rejected. The application should
have TerminalObserver to receive this event. Upon receipt of this event, the
applications should re-register with the new parameter depending on the error
code provided for this event.
The following are the errors that get returned and the actions to take, by the
application, to resolve them.
Explanation Registration can not get done because the terminal is already
registered. Do the second registration with the same media capability.
Explanation Registration can not get done because the terminal is already
registered with Media termination type 'none'.
Explanation Registration can not get done because the terminal is already
registered with Static media termination. For static registration, the second
registration is not allowed.
Explanation Registration can not get done because the terminal is already
registered with Dynamic media termination.
int getErrorCode ()
Returns the errorCode for this exception.
Note Below x, point to the index where the Call is being Routed. For example, if the
call gets routed to Route n, then value of x will be n. If a
PreferedOriginalCalledOption at index x is invalid or out of range, JTAPI defaults
it to CiscoRouteSession.DONOT_RESET_ORIGINALCALLED. And if
PreferedOriginalCalledOption is null, all the Routing gets done with option
CiscoRouteSession.DONOT_RESET_ORIGINALCALLED.
CiscoCall
boolean getCalledAddressPI()
Returns the PI associated with getCalledAddressPI. If it returns
true, the application displays the address name. If it returns false,
the application must not display the address name.
boolean getCallingAddressPI()
Returns the PI associated with getCallingAddressPI. If it returns
true, the application displays the address name. If it returns false,
the application must not display the address name.
boolean getCurrentCalledAddressPI()
Returns the PI associated with CurrentCalledAddressPI. If it
returns true, the application displays the address name. If it
returns false, the application must not display the address name.
boolean getCurrentCalledDisplayNamePI()
Returns the PI associated with CurrentCalledDisplayNamePI. If it
returns true, the application displays the address name. If it
returns false, the application must not display the address name.
boolean getCurrentCallingAddressPI()
Returns the PI associated with getCurrentCallingAddressPI. If it
returns true, the application displays the address name. If it
returns false, the application must not display the address name.
boolean getCurrentCallingDisplayNamePI()
Returns the PI associated with getCurrentCallingDisplayNamePI.
If it returns true, the application displays the address name. If it
returns false, the application must not display the address name.
boolean getLastRedirectingAddressPI()
Returns the PI associated with getLastRedirectingAddressPI. If it
returns true, the application displays the address name. If it
returns false, the application must not display the address name.
The following interface gets provided on CiscoConnection to get the PI value for
the address associated with the Connection:
CiscoConnection
boolean getAddressPI()
Returns the PI associated with the address on which the
connection gets created. If it returns true, the application
displays the address name. If it returns false, the application
must not display the address name.
• HELD—If all the calls on any of the address on the terminal are held (in CTI
State OnHold) the DeviceState is HELD and Cisco JTAPI sends
CiscoTermDeviceStateHeldEv to the application.
New Events
• CiscoTermDeviceDeviceStateIdleEv
• CiscoTermDeviceStateActiveEv
• CiscoTermDeviceStateAlertingEv
• CiscoTermDeviceStateHeldEv
boolean getDeviceStateActiveEvFilter()
Gets the CiscoTermDeviceStateActiveEv filter status.
boolean getDeviceStateAlertingEvFilter()
Gets the CiscoTermDeviceStateAlertingEv filter status.
boolean getDeviceStateActiveEvFilter()
Gets the CiscoTermDeviceStateAlertingEv filter status.
boolean getDeviceStateActiveEvFilter()
Gets the CiscoTermDeviceStateAlertingEv filter status.
Supported Interfaces
Cisco JTAPI supports FAC and CMC in the following interfaces:
• Call.Connect()
• Call.Consult()
• Call.Transfer(String)
• Connection.redirect()
• RouteSession.selectRoute()
PostCondition Timer
The PostCondition timer is reset each time the connection.addToAddress
interface is invoked to send code. FAC and CMC must have the terminal # (for
example, Connection.assToAddress(“1234#”), where 1234 is the FAC). The
system waits for the T302 timer to expire and then extends the call if all codes
have been entered. If all codes have not been entered, the system plays reorder
tone.
For this case, the application could receive PlatformException with
postConditionTimeout even if the call is extended. To avoid this, the application
needs to increase the postcondition timeout using JTAPI Preferences.
If the application uses call.connect() or call.consult() to initiate a call but the FAC
or CMC (including #) is not entered from a Cisco IP phone within the
postcondition timeout limit, then the request could get a platformException with
postCondition timeout but the call may actually be extended. To avoid this, the
application needs to increase the postcondition timeout using JTAPI preferences.
Shared Lines
If the initiating party is a shared line, then applications need to use
setRequestController to set active terminalConnection before passing additional
digits using the connection.addToAddress interface.
RouteSession.selectRoute()
Two additional arrays of string parameters (facCode, cmcCode) are added to this
interface to support FAC and CMC. For each routeselect element, applications can
specify the code for the DN. Applications need to specify null values for DNs that
do not require any codes. The default values for the codes are null values.
If one routeselected element does not contain the correct code, then the next
element in the arrays tried. If all of them fail, then reRouteEvent is sent to the
application.
Note Forwarding to a DN that requires an FAC or CMC code is not supported. The
application can set the forward number to these DNs using Address API, but calls
forwarded to these numbers are rejected.
Network Events
In prior releases of Cisco JTAPI, when a call is made to an address outside the
cluster, CallCtlConnNetworkReachedEv and CallCtlConnNetworkAlertingEv
events are delivered for the far-end address.
In later versions of Cisco CallManager (4.0 and above), these events are not
delivered. In these versions CallCtlConnection for the far-end address goes to the
ESTABLISHED state from OFFERED state. The application will receive
CallCtlConnOfferedEv, CallCtlConnEstablishedEv for the far-end address. The
Step 1 Run jtprefs and select the required options. This creates jtapi.ini file in
c:\winnt\java\lib, if Cisco JTAPI is installed in the default directory. If the jtapi.ini
file already exists, then the file can be updated directly without running jtprefs.
Step 2 Add AllowNetworkEventsAfterOffered=1 to the end of the file and save it.
Step 3 Repeat the above step every time Cisco JTAPI is reinstalled.
When the AllowNetworkEventsAfterOffered flag is enabled, the application will
receive CallCtlConnOfferedEv, CallCtlConnNetworkReachedEv or
CallCtlConnNetworkAlertingEv, and CallCtlConnEstablishedEv for the far end
address.
Class Hierarchy
class java.lang.Object
class com.cisco.services.alarm.AlarmManager
class com.cisco.services.tracing.BaseTraceWriter (implements
com.cisco.services.tracing.TraceWriter)
class com.cisco.services.tracing.ConsoleTraceWriter
class com.cisco.services.tracing.LogFileTraceWriter
class com.cisco.services.tracing.OutputStreamTraceWriter
class com.cisco.services.tracing.SyslogTraceWriter
class com.cisco.jtapi.extensions.CiscoAddressCallInfo
class com.cisco.jtapi.extensions.CiscoJtapiVersion
class com.cisco.jtapi.extensions.CiscoMediaCapability
class com.cisco.jtapi.extensions.CiscoG711MediaCapability
class com.cisco.jtapi.extensions.CiscoG723MediaCapability
class com.cisco.jtapi.extensions.CiscoG729MediaCapability
class com.cisco.jtapi.extensions.CiscoGSMMediaCapability
class com.cisco.jtapi.extensions.CiscoRTPParams
class com.cisco.services.alarm.DefaultAlarm (implements
com.cisco.services.alarm.Alarm)
class com.cisco.services.alarm.DefaultAlarmWriter (implements
com.cisco.services.alarm.AlarmWriter)
class com.cisco.services.alarm.ParameterList
class java.lang.Throwable (implements java.io.Serializable)
class java.lang.Exception
class com.cisco.jtapi.extensions.CiscoRegistrationException
class com.cisco.jtapi.extensions.CiscoUnregistrationException
class com.cisco.services.tracing.TraceManagerFactory
Interface Hierarchy
interface javax.telephony.Address
interface com.cisco.jtapi.extensions.CiscoAddress (also extends
com.cisco.jtapi.extensions.CiscoObjectContainer)
interface javax.telephony.callcenter.RouteAddress
interface com.cisco.jtapi.extensions.CiscoRouteAddress
interface javax.telephony.AddressObserver
interface com.cisco.jtapi.extensions.CiscoAddressObserver
interface com.cisco.services.alarm.Alarm
interface com.cisco.services.alarm.AlarmWriter
interface javax.telephony.Call
interface javax.telephony.callcontrol.CallControlCall
interface com.cisco.jtapi.extensions.CiscoCall (also extends
com.cisco.jtapi.extensions.CiscoObjectContainer)
interface com.cisco.jtapi.extensions.CiscoConsultCall
interface com.cisco.jtapi.extensions.CiscoJtapiException
interface com.cisco.jtapi.extensions.CiscoJtapiProperties
interface com.cisco.jtapi.extensions.CiscoObjectContainer
interface com.cisco.jtapi.extensions.CiscoAddress (also extends
javax.telephony.Address)
interface com.cisco.jtapi.extensions.CiscoCall (also extends
javax.telephony.callcontrol.CallControlCall)
interface com.cisco.jtapi.extensions.CiscoConsultCall
interface com.cisco.jtapi.extensions.CiscoCallID
interface com.cisco.jtapi.extensions.CiscoConnection (also extends
javax.telephony.callcontrol.CallControlConnection)
interface com.cisco.jtapi.extensions.CiscoConnectionID
interface com.cisco.jtapi.extensions.CiscoJtapiPeer (also extends
javax.telephony.JtapiPeer, com.cisco.services.tracing.TraceModule)
interface com.cisco.jtapi.extensions.CiscoProvider (also extends
javax.telephony.Provider)
interface com.cisco.jtapi.extensions.CiscoTerminal (also extends
javax.telephony.Terminal)
interface com.cisco.jtapi.extensions.CiscoMediaTerminal
interface com.cisco.jtapi.extensions.CiscoTerminalConnection (also extends
javax.telephony.callcontrol.CallControlTerminalConnection)
interface com.cisco.jtapi.extensions.CiscoProvFeatureID
interface com.cisco.jtapi.extensions.CiscoRTPBitRate
interface com.cisco.jtapi.extensions.CiscoRTPInputProperties
interface com.cisco.jtapi.extensions.CiscoRTPOutputProperties
interface com.cisco.jtapi.extensions.CiscoRTPPayload
interface com.cisco.jtapi.extensions.CiscoSynchronousObserver
interface javax.telephony.Connection
interface javax.telephony.callcontrol.CallControlConnection
interface com.cisco.jtapi.extensions.CiscoConnection (also extends
com.cisco.jtapi.extensions.CiscoObjectContainer)
interface javax.telephony.events.Ev
interface javax.telephony.events.AddrEv
interface com.cisco.jtapi.extensions.CiscoAddrEv (also extends
com.cisco.jtapi.extensions.CiscoEv)
interface com.cisco.jtapi.extensions.CiscoAddrInServiceEv
interface com.cisco.jtapi.extensions.CiscoAddrOutOfServiceEv
(also extends com.cisco.jtapi.extensions.CiscoOutOfServiceEv)
interface javax.telephony.events.CallEv
interface javax.telephony.events.CallActiveEv
interface com.cisco.jtapi.extensions.CiscoConsultCallActiveEv (also
extends com.cisco.jtapi.extensions.)
interface com.cisco.jtapi.extensions.CiscoCallEv (also extends
com.cisco.jtapi.extensions.CiscoEv)
interface com.cisco.jtapi.extensions.CiscoConferenceEndEv
interface com.cisco.jtapi.extensions.CiscoConferenceStartEv
interface com.cisco.jtapi.extensions.CiscoConsultCallActiveEv (also
extends javax.telephony.events.CallActiveEv)
interface com.cisco.jtapi.extensions.CiscoTransferEndEv
interface com.cisco.jtapi.extensions.CiscoTransferStartEv
interface com.cisco.jtapi.extensions.CiscoEv
interface com.cisco.jtapi.extensions.CiscoAddrEv (also extends
javax.telephony.events.AddrEv)
interface com.cisco.jtapi.extensions.CiscoAddrInServiceEv
interface com.cisco.jtapi.extensions.CiscoAddrOutOfServiceEv
(also extends com.cisco.jtapi.extensions.CiscoOutOfServiceEv)
interface com.cisco.jtapi.extensions.CiscoCallEv (also extends
javax.telephony.events.CallEv)
interface com.cisco.jtapi.extensions.CiscoConferenceEndEv
interface com.cisco.jtapi.extensions.CiscoConferenceStartEv
interface com.cisco.jtapi.extensions.CiscoConsultCallActiveEv (also
extends javax.telephony.events.CallActiveEv)
interface com.cisco.jtapi.extensions.CiscoTransferEndEv
interface com.cisco.jtapi.extensions.CiscoTransferStartEv
interface com.cisco.jtapi.extensions.CiscoOutOfServiceEv
interface com.cisco.jtapi.extensions.CiscoAddrOutOfServiceEv
(also extends com.cisco.jtapi.extensions.CiscoAddrEv)
interface com.cisco.jtapi.extensions.CiscoTermOutOfServiceEv
(also extends com.cisco.jtapi.extensions.CiscoTermEv)
interface com.cisco.jtapi.extensions.CiscoProvEv (also extends
javax.telephony.events.ProvEv)
interface com.cisco.jtapi.extensions.CiscoAddrCreatedEv
interface com.cisco.jtapi.extensions.CiscoAddrRemovedEv
interface com.cisco.jtapi.extensions.CiscoProvFeatureEv
interface com.cisco.jtapi.extensions.CiscoProvCallParkEv
interface
com.cisco.jtapi.extensions.CiscoProvFeatureUnRegisteredEv
interface com.cisco.jtapi.extensions.CiscoTermCreatedEv
interface com.cisco.jtapi.extensions.CiscoTermRemovedEv
interface com.cisco.jtapi.extensions.CiscoTermEv (also extends
javax.telephony.events.TermEv)
interface com.cisco.jtapi.extensions.CiscoRTPInputStartedEv
interface com.cisco.jtapi.extensions.CiscoRTPInputStoppedEv
interface com.cisco.jtapi.extensions.CiscoRTPOutputStartedEv
interface com.cisco.jtapi.extensions.CiscoRTPOutputStoppedEv
interface com.cisco.jtapi.extensions.CiscoTermDataEv
interface com.cisco.jtapi.extensions.CiscoTermInServiceEv
interface com.cisco.jtapi.extensions.CiscoTermOutOfServiceEv
(also extends com.cisco.jtapi.extensions.CiscoOutOfServiceEv)
interface javax.telephony.events.ProvEv
interface com.cisco.jtapi.extensions.CiscoProvEv (also extends
com.cisco.jtapi.extensions.CiscoEv)
interface com.cisco.jtapi.extensions.CiscoAddrCreatedEv
interface com.cisco.jtapi.extensions.CiscoAddrRemovedEv
interface com.cisco.jtapi.extensions.CiscoProvFeatureEv
interface com.cisco.jtapi.extensions.CiscoProvCallParkEv
interface
com.cisco.jtapi.extensions.CiscoProvFeatureUnRegisteredEv
interface com.cisco.jtapi.extensions.CiscoTermCreatedEv
interface com.cisco.jtapi.extensions.CiscoTermRemovedEv
interface javax.telephony.events.TermEv
interface com.cisco.jtapi.extensions.CiscoTermEv (also extends
com.cisco.jtapi.extensions.CiscoEv)
interface com.cisco.jtapi.extensions.CiscoRTPInputStartedEv
interface com.cisco.jtapi.extensions.CiscoRTPInputStoppedEv
interface com.cisco.jtapi.extensions.CiscoRTPOutputStartedEv
interface com.cisco.jtapi.extensions.CiscoRTPOutputStoppedEv
interface com.cisco.jtapi.extensions.CiscoTermDataEv
interface com.cisco.jtapi.extensions.CiscoTermInServiceEv
interface com.cisco.jtapi.extensions.CiscoTermOutOfServiceEv
(also extends com.cisco.jtapi.extensions.CiscoOutOfServiceEv)
interface javax.telephony.JtapiPeer
interface com.cisco.jtapi.extensions.CiscoJtapiPeer (also extends
com.cisco.jtapi.extensions.CiscoObjectContainer,
com.cisco.services.tracing.TraceModule)
interface javax.telephony.Provider
Class com.cisco.jtapi.extensions
The Cisco JTAPI extension consists of a set of classes and interfaces that expose
the functionality available in the Cisco IP Telephony. This API allows
programmers to create independent applications for Cisco CallManager. The
Cisco JTAPI implementation offers additional functionality not readily exposed
through the JTAPI 1.2 interfaces. Applications can use the interfaces and classes
in the com.cisco.jtapi.extensions package with the standard JTAPI interfaces and
classes described in the Cisco JTAPI v 1.2 Specification manual to create new
applications.
CiscoAddrAddedToTerminalEv
Declaration
public interface CiscoAddrAddedToTerminalEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoAddrAddedToTerminalEv event gets sent under the following
conditions:
• When User adds a Terminal/Device into the user controlList that contains
SharedDN, this event will be sent to application. If a user has an address in
control list, and we add new device with same address in control list, this
event will be sent.
• When EM(Extension mobility) user logs into a Terminal with a profile that
contains SharedDN, this event notifies that a new Terminal is added to an
already existing Address.
• A new SharedDN is added to a Device in a user control list. Interface
getTerminal() returns the terminal that gets added to Address. Interface
getAddress() will return the address on which the new terminal is added.
Member Summary
Fields
static int ID
Methods
javax.telephony.Address getAddress()
javax.telephony.Terminal getTerminal()
Fields
ID
public static final int ID
Methods
getAddress()
public javax.telephony.Address getAddress()
getTerminal()
public javax.telephony.Address getTerminal()
CiscoAddrAutoAcceptStatusChangedEv
Declaration
public interface CiscoAddrAutoAcceptStatusChangedEv extends
CiscoAddrEv
All Superinterfaces
javax.telephony.events.AddrEv, CiscoAddrEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoAddrAutoAcceptStatusChangedEv event is send to
Applications whenever AutoAccept status for the Address on the Terminal is
changed. If an Address has multiple Terminals, then this event will be sent for
Address’s AutoAccept status on each individual Terminals.
Member Summary
Fields
static int ID
Methods
int getAutoAcceptStatus()
CiscoAddrAutoAcceptStatusChangedEv.getAutoAcceptStatus() returns
following value of AutoAccept status of Address on Terminal
CiscoAddress.AUTOACCEPT_OFF CiscoAddress.AUTOACCEPT_ON
CiscoTerminal getTerminal()
Returns the terminal at which this address is going
InService.
Fields
ID
public static final int ID
Methods
getAutoAcceptStatus()
public int getAutoAcceptStatus()
CiscoAddrAutoAcceptStatusChangedEv.getAutoAcceptStatus() returns
following value of AutoAccept status of Address on Terminal
CiscoAddress.AUTOACCEPT_OFF CiscoAddress.AUTOACCEPT_ON
See Also:
CiscoAddress.getAutoAcceptStatus()
getTerminal()
public com.cisco.jtapi.extensions.CiscoTerminal getTerminal()
CiscoAddrCreatedEv
Declaration
public interface CiscoAddrCreatedEv extends CiscoProvEv
All Superinterfaces
CiscoEv,CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoAddrCreatedEv event
Member Summary
Fields
static int ID
Methods
javax.telephony.Address getAddress()
Fields
ID
public static final int ID
Methods
getAddress()
public javax.telephony.Address getAddress()
CiscoAddress
Declaration
public interface CiscoAddress extends javax.telephony.Address,
CiscoObjectContainer
All Superinterfaces
javax.telephony.Address, CiscoObjectContainer
Description
The CiscoAddress interface extends the Address interface with additional
CallManager-specific capabilities.
See Also
javax.telephony.Address
Member Summary
Fields
static int AUTOACCEPT_OFF
AutoAccept is off.
static int AUTOACCEPT_ON
AutoAccept is on.
static int EXTERNAL
This is an external address with a valid name.
static int EXTERNAL_UNKNOWN
This is an external address with an unknown name.
static int IN_SERVICE
The address is out-of-service
static int INTERNAL
This is an internal address.
static int OUT_OF_SERVICE
The address is in-service
Member Summary
static int RINGER_DEFAULT
Sets the ringer status to configured value
static int RINGER_DISABLE
Disables the ringer for the address
static int RINGER_ENABLE
Enables the ringer for the address
static int UNKNOWN
This is an external address with an unknown name.
Methods
void clearCallConnections()
Use this interface to clear off any phantom calls on the
address
CiscoAddressCallInfo getAddressCallInfo(Terminal)
Use this Interface to get info of calls present at the
terminal
int getAutoAcceptStatus(Terminal)
Returns the AutoAccept status of the Address on the
terminal
javax.telephony.Terminal getInServiceAddrTerminals()
Returns an array of terminals for which this address is
InService.
int getRegistrationState()
Returns the state of this address.
int getState()
Returns the state of this address.
int getType()
Returns the type of this address.
void setAutoAcceptStatus(int, Terminal)
Allows the application to enable AutoAccept for addresses
on CiscoMediaTerminal and/or CiscoRouteTerminal.
void setMessageWaiting(java.lang.String destination, boolean
enable)
Specifies whether the message-waiting indicator should be
activated or deactivated for the Address specified by the
destination.
void setRingerStatus(int)
changes the ringer status on this address
Fields
AUTOACCEPT_OFF
public static final int AUTOACCEPT_OFF
AutoAccept is off.
AUTOACCEPT_ON
public static final int AUTOACCEPT_ON
AutoAccept is on.
EXTERNAL
public static final int EXTERNAL
EXTERNAL_UNKNOWN
public static final int EXTERNAL_UNKNOWN
IN_SERVICE
public static final int IN_SERVICE
INTERNAL
public static final int INTERNAL
OUT_OF_SERVICE
public static final int OUT_OF_SERVICE
RINGER_DEFAULT
public static final int RINGER_DEFAULT
RINGER_DISABLE
public static final int RINGER_DISABLE
RINGER_ENABLE
public static final int RINGER_ENABLE
UNKNOWN
public static final int UNKNOWN
Methods
clearCallConnections()
public void clearCallConnections()
throws PrivilegeViolationException
Use this interface to clear off any phantom calls on the address
Throws:
javax.telephony.PrivilegeViolationException
getAddressCallInfo(Terminal)
public com.cisco.jtapi.extensions.CiscoAddressCallInfo
getAddressCallInfo(javax.telephony.Terminal iterminal)
getAutoAcceptStatus(Terminal)
public void getAutoAcceptStatus(javax.telephony.Terminal terminal)
throws PlatformException, InvalidStateException, MethodNotSuppo
rtedException,
Throws:
javax.telephony.InvalidStateException - The Provider is
not “in service”.
javax.telephony.PlatformException - Terminal is not on the
Address.
javax.telephony.MethodNotSupportedException - This
method is not supported ExtraProviderAddresses.
getInServiceAddrTerminals()
public javax.telephony.Terminal[] getInServiceAddrTerminals()
Use this interface to find out which Shared Lines are in service. In Shared
Lines, the same address appears on different Terminals.
Returns:
an array of terminals on which address is in service
getRegistrationState()
public int getRegistrationState()
Deprecated
This method has been replaced by the getState() method.
Returns the state of this address.
The state may be any of the following constants:
• CiscoAddress.OUT_OF_SERVICE
• CiscoAddress.IN_SERVICE
Returns:
the state of this address
getState()
public int getState()
getType()
public int getType()
setAutoAcceptStatus(int, Terminal)
public void getAutoAcceptStatus(int autoAcceptStatus,
javax.telephony.Terminal terminal)
throws PlatformException, InvalidStateException, MethodNotSuppo
rtedException
Post-conditions:
1. (this.getProvider()).getState() == Provider.IN_SERVICE
2. (getState() == IN_SERVICE
Parameters:
value - Can be either CiscoAddress.AUTOACCEPT_OFF or
CiscoAddress.AUTOACCEPT_ON. If autoAcceptStatus is
AUTOACCEPT_ON, it will enable AutoAccept for address on Terminal.
If autoAcceptStatus is AUTOACCEPT_OFF, it will disable AutoAccept
for address on Terminal.
terminal. - It the terminal on which AutoAccept will be enabled
Throws:
javax.telephony.InvalidStateException - The Provider is
not “in service”.
javax.telephony.PlatformException - Terminal is not on the
Address.
javax.telephony.MethodNotSupportedException - This
method is not supported ExtraProviderAddresses.
1. this.getMessageWaiting() == enable
2. CallCtlAddrMessageWaitingEv is delivered for this Address
Parameters:
destination - DN whose message waiting indicator should be
activated
enable - True to activate message-waiting, false to deactivate.
Throws:
javax.telephony.MethodNotSupportedException - This
method is not supported by the given implementation.
javax.telephony.InvalidStateException - The Provider is
not “in service”.
javax.telephony.PrivilegeViolationException - The
Provider user has insufficient privileges to invoke the message waiting
indicator for this destination
setRingerStatus(int)
public void setRingerStatus(int status)
throws MethodNotSupportedException, InvalidStateException, Inva
lidArgumentException
CiscoAddressCallInfo
Declaration
public class CiscoAddressCallInfo
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoAddressCallInfo
Member Summary
Constructors
CiscoAddressCallInfo(int, int, int, int), int
imaxActiveCalls, int inumCallsOnHold, int imaxCallsOnHold)
CiscoAddressCallInfo(int, int, int, int, CiscoCall[]), int
imaxActiveCalls, int inumCallsOnHold, int imaxCallsOnHold,
CiscoCall icalls)
Methods
CiscoCall[] getCalls()
int getMaxActiveCalls()
int getMaxCallsOnHold()
int getNumActiveCalls()
int getNumCallsOnHold()
Constructors
CiscoAddressCallInfo(int, int, int, int)
public CiscoAddressCallInfo(int inumActiveCalls,
int imaxActiveCalls, int inumCallsOnHold, int imaxCallsOnHold)
Methods
getCalls()
public com.cisco.jtapi.extensions.CiscoCall[] getCalls()
getMaxActiveCalls()
public int getMaxActiveCalls()
getMaxCallsOnHold()
public int getMaxCallsOnHold()
getNumActiveCalls()
public int getNumActiveCalls()
getNumCallsOnHold()
public int getNumCallsOnHold()
CiscoAddressObserver
Declaration
public interface CiscoAddressObserver extends
javax.telephony.AddressObserver
All Superinterfaces
javax.telephony.AddressObserver
Description
Applications implement this interface in order to receive CiscoAddrEv events
such as CiscoAddrInServiceEv and CiscoAddrOutOfServiceEv
when observing Addresses via the Address.addObserver method.
See Also:
CiscoAddrInServiceEv, CiscoAddrOutOfServiceEv
CiscoAddrEv
Declaration
public interface CiscoAddrEv extends CiscoEv,
javax.telephony.events.AddrEv
All Superinterfaces
javax.telephony.events.AddrEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoAddrEv interface, which extends JTAPI’s core
javax.telephony.events.AddrEv interface, serves as the base interface
for all Cisco-extended JTAPI Address events. Every Address-related event in this
package extends this interface, directly or indirectly.
See Also:
javax.telephony.events.AddrEv
CiscoAddrInServiceEv
Declaration
public interface CiscoAddrInServiceEv extends CiscoAddrEv
All Superinterfaces
javax.telephony.events.AddrEv, CiscoAddrEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoAddrInServiceEv event
Member Summary
Fields
static int ID
Methods
CiscoTerminal getTerminal()
Returns the terminal at which this address is going
InService.
Fields
ID
public static final int ID
Methods
getTerminal()
public com.cisco.jtapi.extensions.CiscoTerminal getTerminal()
See Also:
CiscoAddress.getInServiceAddressTerminal()
CiscoAddrOutOfServiceEv
Declaration
public interface CiscoAddrOutOfServiceEv extends CiscoAddrEv,
CiscoOutOfServiceEv
All Superinterfaces
javax.telephony.events.AddrEv,CiscoAddrEv, CiscoEv,
CiscoOutOfServiceEv, javax.telephony.events.Ev
Description
The CiscoAddrOutOfServiceEv event
Member Summary
Fields
static int ID
Methods
CiscoTerminal getTerminal()
Returns the terminal at which this address is going
OutOfService.
Fields
ID
public static final int ID
Methods
getTerminal()
public com.cisco.jtapi.extensions.CiscoTerminal getTerminal()
See Also:
CiscoAddress.getInServiceAddressTerminal()
CiscoAddrRemovedEv
Declaration
public interface CiscoAddrRemovedEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoAddrRemovedEv event
Member Summary
Fields
static int ID
Methods
javax.telephony.Address getAddress()
Fields
ID
public static final int ID
Methods
getAddress()
public javax.telephony.Address getAddress()
CiscoAddrRemovedFromTerminalEv
Declaration
public interface CiscoAddrRemovedEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoAddrRemovedFromTerminalEv event gets sent under the following
conditions:
• When User removes a Terminal/Device into the user controlList that contains
SharedDN, this event will be sent to application. If a user has an address in
control list, and we remove a device with same address in control list, this
event will be sent.
• When EM(Extension mobility) user logs out from Terminal with a profile that
contains SharedDN, this event notifies that one of the Terminals is removed
from an existing Address.
• A new SharedDN is removed from a Device in a user control list. Interface
getTerminal() returns the terminal that is removed from the Address.
Interface getAddress() will return the address from where the terminal is
removed.
Member Summary
Fields
static int ID
Methods
javax.telephony.Address getAddress()
Fields
ID
public static final int ID
Methods
getAddress()
public javax.telephony.Address getAddress()
getTerminal()
public javax.telephony.Terminal getTerminal()
CiscoCall
Declaration
public interface CiscoCall extends
javax.telephony.callcontrol.CallControlCall, CiscoObjectContainer
All Superinterfaces
javax.telephony.Call,
javax.telephony.callcontrol.CallControlCall,
CiscoObjectContainer
Description
The CiscoCall interface extends the CallControlCall interface with additional
CallManager-specific capabilities.
In Cisco CallManager terms, every Call object comprises a set of call legs that
share a common identifier: the global call handle. Connection objects represent
call legs in JTAPI, and the Call object that relates a set of Connections contains
the global call handle that the underlying call legs share.
The global call handle within a CiscoCall is accessible via its CallManagerID
and CallID properties. Taken together, the CallManagerID and CallID form the
global call handle maintained by the CallManager. This pair of properties is
guaranteed to be unique among all ACTIVE Call objects, but when an ACTIVE
call becomes INACTIVE, its CallManagerID and CallID may be reused to
identify a newly-created Call object. Therefore, it is possible for an INACTIVE
Call to have identical CallManagerID and CallID properties to those of a currently
ACTIVE Call object.
See Also:
javax.telephony.Call
Member Summary
Methods
void conference(Call[])
Merges N calls together, resulting in the union of the
participants of all the calls being placed on a single
call.
connect(Terminal, Address, String, CiscoRTPParams)
javax.telephony.Connection From the CallEvent perspective, this method behaves
[] similar to Call.connect(Terminal terminal, Address
origaddr, String dialedDigits).
boolean getCalledAddressPI()
Returns Presentation Indicator(PI) associated with
getCalledAddressPI. If it returns true, Application can
display this Address name to end users. If it returns
false, Applications should not display this Address name
to end user.
CiscoCallID getCallID()
CallID is a unique identifier among all ACTIVE calls
with the same CallManagerID.
Member Summary
boolean getCallingAddressPI()
Returns Presentation Indicator(PI) associated with
getCallingAddressPI. If it returns true, Application can
display this Address name to end users. If it returns
false, Applications should not display this Address name
to the end user.
javax.telephony.Address getCurrentCalledAddress()
Returns the current calling address for the call.
boolean getCurrentCalledAddressPI()
Returns Presentation Indicator(PI) associated with
CurrentCalledAddress. If it returns true, Application
can display this Address to end users. If it returns
false, Applications should not display this Address name
to end user.
boolean getCurrentCallingDisplayNamePI()
Returns Presentation Indicator(PI) associated with
getCurredCalledDisplayNamePI. If it returns true,
Application can display this DisplayName to end users.
If it returns false, Applications should not display
this DisplayName to end user.
java.lang.String getCurrentCalledPartyDisplayName()
This interface returns the display of the called party
in the call.
javax.telephony.Address getCurrentCallingAddress()
This interface returns current called address for the
call this will return updated calling address every
every time call is redirected or transferred.
For example, in the CiscoJtapi implementation,
CallControlCall.getCallingAddress() returns the first
calling party of the call.
boolean getCurrentCallingAddressPI()
returns Presentation Indicator(PI) associated with
getCurrentCallingAddressPI If it returns true,
Application can display this Address name to end users
if it returns false, Applications should not display
this Address name to end user
boolean getCurrentCallingDisplayNamePI()
returns Presentation Indicator(PI) associated with
getCurrentCalledDisplayNamePI If it returns true,
Application can display this DisplayName to end users if
it returns false, Applications should not display this
DisplayName to end user
java.lang.String getCurrentCallingPartyDisplayName()
This interface returns the display name of the calling
party.
Member Summary
boolean getLastRedirectingAddressPI()
returns Presentation Indicator(PI) associated with
getLastRedirectingAddressPI If it returns true, Application
can display this Address name to end users if it returns
false, Applications should not display this Address name to
end user
javax.telephony.Address getModifiedCalledAddress()
This interface returns modified called address for the call
if an application modifies its calling party using from
selectRoute API.
javax.telephony.Address getModifiedCallingAddress()
This interface returns modified calling address for the call
if an application modifies its calling party using from
selectRoute API.
javax.telephony.Connection transfer(String, String, String)
This method overloads the CallControlCall.transfer(String)
method.
Methods
conference(Call[])
public void
converence(javax.telephony.Call[] otherCalls)
Throws:
InvalidStateException, InvalidArgumentException,
MethodNotSupportedE xception, PrivilegeViolationException,
ResourceUnavailableException
Merges N Calls together, resulting in the union of the participants of all the
Calls being placed on a single Call. This method takes list of Calls as
argument, referred to hereafter as the “secondary” Calls. All of the
participants from the secondary call are moved to the Call on which this
method is invoked.
See Also:
javax.telephony.events.ConnCreatedEv,
javax.telephony.events.TermConnCreatedEv,
javax.telephony.events.ConnDisconnectedEv,
javax.telephony.events.TermConnDroppedEv,
javax.telephony.events.CallInvalidEv,
javax.telephony.callcontrol.events.CallCtlConnDisconnectedEv,
javax.telephony.callcontrol.events.CallCtlTermConnDroppedEv
getCalledAddressPI()
public boolean getCallAddressPI()
getCallID()
public com.cisco.jtapi.extensions.CiscoCallID getCallID()
CallID is a unique identifier among all ACTIVE calls with the same
CallManagerID.
Returns:
the CallID property of this Call
getCallingAddressPI()
public boolean getCallingAddressPI()
getCurrentCalledAddress()
public javax.telephony.Address getCurrentCalledAddress()
This interface returns current calling address for the call this will return
updated called address every time call gets redirected or transferred.
For example, in the CiscoJtapi implementation,
CallControlCall.getCalledAddress() returns the first called party of the call.
getCurrentCalledAddressPI()
public javax.telephony.Address getCurrentCalledAddressPI()
getCurrentCalledDisplayNamePI()
public boolean getCurrentCalledDisplayNamePI()
getCurrentCalledPartyDisplayName()
public java.lang.String getCurrentCalledPartyDisplayName()
This interface returns the display of the called party in the call. It returns null
if display name is unknown.
getCurrentCallingAddress()
public javax.telephony.Address getCurrentCallingAddress()
This interface returns current called address for the call this will return
updated calling address every time call is redirected or transferred
Usage:
if ( call instanceof CiscoCall ) {
Address currentCalled = ((CiscoCall)call).getCurrentCalling ();
}
See Also:
javax.telephony.callcontrol.CallControlCall
getCurrentCallingAddressPI()
public boolean getCurrentCallingAddressPI()
getCurrentCallingDisplayNamePI()
public boolean getCurrentCallingDisplayNamePI()
getCurrentCallingPartyDisplayName()
public java.lang.String getCurrentCallingPartyDisplayName()
This interface returns the display name of the calling party. It returns null if
display name is unknown.
getLastRedirectingAddressPI()
public boolean getLastRedirectingAddressPI()
getModifiedCalledAddress()
public javax.telephony.Address getModifiedCalledAddress()
This interface returns modified called address for the call if an application
modifies its calling party using from selectRoute API. However, this
information may not be accurate if an application is only controlling the
Route Point that is modifying the calling number. If no modified calling
number is performed, this is similar to getCurrentCalledAddress interface.
Typically, this is varied from getCurrentCalledAddress when a feature is
invoked after modified calling number modifications.
Usage:
if ( call instanceof CiscoCall ) {
Address currentCalled = ((CiscoCall)call).getModifiedCalledAddress
();
}
See Also:
javax.telephony.callcontrol.CallControlCall
getModifiedCallingAddress()
public javax.telephony.Address getModifiedCallingAddress()
This interface returns modified calling address for the call if an application
modifies its calling party using from selectRoute API. However, this
information may not be accurate if an application is only controlling the RP
that is modifying the calling number. If no modified calling number is
performed, this is similar to getCurrentCallingAddress interface.
Usage:
if ( call instanceof CiscoCall ) {
Address currentCalled =
((CiscoCall)call).getModifiedCallingAddress ();
}
See Also:
javax.telephony.callcontrol.CallControlCall
CiscoCallChangedEv
Declaration
public interface CiscoCallChangedEv extends CiscoCallEv,
javax.telephony.events.CallEv
All Superinterfaces
javax.telephony.events.CallEv, CiscoCallEv,
javax.telephony.events.Ev
Description
The CiscoCallChangedEv event is delivered to the call observer whenever the
Global Call ID (GCID) of the call is changed due to path replacement. In the case
of shared lines, multiple CiscoCallChangedEv events would be delivered.
Member Summary
Methods
CiscoCall getSurvivingCall()
Returns a reference to the new call, which would be the surviving
call.
CiscoCall getOriginalCall()
Returns a reference to the old call, which will go to INVALID
state.
getCiscoCause()
Returns CiscoCaqllEv.CAUSE_QSIG_PR when GCID is changed
QSIG Path replacement.
CiscoConnection getConnection()
Returns the connection of the call on which the change has
occurred.
TerminalConnection getTerminalConnection()
Returns the terminal connection of the on which the GCID has
changed. A Null is returned if there is no terminal connection.
Methods
getSurvivingCall()
public com.cisco.jtapi.extensions.CiscoCall getSurvivingCall()
Returns a reference to the new call, which would be the surviving call.
getOriginalCall()
public com.cisco.jtapi.extensions.CiscoCall getOriginalCall()
getCiscoCause()
public int getCiscoCause()
getConnection()
public com.cisco.jtapi.extensions.CiscoConnection getConnection()
Returns the connection of the call on which the change has occurred.
getTerminalConnection()
public javax.telephony.TerminalConnection getTerminalConnection()
Returns the terminal connection of the call on which the GCID has changed.
A Null is returned if there is no terminal connection.
CiscoCallEv
Declaration
public interface CiscoCallEv extends CiscoEv,
javax.telephony.events.CallEv
All Superinterfaces
javax.telephony.events.CallEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoCallEv interface, which extends the JTAPI core
javax.telephony.events.CallEv interface, serves as the base interface
for all Cisco-extended JTAPI Call events. Every Call-related event in this package
extends this interface, directly or indirectly.
See Also:
javax.telephony.events.CallEv
Member Summary
Fields
static int CAUSE_ACCESSINFORMATIONDISCARDED
static int CAUSE_BARGE
static int CAUSE_BCBPRESENTLYAVAIL
static int CAUSE_BCNAUTHORIZED
static int CAUSE_BEARERCAPNIMPL
static int CAUSE_CALLBEINGDELIVERED
static int CAUSE_CALLIDINUSE
static int CAUSE_CALLMANAGER_FAILURE
static int CAUSE_CALLREJECTED
static int CAUSE_CALLSPLIT
static int CAUSE_CHANTYPENIMPL
static int CAUSE_CHANUNACCEPTABLE
Member Summary
static int CAUSE_CTIMANAGER_FAILURE
static int CAUSE_DESTINATIONOUTOFORDER
static int CAUSE_DESTNUMMISSANDDCNOTSUB
static int CAUSE_FACILITYREJECTED
static int CAUSE_IDENTIFIEDCHANDOESNOTEXIST
static int CAUSE_IENIMPL
static int CAUSE_INBOUNDBLINDTRANSFER
static int CAUSE_INBOUNDCONFERENCE
static int CAUSE_INBOUNDTRANSFER
static int CAUSE_INCOMINGCALLBARRED
static int CAUSE_INCOMPATABLEDDESTINATION
static int CAUSE_INTERWORKINGUNSPECIFIED
static int CAUSE_INVALIDCALLREFVALUE
static int CAUSE_INVALIDIECONTENTS
static int CAUSE_INVALIDMESSAGEUNSPECIFIED
static int CAUSE_INVALIDNUMBERFORMAT
static int CAUSE_INVALIDTRANSITNETSEL
static int CAUSE_MANDATORYIEMISSING
static int CAUSE_MSGNCOMPATABLEWCS
static int CAUSE_MSGTYPENCOMPATWCS
static int CAUSE_MSGTYPENIMPL
static int CAUSE_NETOUTOFORDER
static int CAUSE_NOANSWERFROMUSER
static int CAUSE_NOCALLSUSPENDED
static int CAUSE_NOCIRCAVAIL
static int CAUSE_NOERROR
static int CAUSE_NONSELECTEDUSERCLEARING
static int CAUSE_NORMALCALLCLEARING
static int CAUSE_NORMALUNSPECIFIED
static int CAUSE_NOROUTETODDESTINATION
static int CAUSE_NOROUTETOTRANSITNET
static int CAUSE_NOUSERRESPONDING
static int CAUSE_NUMBERCHANGED
static int CAUSE_ONLYRDIVEARERCAPAVAIL
static int CAUSE_OUTBOUNDCONFERENCE
static int CAUSE_OUTBOUNDTRANSFER
static int CAUSE_PROTOCOLERRORUNSPECIFIED
static int CAUSE_QUALOFSERVNAVAIL
static int CAUSE_RECOVERYONTIMEREXPIRY
static int CAUSE_REDIRECTED
static int CAUSE_REQCALLIDHASBEENCLEARED
static int CAUSE_REQCIRCNAVIL
static int CAUSE_REQFACILITYNIMPL
Member Summary
static int CAUSE_CTIMANAGER_FAILURE
static int CAUSE_DESTINATIONOUTOFORDER
static int CAUSE_DESTNUMMISSANDDCNOTSUB
static int CAUSE_FACILITYREJECTED
static int CAUSE_IDENTIFIEDCHANDOESNOTEXIST
static int CAUSE_IENIMPL
static int CAUSE_INBOUNDBLINDTRANSFER
static int CAUSE_INBOUNDCONFERENCE
static int CAUSE_INBOUNDTRANSFER
static int CAUSE_INCOMINGCALLBARRED
static int CAUSE_INCOMPATABLEDDESTINATION
static int CAUSE_INTERWORKINGUNSPECIFIED
static int CAUSE_INVALIDCALLREFVALUE
static int CAUSE_INVALIDIECONTENTS
static int CAUSE_INVALIDMESSAGEUNSPECIFIED
static int CAUSE_INVALIDNUMBERFORMAT
static int CAUSE_INVALIDTRANSITNETSEL
static int CAUSE_MANDATORYIEMISSING
static int CAUSE_MSGNCOMPATABLEWCS
static int CAUSE_MSGTYPENCOMPATWCS
static int CAUSE_MSGTYPENIMPL
static int CAUSE_NETOUTOFORDER
static int CAUSE_NOANSWERFROMUSER
static int CAUSE_NOCALLSUSPENDED
static int CAUSE_NOCIRCAVAIL
static int CAUSE_NOERROR
static int CAUSE_NONSELECTEDUSERCLEARING
static int CAUSE_NORMALCALLCLEARING
static int CAUSE_NORMALUNSPECIFIED
static int CAUSE_NOROUTETODDESTINATION
static int CAUSE_NOROUTETOTRANSITNET
static int CAUSE_NOUSERRESPONDING
static int CAUSE_NUMBERCHANGED
static int CAUSE_ONLYRDIVEARERCAPAVAIL
static int CAUSE_OUTBOUNDCONFERENCE
static int CAUSE_OUTBOUNDTRANSFER
static int CAUSE_PROTOCOLERRORUNSPECIFIED
static int CAUSE_QUALOFSERVNAVAIL
static int CAUSE_RECOVERYONTIMEREXPIRY
static int CAUSE_REDIRECTED
static int CAUSE_REQCALLIDHASBEENCLEARED
static int CAUSE_REQCIRCNAVIL
static int CAUSE_REQFACILITYNIMPL
Member Summary
static int CAUSE_REQFACILITYNOTSUBSCRIBED
static int CAUSE_RESOURCESNAVAIL
static int CAUSE_RESPONSETOSTATUSENQUIRY
static int CAUSE_SERVNOTAVAILUNSPECIFIED
static int CAUSE_SERVOPERATIONVIOLATED
static int CAUSE_SERVOROPTNAVAILORIMPL
static int CAUSE_SUSPCALLBUTNOTTHISONE
static int CAUSE_SWITCHINGEQUIPMENTCONGESTION
static int CAUSE_TEMPORARYFAILURE
static int CAUSE_UNALLOCATEDNUMBER
static int CAUSE_USERBUSY
Methods
int getCiscoCause()
Returns the CallManager cause for this event.
Fields
CAUSE_ACCESSINFORMATIONDISCARDED
public static final int CAUSE_ACCESSINFORMATIONDISCARDED
CAUSE_BARGE
public static final int CAUSE_BARGE
CAUSE_BCBPRESENTLYAVAIL
public static final int CAUSE_BCBPRESENTLYAVAIL
CAUSE_BCNAUTHORIZED
public static final int CAUSE_BCNAUTHORIZED
CAUSE_BEARERCAPNIMPL
public static final int CAUSE_BEARERCAPNIMPL
CAUSE_CALLBEINGDELIVERED
public static final int CAUSE_CALLBEINGDELIVERED
CAUSE_CALLIDINUSE
public static final int CAUSE_CALLIDINUSE
CAUSE_CALLMANAGER_FAILURE
public static final int CAUSE_CALLMANAGER_FAILURE
CAUSE_CALLREJECTED
public static final int CAUSE_CALLREJECTED
CAUSE_CALLSPLIT
public static final int CAUSE_CALLSPLIT
CAUSE_CHANTYPENIMPL
public static final int CAUSE_CHANTYPENIMPL
CAUSE_CHANUNACCEPTABLE
public static final int CAUSE_CHANUNACCEPTABLE
CAUSE_CTIMANAGER_FAILURE
public static final int CAUSE_CTIMANAGER_FAILURE
CAUSE_DESTINATIONOUTOFORDER
public static final int CAUSE_DESTINATIONOUTOFORDER
CAUSE_DESTNUMMISSANDDCNOTSUB
public static final int CAUSE_DESTNUMMISSANDDCNOTSUB
CAUSE_FACILITYREJECTED
public static final int CAUSE_FACILITYREJECTED
CAUSE_IDENTIFIEDCHANDOESNOTEXIST
public static final int CAUSE_IDENTIFIEDCHANDOESNOTEXIST
CAUSE_IENIMPL
public static final int CAUSE_IENIMPL
CAUSE_INBOUNDBLINDTRANSFER
public static final int CAUSE_INBOUNDBLINDTRANSFER
CAUSE_INBOUNDCONFERENCE
public static final int CAUSE_INBOUNDCONFERENCE
CAUSE_INBOUNDTRANSFER
public static final int CAUSE_INBOUNDTRANSFER
CAUSE_INCOMINGCALLBARRED
public static final int CAUSE_INCOMINGCALLBARRED
CAUSE_INCOMPATABLEDDESTINATION
public static final int CAUSE_INCOMPATABLEDDESTINATION
CAUSE_INTERWORKINGUNSPECIFIED
public static final int CAUSE_INTERWORKINGUNSPECIFIED
CAUSE_INVALIDCALLREFVALUE
public static final int CAUSE_INVALIDCALLREFVALUE
CAUSE_INVALIDIECONTENTS
public static final int CAUSE_INVALIDIECONTENTS
CAUSE_INVALIDMESSAGEUNSPECIFIED
public static final int CAUSE_INVALIDMESSAGEUNSPECIFIED
CAUSE_INVALIDNUMBERFORMAT
public static final int CAUSE_INVALIDNUMBERFORMAT
CAUSE_INVALIDTRANSITNETSEL
public static final int CAUSE_INVALIDTRANSITNETSEL
CAUSE_MANDATORYIEMISSING
public static final int CAUSE_MANDATORYIEMISSING
CAUSE_MSGNCOMPATABLEWCS
public static final int CAUSE_MSGNCOMPATABLEWCS
CAUSE_MSGTYPENCOMPATWCS
public static final int CAUSE_MSGTYPENCOMPATWCS
CAUSE_MSGTYPENIMPL
public static final int CAUSE_MSGTYPENIMPL
CAUSE_NETOUTOFORDER
public static final int CAUSE_NETOUTOFORDER
CAUSE_NOANSWERFROMUSER
public static final int CAUSE_NOANSWERFROMUSER
CAUSE_NOCALLSUSPENDED
public static final int CAUSE_NOCALLSUSPENDED
CAUSE_NOCIRCAVAIL
public static final int CAUSE_NOCIRCAVAIL
CAUSE_NOERROR
public static final int CAUSE_NOERROR
CAUSE_NONSELECTEDUSERCLEARING
public static final int CAUSE_NONSELECTEDUSERCLEARING
CAUSE_NORMALCALLCLEARING
public static final int CAUSE_NORMALCALLCLEARING
CAUSE_NORMALUNSPECIFIED
public static final int CAUSE_NORMALUNSPECIFIED
CAUSE_NOROUTETODDESTINATION
public static final int CAUSE_NOROUTETODDESTINATION
CAUSE_NOROUTETOTRANSITNET
public static final int CAUSE_NOROUTETOTRANSITNET
CAUSE_NOUSERRESPONDING
public static final int CAUSE_NOUSERRESPONDING
CAUSE_NUMBERCHANGED
public static final int CAUSE_NUMBERCHANGED
CAUSE_ONLYRDIVEARERCAPAVAIL
public static final int CAUSE_ONLYRDIVEARERCAPAVAIL
CAUSE_OUTBOUNDCONFERENCE
public static final int CAUSE_OUTBOUNDCONFERENCE
CAUSE_OUTBOUNDTRANSFER
public static final int CAUSE_OUTBOUNDTRANSFER
CAUSE_PROTOCOLERRORUNSPECIFIED
public static final int CAUSE_PROTOCOLERRORUNSPECIFIED
CAUSE_QUALOFSERVNAVAIL
public static final int CAUSE_QUALOFSERVNAVAIL
CAUSE_RECOVERYONTIMEREXPIRY
public static final int CAUSE_RECOVERYONTIMEREXPIRY
CAUSE_REDIRECTED
public static final int CAUSE_REDIRECTED
CAUSE_REQCALLIDHASBEENCLEARED
public static final int CAUSE_REQCALLIDHASBEENCLEARED
CAUSE_REQCIRCNAVIL
public static final int CAUSE_REQCIRCNAVIL
CAUSE_REQFACILITYNIMPL
public static final int CAUSE_REQFACILITYNIMPL
CAUSE_REQFACILITYNOTSUBSCRIBED
public static final int CAUSE_REQFACILITYNOTSUBSCRIBED
CAUSE_RESOURCESNAVAIL
public static final int CAUSE_RESOURCESNAVAIL
CAUSE_RESPONSETOSTATUSENQUIRY
public static final int CAUSE_RESPONSETOSTATUSENQUIRY
CAUSE_SERVNOTAVAILUNSPECIFIED
public static final int CAUSE_SERVNOTAVAILUNSPECIFIED
CAUSE_SERVOPERATIONVIOLATED
public static final int CAUSE_SERVOPERATIONVIOLATED
CAUSE_SERVOROPTNAVAILORIMPL
public static final int CAUSE_SERVOROPTNAVAILORIMPL
CAUSE_SUSPCALLBUTNOTTHISONE
public static final int CAUSE_SUSPCALLBUTNOTTHISONE
CAUSE_SWITCHINGEQUIPMENTCONGESTION
public static final int CAUSE_SWITCHINGEQUIPMENTCONGESTION
CAUSE_TEMPORARYFAILURE
public static final int CAUSE_TEMPORARYFAILURE
CAUSE_UNALLOCATEDNUMBER
public static final int CAUSE_UNALLOCATEDNUMBER
CAUSE_USERBUSY
public static final int CAUSE_USERBUSY
Methods
getCiscoCause()
public int getCiscoCause()
CiscoCallID
Declaration
public interface CiscoCallID extends CiscoObjectContainer
All Superinterfaces
CiscoObjectContainer
Description
The CiscoCallID object represents a unique object associated with each call.
Applications may use the object itself or the integer representation of the object
returned by the intValue() method.
Member Summary
Methods
CiscoCall getCall()
int getCallManagerID()
returns the call manager nodeID of the call
int getGlobalCallID()
returns the GlobalCallID of the call
int intValue()
Returns an integer representation of this object,
currently a bitwise OR of the CallManagerID and
GlobalCallID properties (shifted and truncated
appropriately)
Methods
getCall()
public com.cisco.jtapi.extensions.CiscoCall getCall()
getCallManagerID()
public int getCallManagerID()
getGlobalCallID()
public int getGlobalCallID()
intValue()
public int intValue()
Returns:
an integer representation of this object
CiscoConferenceEndEv
Declaration
public interface CiscoConferenceEndEv extends CiscoCallEv
All Superinterfaces
javax.telephony.events.CallEv, CiscoCallEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoConferenceEndEv event indicates that a transfer operation has
completed. This event is reported via the CallControlCallObserver
interface.
Member Summary
Fields
static int ID
Methods
javax.telephony.Address getConferenceControllerAddress()
Returns the Address, which currently acts as the
conference controller for this call —- the initiating
call.
javax.telephony.Call getConferencedCall()
Returns the call that have merged.
javax.telephony.Call[] getFailedCalls()
Returns a list of the calls that could not be
conferenced.
Member Summary
javax.telephony.Call getFinalCall()
Returns the call that remains active after the
conference completes.
getHeldConferenceController()
javax.telephony.TerminalCo Returns the TerminalConnection, which currently acts as
nnection the conference controller for this call —- the
initiating call.
getHeldConferenceControllers()
javax.telephony.TerminalCo Returns the TerminalConnection, which currently acts as
nnection[] the conference controller for this call —- the
initiating call.
getTalkingConferenceController()
javax.telephony.TerminalCo Returns the TerminalConnection, which currently acts as
nnection the conference controller for this call —- the
initiating call.
boolean isSuccess()
Returns True or False depending on whether Conference is
successful or failed.
Fields
ID
public static final int ID
Methods
getConferenceControllerAddress()
public javax.telephony.Address getConferenceControllerAddress()
Returns the Address which currently acts as the conference controller for this
call —- the initiating call.
getConferencedCall()
public javax.telephony.Call getConferencedCall()
Returns the call that has been merged. This call is in the Call.INVALID
state.
getFailedCalls()
public favax.telephony.Call[] getFailedCalls{}
getFinalCall()
public javax.telephony.Call getFinalCall()
Returns the call that remains active after the conference is completed.
getHeldConferenceController()
public javax.telephony.TerminalConnection
getHeldConferenceController()
getHeldConferenceControllers()
public javax.telephony.TerminalConnection[]
getHeldConferenceControllers()
getTalkingConferenceController()
public javax.telephony.TerminalConnection
getTalkingConferenceController()
isSuccess()
public boolean isSuccess()
CiscoConferenceStartEv
Declaration
public interface CiscoConferenceStartEv extends CiscoCallEv
All Superinterfaces
javax.telephony.events.CallEv, CiscoCallEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoConferenceStartEv event indicates that a conference operation
has started. This event is reported via the CallControlCallObserver
interface.
Member Summary
Fields
static int ID
Methods
javax.telephony.Address getConferenceControllerAddress()
Returns the Address which currently acts as the
conference controller for this call —- the initiating
call.
javax.telephony.Call getConferencedCall()
Returns the call that will be conferenced.
javax.telephony.Call[] getConferencedCalls()
Returns the list of the calls that will be conferenced.
Member Summary
javax.telephony.Call getFinalCall()
Returns the call that will remain active after the
conference is completed.
getHeldConferenceController()
javax.telephony.TerminalCo Returns the TerminalConnection which currently acts as
nnection the conference controller for this call —- the
initiating call.
javax.telephony.TerminalCo getHeldConferenceControllers()
nnection[] Returns the TerminalConnection that currently acts as
the conference controller for this call — the initiating
call.
getTalkingConferenceController()
javax.telephony.TerminalCo Returns the TerminalConnection which currently acts as
nnection the conference controller for this call —- the
initiating call.
Fields
ID
public static final int ID
Methods
getConferenceControllerAddress()
public javax.telephony.Address getConferenceControllerAddress()
Returns the Address which currently acts as the conference controller for this
call —- the initiating call.
getConferencedCall()
public javax.telephony.Call getConferencedCall()
Returns the call that will be conferenced. This is the call that will be merged
into the initiating call.
getConferencedCalls()
public javax.telephony.Call getConferencedCalls()
Returns the list of calls that will be conferenced. This is the call that will be
merged into the final call.
getFinalCall()
public javax.telephony.Call getFinalCall()
Returns the call that will remain active after the conference is completed. This
is the call all calls are finally merged into.
getHeldConferenceController()
public javax.telephony.TerminalConnection
getHeldConferenceController()
getHeldConferenceControllers()
public javax.telephony.TerminalConnection
getHeldConferenceControllers()
getTalkingConferenceController()
public javax.telephony.TerminalConnection
getTalkingConferenceController()
CiscoConnection
Declaration
public interface CiscoConnection extends
javax.telephony.callcontrol.CallControlConnection,
CiscoObjectContainer
All Superinterfaces
javax.telephony.callcontrol.CallControlConnection,
CiscoObjectContainer, javax.telephony.Connection
Description
The CiscoConnection interface extends the CallControlConnection interface
with additional CallManager-specific capabilities.
Applications can use the getReason method to obtain the reason for the
creation of this Connection.
Member Summary
Fields
static int ADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using
the search space of the redirect controller’s address.
static int CALLED_ADDRESS_DEFAULT
This option indicates that the default behavior for
Cisco JTAPI should apply.
static int CALLED_ADDRESS_SET_TO_REDIRECT_DESTINATION
This option indicates that the calledAddress should be
reset to the redirect destination.
static int CALLED_ADDRESS_UNCHANGED
This option indicates that the calledAddress should
remain unchanged after the redirect operation.
Member Summary
static int CALLINGADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using
the search space of the calling address.
static int DEFAULT_SEARCH_SPACE
This indicates that the redirect should be done using
the search space that is the default for the
implementation.
static int REASON_DIRECTCALL
This Connection was the result of a direct call.
static int REASON_FORWARDALL
This Connection was the result of unconditional
forwarding.
static int REASON_FORWARDBUSY
This Connection was the result of a forwarding on busy.
static int REASON_FORWARDNOANSWER
This Connection was the result of a forwarding on no
answer.
static int REASON_OUTBOUND
This Connection is an originating Connection, not a
destination Connection.
static int REASON_REDIRECT
This Connection was the result of a redirection.
static int REASON_TRANSFERREDCALL
This Connection was the result of a transfer.
static int REDIRECT_DROP_ON_FAILURE
This redirect mode instructs the implementation to
perform redirect without checking the validity or
availability of the destination.
static int REDIRECT_NORMAL
This redirect mode instructs the implementation to
perform redirect if the destination is valid and
available.
Methods
CiscoConnectionID getConnectionID()
CiscoConnectionID is a unique object that identifier
among all ACTIVE calls with the same CallManagerID.
int getReason()
Returns the reason for the creation of this Connection.
getRedirectController()
javax.telephony.TerminalC This method returns the current redirectController for
onnection the connection.
java.lang.String park()
This method parks the call at a system park port and
returns the address of the port.
Member Summary
redirect(String, int)
javax.telephony.Connectio This method overloads the
n CallControlConnection.redirect() method.
redirect(String, int, int)
javax.telephony.Connectio This method overloads the
n CallControlConnection.redirect() method.
redirect(String, int, int, int)
javax.telephony.Connectio This method overloads the
n CallControlConnection.redirect() method.
Fields
ADDRESS_SEARCH_SPACE
public static final int ADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using the search space of the
redirect controller’s address.
CALLED_ADDRESS_DEFAULT
public static final int CALLED_ADDRESS_DEFAULT
This option indicates that the default behavior for Cisco JTAPI should apply.
Cisco JTAPI’s default behavior is the same as
CALLED_ADDRESS_UNCHANGED.
CALLED_ADDRESS_SET_TO_REDIRECT_DESTINATION
public static final int CALLED_ADDRESS_SET_TO_REDIRECT_DESTINATION
This option indicates that the calledAddress should be reset to the redirect
destination.
CALLED_ADDRESS_UNCHANGED
public static final int CALLED_ADDRESS_UNCHANGED
This option indicates that the calledAddress should remain unchanged after
the redirect operation.
CALLINGADDRESS_SEARCH_SPACE
public static final int CALLINGADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using the search space of the
calling address.
DEFAULT_SEARCH_SPACE
public static final int DEFAULT_SEARCH_SPACE
This indicates that the redirect should be done using the search space that is
the default for the implementation. The default is to use the calling address’s
search space.
REASON_DIRECTCALL
public static final int REASON_DIRECTCALL
REASON_FORWARDALL
public static final int REASON_FORWARDALL
REASON_FORWARDBUSY
public static final int REASON_FORWARDBUSY
REASON_FORWARDNOANSWER
public static final int REASON_FORWARDNOANSWER
REASON_OUTBOUND
public static final int REASON_OUTBOUND
REASON_REDIRECT
public static final int REASON_REDIRECT
REASON_TRANSFERREDCALL
public static final int REASON_TRANSFERREDCALL
REDIRECT_DROP_ON_FAILURE
public static final int REDIRECT_DROP_ON_FAILURE
REDIRECT_NORMAL
public static final int REDIRECT_NORMAL
Methods
getAddressPI()
public boolean getAddressPI()
getConnectionID()
public com.cisco.jtapi.extensions.CiscoConnectionID
getConnectionID()
getReason()
public int getReason()
The reason for a Connection creation may be any of the following constants:
• CiscoConnection.REASON_DIRECTCALL
• CiscoConnection.REASON_TRANSFERREDCALL
• CiscoConnection.REASON_FORWARDNOANSWER
• CiscoConnection.REASON_FORWARDBUSY
• CiscoConnection.REASON_FORWARDALL
• CiscoConnection.REASON_REDIRECT
• CiscoConnection.REASON_NORMAL
All of the reasons except for REASON_TRANSFERORIGINATION and
REASON_NORMAL are associated with inbound, or destination Connections.
The REASON_NORMAL reason is associated without outbound, or originating
Connections.
Returns:
the reason for the creation of this Connection
getRedirectController()
public javax.telephony.TerminalConnection getRedirectController()
park()
public java.lang.String park()
throws InvalidArgumentException, PrivilegeViolationException,
ResourceUnavailableException, InvalidStateException
This method parks the call at a system park port and returns the address of the
port. The call can be unparked using this address.
Throws:
javax.telephony.InvalidStateException,
javax.telephony.ResourceUnavailableException,
javax.telephony.PrivilegeViolationException,
javax.telephony.InvalidArgumentException
redirect(String, int)
public javax.telephony.Connection redirect(java.lang.String
destinationAddress, int mode)
throws InvalidStateException, InvalidPartyException, MethodNotS
upportedException, PrivilegeViolationException, ResourceUnavail
ableException
Throws:
javax.telephony.ResourceUnavailableException,
javax.telephony.PrivilegeViolationException,
javax.telephony.MethodNotSupportedException,
javax.telephony.InvalidPartyException,
javax.telephony.InvalidStateException
The redirectMode is used to select which type of redirect to perform, and the
callingSearchSpace is used to instruct the implementation to use either the
calling party's search space or the redirect controller's search space.
The redirectMode parameter may be:
1. CiscoConnection.REDIRECT_DROP_ON_FAILURE
2. CiscoConnection.REDIRECT_NORMAL
Read above for a description of what each of these means.
The callingSearchSpace parameter may be:
1. CiscoConnection.DEFAULT_SEARCH_SPACE
2. CiscoConnection.CALLINGADDRESS_SEARCH_SPACE
3. CiscoConnection.ADDRESS_SEARCH_SPACE
Read above for a description of what each of these means.
setRequestController(TerminalConnection)
public void
setRequestController(javax.telephony.TerminalConnection tc)
throws InvalidArgumentException, InvalidStateException
Example 2-1 Redirect: Address A has two active terminalConnection TC1 and
TC2 Application want to redirect Call T2 to C.
CiscoConnection.setRequqestController(TC2);
CiscoConnection.redirect(C);
Example 2-2 Park: Address A have two active TerminalConnection TC1 and
TC2 Application want to Park the Call at T2
CiscoConnection.setRequestController(TC2);
CiscoConnection.park();
Throws:
javax.telephony.InvalidStateException,
javax.telephony.InvalidArgumentException
CiscoConnectionID
Declaration
public interface CiscoConnectionID extends CiscoObjectContainer
All Superinterfaces
CiscoObjectContainer
Description
The CiscoConnectionID object represents a unique object associated with
each connection. Applications may use the object itself or the integer
representation of the object returned by the intValue() method.
Member Summary
Methods
CiscoConnection getConnection()
int intValue()
Returns an integer representation of this object,
currently the CallManager CallLeg ID.
Methods
getConnection()
public com.cisco.jtapi.extensions.CiscoConnection getConnection()
intValue()
public int intValue()
Returns:
an integer representation of this object
CiscoConsultCall
Declaration
public interface CiscoConsultCall extends CiscoCall
All Superinterfaces
javax.telephony.Call,
javax.telephony.callcontrol.CallControlCall,
CiscoCall, CiscoObjectContainer
Description
The CiscoConsultCall interface extends the CiscoCall interface to expose
certain properties of Calls that have been created as part of a consultative transfer
or consultative conference.
See Also:
javax.telephony.Call
Member Summary
Methods
consultWithoutMedia(TerminalConnection, String)
javax.telephony.Connectio From CallEvent perspective, this method behaves similar
n[] to CallControlCall.consult(TerminalConnection tc, String
dialedDigits).
Member Summary
getConsultingTerminalConnection()
javax.telephony.TerminalC Returns the consulting TerminalConnection that was used
onnection to create this CiscoConsultCall.
Methods
consultWithoutMedia(TerminalConnection, String)
public javax.telephony.Connection[]
consultWithoutMedia(javax.telephony.TerminalConnection tc,
java.lang.String dialedDigits)
throws InvalidStateException, InvalidArgumentException, MethodN
otSupportedException, ResourceUnavailableException, PrivilegeVi
olationException, InvalidPartyException
getConsultingTerminalConnection()
public javax.telephony.TerminalConnection
getConsultingTerminalConnection()
applications that wish to correlate a ConsultCall with its original Call. Note
that the original Call does not have any methods which may be used to
determine the ConsultCall, if any, to which it is related.
Returns:
null if this Call is not the result of a consultation, or the consulting
TerminalConnection of the original Call if this Call is the result of a
consultation.
CiscoConsultCallActiveEv
Declaration
public interface CiscoConsultCallActiveEv extends CiscoCallEv,
javax.telephony.events.CallActiveEv
All Superinterfaces
javax.telephony.events.CallActiveEv,
javax.telephony.events.CallEv, CiscoCallEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoConsultCallActiveEv event interface extends the JTAPI
CallActiveEv. It indicates that the state of the Call object has changed to
Call.ACTIVE and that the call was initiated as a result of a consultative transfer
or consultative conference operation (manual or programmatic). Applications can
obtain the consulting TerminalConnection on the original (consulting) call by
using the CiscoConsultCall.getConsultingTerminalConnection
method.
This event is reported to applications via the CallObserver interface.
See Also:
javax.telephony.Call, javax.telephony.CallObserver,
javax.telephony.events.CallActiveEv
Member Summary
Fields
static int ID
Member Summary
Methods
getHeldTerminalConnection()
javax.telephony.TerminalC Returns the consulting TerminalConnection that was used
onnection to create this CiscoConsultCall.
Fields
ID
public static final int ID
Methods
getHeldTerminalConnection()
public javax.telephony.TerminalConnection
getHeldTerminalConnection()
Deprecated.
replaced by CiscoConsultCall.getConsultingTerminalConnection ()
Returns the consulting TerminalConnection that was used to create this
CiscoConsultCall.
This may be useful to applications that wish to correlate a consultation Call
with its original Call. Note that the original Call does not have any methods
which may be used to determine the consultation Call, if any, to which it is
related.
Returns:
the consulting TerminalConnection of the Call that created the Call
referenced by this event
CiscoEv
Declaration
public interface CiscoEv extends javax.telephony.events.Ev
All Superinterfaces
javax.telephony.events.Ev
Description
The CiscoEv interface, which extends JTAPI’s core
javax.telephony.events.Ev interface, serves as the base interface for all
Cisco-extended JTAPI events. Every event in this package extends this interface,
directly or indirectly.
See Also:
javax.telephony.events.Ev
CiscoG711MediaCapability
Declaration
public class CiscoG711MediaCapability extends CiscoMediaCapability
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoMediaCapability
|
+--com.cisco.jtapi.extensions.CiscoG711MediaCapability
Description
The CiscoG711MediaCapability object specifies the properties for a
G.711 encoded RTP stream. Applications that support G.711 media termination
use this object to specify their preferred packet size when registering a
CiscoMediaTerminal.
The default packet size is thirty milliseconds.
Member Summary
Fields
static int FRAMESIZE_SIXTY_MILLISECOND_PACKET
The frames-per-packet value for 60 millisecond packets
static int FRAMESIZE_THIRTY_MILLISECOND_PACKET
The frames-per-packet value for 30 millisecond packets
static int FRAMESIZE_TWENTY_MILLISECOND_PACKET
The frames-per-packet value for 20 millisecond packets
Constructors
CiscoG711MediaCapability()
Constructs a CiscoG711MediaCapability</CODE object with a
default thirty millisecond packet size.
CiscoG711MediaCapability(int)
Constructs a CiscoG711MediaCapability</CODE object with
the specified packet size.
Fields
FRAMESIZE_SIXTY_MILLISECOND_PACKET
public static final int FRAMESIZE_SIXTY_MILLISECOND_PACKET
FRAMESIZE_THIRTY_MILLISECOND_PACKET
public static final int FRAMESIZE_THIRTY_MILLISECOND_PACKET
FRAMESIZE_TWENTY_MILLISECOND_PACKET
public static final int FRAMESIZE_TWENTY_MILLISECOND_PACKET
Constructors
CiscoG711MediaCapability()
public CiscoG711MediaCapability()
CiscoG711MediaCapability(int)
public CiscoG711MediaCapability(int maxFramesPerPacket)
CiscoG723MediaCapability
Declaration
public class CiscoG723MediaCapability extends CiscoMediaCapability
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoMediaCapability
|
+--com.cisco.jtapi.extensions.CiscoG723MediaCapability
Description
The CiscoG723MediaCapability object specifies the properties for a
G.723 encoded RTP stream. Applications that support G.723 media termination
use this object to specify their preferred packet size and bit rate when registering
a CiscoMediaTerminal.
The default packet size is thirty milliseconds and the default bit rate is 6.4k.
Member Summary
Fields
static int FRAMESIZE_SIXTY_MILLISECOND_PACKET
The frames-per-packet value for 60 millisecond packets
static int FRAMESIZE_THIRTY_MILLISECOND_PACKET
The frames-per-packet value for 30 millisecond packets
static int FRAMESIZE_TWENTY_MILLISECOND_PACKET
The frames-per-packet value for 20 millisecond packets
Constructors
CiscoG723MediaCapability()
Constructs a CiscoG723MediaCapability</CODE object with a
default thirty millisecond packet size and 6.4k bit rate.
CiscoG723MediaCapability(int, int)
Constructs a CiscoG723MediaCapability</CODE object with
the specified packet size and bit rate.
Methods
int getBitRate()
Returns the bit rate specified by this capability object.
java.lang.String toString()
Fields
FRAMESIZE_SIXTY_MILLISECOND_PACKET
public static final int FRAMESIZE_SIXTY_MILLISECOND_PACKET
FRAMESIZE_THIRTY_MILLISECOND_PACKET
public static final int FRAMESIZE_THIRTY_MILLISECOND_PACKET
FRAMESIZE_TWENTY_MILLISECOND_PACKET
public static final int FRAMESIZE_TWENTY_MILLISECOND_PACKET
Constructors
CiscoG723MediaCapability()
public CiscoG723MediaCapability()
CiscoG723MediaCapability(int, int)
public CiscoG723MediaCapability(int maxFramesPerPacket,
int bitRate)
Methods
getBitRate()
public int getBitRate()
toString()
public java.lang.String toString()
Overrides:
toString in class CiscoMediaCapability
CiscoG729MediaCapability
Declaration
public class CiscoG729MediaCapability extends CiscoMediaCapability
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoMediaCapability
|
+--com.cisco.jtapi.extensions.CiscoG729MediaCapability
Description
The CiscoG729MediaCapability object specifies the properties for a
G.729 encoded RTP stream. Applications that support G.729 media termination
use this object to specify their preferred packet size when registering a
CiscoMediaTerminal.
The default packet size is thirty milliseconds.
Member Summary
Fields
static int FRAMESIZE_SIXTY_MILLISECOND_PACKET
The frames-per-packet value for 60 millisecond packets
static int FRAMESIZE_THIRTY_MILLISECOND_PACKET
The frames-per-packet value for 30 millisecond packets
static int FRAMESIZE_TWENTY_MILLISECOND_PACKET
The frames-per-packet value for 20 millisecond packets
Constructors
CiscoG729MediaCapability()
Constructs a CiscoG729MediaCapability</CODE object with a
default G729 payload and thirty millisecond packet size.
CiscoG729MediaCapability(int, int)
Constructs a CiscoG729MediaCapability</CODE object with
the specified packet size and payload.
Fields
FRAMESIZE_SIXTY_MILLISECOND_PACKET
public static final int FRAMESIZE_SIXTY_MILLISECOND_PACKET
FRAMESIZE_THIRTY_MILLISECOND_PACKET
public static final int FRAMESIZE_THIRTY_MILLISECOND_PACKET
FRAMESIZE_TWENTY_MILLISECOND_PACKET
public static final int FRAMESIZE_TWENTY_MILLISECOND_PACKET
Constructors
CiscoG729MediaCapability()
public CiscoG729MediaCapability()
CiscoG729MediaCapability(int, int)
public CiscoG729MediaCapability(int payload,
int maxFramesPerPacket)
CiscoGSMMediaCapability
Declaration
public class CiscoGSMMediaCapability extends CiscoMediaCapability
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoMediaCapability
|
+--com.cisco.jtapi.extensions.CiscoGSMMediaCapability
Description
The CiscoGSMMediaCapability object specifies the properties for a GSM
encoded RTP stream. Applications that support GSM media termination use this
object to specify their preferred packet size when registering a
CiscoMediaTerminal.
The default packet size is thirty milliseconds.
Member Summary
Fields
static int FRAMESIZE_EIGHTY_MILLISECOND_PACKET
The frames-per-packet value for 30 millisecond packets
Constructors
CiscoGSMMediaCapability()
Constructs a CiscoGSMMediaCapability</CODE object with a
default eighty millisecond packet size.
CiscoGSMMediaCapability(int)
Constructs a CiscoGSMMediaCapability</CODE object with
the specified packet size.
Fields
FRAMESIZE_EIGHTY_MILLISECOND_PACKET
public static final int FRAMESIZE_EIGHTY_MILLISECOND_PACKET
Constructors
CiscoGSMMediaCapability()
public CiscoGSMMediaCapability()
CiscoGSMMediaCapability(int)
public CiscoGSMMediaCapability(int maxFramesPerPacket)
CiscoJtapiException
Declaration
public interface CiscoJtapiException
Description
The CiscoJtapiException interface defines CTI error codes. These are the error
codes that may be returned by CTI requests. All the JTAPI exceptions have been
extended to implement this interface. The Error codes can be got by casting the
exception to CiscoJtapiException and calling the method getErrorCode(). If 'e' is
any exception caught in an application, see if its an instance of
CiscoJtapiException.
try {
// some code here }
catch ( Exception e ) {
if( e instanceof CiscoJtapiException){
CiscoJtapiException ce =
com.cisco.cti.client.CTIFAILURE.(CiscoJtapiException) e
int errorCode = com.cisco.cti.client.CTIFAILURE.ce.getErrorCode()
//returns the ErrorCode.
}
}
Member Summary
Fields
static int ASSOCIATED_LINE_NOT_OPEN
static int CALL_ALREADY_EXISTS
public static final int CALL_DROPPED
static int CALLHANDLE_NOTINCOMINGCALL
static int CALLHANDLE_UNKNOWN_TO_LINECONTROL
static int CANNOT_OPEN_DEVICE
static int CANNOT_TERMINATE_MEDIA_ON_PHONE
static int CFWDALL_ALREADY_OFF
static int CFWDALL_ALREADY_SET
Member Summary
static int CFWDALL_DESTN_INVALID
static int CLUSTER_LINK_FAILURE
static int COMMAND_NOT_IMPLEMENTED_ON_DEVICE
static int CONFERENCE_ALREADY_PRESENT
static int CONFERENCE_FAILED
static int CONFERENCE_FULL
static int CONFERENCE_INACTIVE
static int CONFERENCE_INVALID_PARTICIPANT
static int CTIERR_ACCESS_TO_DEVICE_DENIED
static int CTIERR_APP_SOFTKEYS_ALREADY_CONTROLLED
static int CTIERR_APPLICATION_DATA_SIZE_EXCEEDED
static int CTIERR_CALL_MANAGER_NOT_AVAILABLE
static int CTIERR_CALL_NOT_EXISTED
static int CTIERR_CALL_PARK_NO_DN
static int CTIERR_CALL_REQUEST_ALREADY_OUTSTANDING
static int CTIERR_CALL_UNPARK_FAILED
static int CTIERR_CAPABILITIES_DO_NOT_MATCH
static int CTIERR_CLOSE_DELAY_NOT_SUPPORTED_WITH_REG_TYPE
static int CTIERR_CONFERENCE_ALREADY_EXISTED
static int CTIERR_CONFERENCE_NOT_EXISTED
static int CTIERR_CONSULT_CALL_FAILURE
static int CTIERR_CONSULTCALL_ALREADY_OUTSTANDING
static int CTIERR_CTIHANDLER_PROCESS_CREATION_FAILED
static int CTIERR_DEVICE_ALREADY_OPENED
static int CTIERR_DEVICE_NOT_OPENED_YET
static int CTIERR_DEVICE_OWNER_ALIVE_TIMER_STARTED
static int CTIERR_DEVICE_SHUTTING_DOWN
static int CTIERR_DUPLICATE_CALL_REFERENCE
static int CTIERR_FAC_CMC_REASON_FAC_NEEDED
static int CTIERR_FAC_CMC_REASON_CMC_NEEDED
static int CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED
static int CTIERR_FAC_CMC_REASON_FAC_INVALID
static int CTIERR_FAC_CMC_REASON_CMC_INVALID
static int CTIERR_FEATURE_ALREADY_REGISTERED
static int CTIERR_FEATURE_DATA_REJECT
static int CTIERR_ILLEGAL_DEVICE_TYPE
static int CTIERR_INCOMPATIBLE_AUTOINSTALL_PROTOCOL_VERSION
static int CTIERR_INCORRECT_MEDIA_CAPABILITY
static int CTIERR_INFORMATION_NOT_AVAILABLE
static int CTIERR_INTERNAL_FAILURE
static int CTIERR_INVALID_DEVICE_NAME
static int CTIERR_INVALID_DTMFDIGITS
static int CTIERR_INVALID_MEDIA_DEVICE
Member Summary
static int CTIERR_INVALID_MEDIA_PARAMETER
static int CTIERR_INVALID_MEDIA_PROCESS
static int CTIERR_INVALID_MEDIA_RESOURCE_ID
static int CTIERR_INVALID_MESSAGE_HEADER_INFO
static int CTIERR_INVALID_MESSAGE_LENGTH
static int CTIERR_INVALID_MONITOR_DN_TYPE
static int CTIERR_INVALID_PARAMETER
static int CTIERR_INVALID_PARK_DN
static int CTIERR_INVALID_PARK_REGISTRATION_HANDLE
static int CTIERR_INVALID_RESOURCE_TYPE
static int CTIERR_MAXCALL_LIMIT_REACHED
static int CTIERR_MEDIA_ALREADY_TERMINATED_DYNAMIC
static int CTIERR_MEDIA_ALREADY_TERMINATED_NONE
static int CTIERR_MEDIA_ALREADY_TERMINATED_STATIC
static int CTIERR_MEDIA_CAPABILITY_MISMATCH
static int CTIERR_MEDIA_RESOURCE_NAME_SIZE_EXCEEDED
static int CTIERR_MEDIAREGISTRATIONTYPE_DO_NOT_MATCH
static int CTIERR_MESSAGE_TOO_BIG
static int CTIERR_MORE_ACTIVE_CALLS_THAN_RESERVED
static int CTIERR_NO_EXISTING_CALLS
static int CTIERR_NO_EXISTING_CONFERENCE
static int CTIERR_NO_RESPONSE_FROM_MP
static int CTIERR_NOT_PRESERVED_CALL
static int CTIERR_OPERATION_FAILED_QUIETCLEAR
static int CTIERR_OPERATION_NOT_ALLOWED
static int CTIERR_OWNER_NOT_ALIVE
static int CTIERR_PENDING_ACCEPT_OR_ANSWER_REQUEST
static int CTIERR_REDIRECT_UNAUTHORIZED_COMMAND_USAGE
static int CTIERR_REGISTER_FEATURE_ACTIVATION_FAILED
static int CTIERR_RESOURCE_NOT_AVAILABLE
static int CTIERR_STATION_SHUT_DOWN
static int CTIERR_SYSTEM_ERROR
static int CTIERR_UNKNOWN_EXCEPTION
static int CTIERR_UNSUPPORTED_CALL_PARK_TYPE
static int DARES_INVALID_REQ_TYPE
static int DATA_SIZE_LIMIT_EXCEEDED
static int DB_ERROR
static int DB_ILLEGAL_DEVICE_TYPE
static int DB_NO_MORE_DEVICES
static int DESTINATION_BUSY
static int DESTINATION_UNKNOWN
static int DEVICE_ALREADY_REGISTERED
static int DEVICE_NOT_OPEN
Member Summary
static int DEVICE_OUT_OF_SERVICE
static int DIGIT_GENERATION_ALREADY_IN_PROGRESS
static int DIGIT_GENERATION_CALLSTATE_CHANGED
static int DIGIT_GENERATION_WRONG_CALL_HANDLE
static int DIGIT_GENERATION_WRONG_CALL_STATE
static int DIRECTORY_LOGIN_FAILED
static int DIRECTORY_LOGIN_NOT_ALLOWED
static int DIRECTORY_TEMPORARY_UNAVAILABLE
static int EXISTING_FIRSTPARTY
static int HOLDFAILED
static int ILLEGAL_CALLINGPARTY
static int ILLEGAL_CALLSTATE
static int ILLEGAL_HANDLE
static int ILLEGAL_MESSAGE_FORMAT
static int INCOMPATIBLE_PROTOCOL_VERSION
static int INVALID_LINE_HANDLE
static int INVALID_RING_OPTION
static int LINE_INFO_DOES_NOT_EXIST
static int LINE_NOT_PRIMARY
static int LINECONTROL_FAILURE
static int MAX_NUMBER_OF_CTI_CONNECTIONS_REACHED
static int MSGWAITING_DESTN_INVALID
static int NO_ACTIVE_DEVICE_FOR_THIRDPARTY
static int NO_CONFERENCE_BRIDGE
static int NOT_INITIALIZED
static int PROTOCOL_TIMEOUT
static int PROVIDER_ALREADY_OPEN
static int PROVIDER_CLOSED
static int PROVIDER_NOT_OPEN
static int REDIRECT_CALL_CALL_TABLE_FULL
static int REDIRECT_CALL_DESTINATION_BUSY
static int REDIRECT_CALL_DESTINATION_OUT_OF_ORDER
static int REDIRECT_CALL_DIGIT_ANALYSIS_TIMEOUT
static int REDIRECT_CALL_DOES_NOT_EXIST
static int REDIRECT_CALL_INCOMPATIBLE_STATE
static int REDIRECT_CALL_MEDIA_CONNECTION_FAILED
static int REDIRECT_CALL_NORMAL_CLEARING
static int REDIRECT_CALL_ORIGINATOR_ABANDONED
static int REDIRECT_CALL_PARTY_TABLE_FULL
static int REDIRECT_CALL_PENDING_REDIRECT_TRANSACTION
static int REDIRECT_CALL_PROTOCOL_ERROR
static int REDIRECT_CALL_UNKNOWN_DESTINATION
static int REDIRECT_CALL_UNKNOWN_ERROR
Member Summary
static int REDIRECT_CALL_UNKNOWN_PARTY
static int REDIRECT_CALL_UNRECOGNIZED_MANAGER
static int REDIRECT_CALLINFO_ERR
static int REDIRECT_ERR
static int RETRIEVEFAILED
static int RETRIEVEFAILED_ACTIVE_CALL_ON_LINE
static int SSAPI_NOT_REGISTERED
static int TIMEOUT
static int TRANSFER_INACTIVE
static int TRANSFERFAILED
static int TRANSFERFAILED_CALLCONTROL_TIMEOUT
static int TRANSFERFAILED_DESTINATION_BUSY
static int TRANSFERFAILED_DESTINATION_UNALLOCATED
static int TRANSFERFAILED_OUTSTANDING_TRANSFER
static int UNDEFINED_LINE
static int UNKNOWN_GLOBAL_CALL_HANDLE
static int UNRECOGNIZABLE_PDU
static int UNSPECIFIED
The CTI error codes.
Methods
int getErrorCode()
Returns the errorCode for this exception
java.lang.String getErrorDescription()
This method returns the detail description of the
errorCode
java.lang.String getErrorDescription(int)
This method returns the detail description of the
errorCode
java.lang.String getErrorName()
This method returns an exception in the string format.
java.lang.String getErrorName(int)
This method will return an exception in the string
format.
Fields
ASSOCIATED_LINE_NOT_OPEN
public static final int ASSOCIATED_LINE_NOT_OPEN
CALL_ALREADY_EXISTS
public static final int CALL_ALREADY_EXISTS
CALL_DROPPED
public static final int CALL_DROPPED
The call is dropped after the feature request (hold, unhold, transfer,
conference) but before completing the request.
CALLHANDLE_NOTINCOMINGCALL
public static final int CALLHANDLE_NOTINCOMINGCALL
CALLHANDLE_UNKNOWN_TO_LINECONTROL
public static final int CALLHANDLE_UNKNOWN_TO_LINECONTROL
CANNOT_OPEN_DEVICE
public static final int CANNOT_OPEN_DEVICE
CANNOT_TERMINATE_MEDIA_ON_PHONE
public static final int CANNOT_TERMINATE_MEDIA_ON_PHONE
CFWDALL_ALREADY_OFF
public static final int CFWDALL_ALREADY_OFF
CFWDALL_ALREADY_SET
public static final int CFWDALL_ALREADY_SET
CFWDALL_DESTN_INVALID
public static final int CFWDALL_DESTN_INVALID
CLUSTER_LINK_FAILURE
public static final int CLUSTER_LINK_FAILURE
COMMAND_NOT_IMPLEMENTED_ON_DEVICE
public static final int COMMAND_NOT_IMPLEMENTED_ON_DEVICE
CONFERENCE_ALREADY_PRESENT
public static final int CONFERENCE_ALREADY_PRESENT
CONFERENCE_FAILED
public static final int CONFERENCE_FAILED
CONFERENCE_FULL
public static final int CONFERENCE_FULL
CONFERENCE_INACTIVE
public static final int CONFERENCE_INACTIVE
CONFERENCE_INVALID_PARTICIPANT
public static final int CONFERENCE_INVALID_PARTICIPANT
CTIERR_ACCESS_TO_DEVICE_DENIED
public static final int CTIERR_ACCESS_TO_DEVICE_DENIED
CTIERR_APP_SOFTKEYS_ALREADY_CONTROLLED
public static final int CTIERR_APP_SOFTKEYS_ALREADY_CONTROLLED
CTIERR_APPLICATION_DATA_SIZE_EXCEEDED
public static final int CTIERR_APPLICATION_DATA_SIZE_EXCEEDED
CTIERR_CALL_MANAGER_NOT_AVAILABLE
public static final int CTIERR_CALL_MANAGER_NOT_AVAILABLE
CTIERR_CALL_NOT_EXISTED
public static final int CTIERR_CALL_NOT_EXISTED
CTIERR_CALL_PARK_NO_DN
public static final int CTIERR_CALL_PARK_NO_DN
CTIERR_CALL_REQUEST_ALREADY_OUTSTANDING
public static final int CTIERR_CALL_REQUEST_ALREADY_OUTSTANDING
CTIERR_CALL_UNPARK_FAILED
public static final int CTIERR_CALL_UNPARK_FAILED
CTIERR_CAPABILITIES_DO_NOT_MATCH
public static final int CTIERR_CAPABILITIES_DO_NOT_MATCH
CTIERR_CLOSE_DELAY_NOT_SUPPORTED_WITH_REG_TYPE
public static final int
CTIERR_CLOSE_DELAY_NOT_SUPPORTED_WITH_REG_TYPE
CTIERR_CONFERENCE_ALREADY_EXISTED
public static final int CTIERR_CONFERENCE_ALREADY_EXISTED
CTIERR_CONFERENCE_NOT_EXISTED
public static final int CTIERR_CONFERENCE_NOT_EXISTED
CTIERR_CONSULT_CALL_FAILURE
public static final int CTIERR_CONSULT_CALL_FAILURE
CTIERR_CONSULTCALL_ALREADY_OUTSTANDING
public static final int CTIERR_CONSULTCALL_ALREADY_OUTSTANDING
CTIERR_CTIHANDLER_PROCESS_CREATION_FAILED
public static final int CTIERR_CTIHANDLER_PROCESS_CREATION_FAILED
CTIERR_DEVICE_ALREADY_OPENED
public static final int CTIERR_DEVICE_ALREADY_OPENED
CTIERR_DEVICE_NOT_OPENED_YET
public static final int CTIERR_DEVICE_NOT_OPENED_YET
CTIERR_DEVICE_OWNER_ALIVE_TIMER_STARTED
public static final int CTIERR_DEVICE_OWNER_ALIVE_TIMER_STARTED
CTIERR_DEVICE_SHUTTING_DOWN
public static final int CTIERR_DEVICE_SHUTTING_DOWN
CTIERR_DUPLICATE_CALL_REFERENCE
public static final int CTIERR_DUPLICATE_CALL_REFERENCE
CTIERR_FAC_CMC_REASON_CMC_INVALID
public static final int CTIERR_FAC_CMC_REASON_CMC_INVALID
CTIERR_FAC_CMC_REASON_CMC_NEEDED
public static final int CTIERR_FAC_CMC_REASON_CMC_NEEDED
CTIERR_FAC_CMC_REASON_FAC_INVALID
public static final int CTIERR_FAC_CMC_REASON_FAC_INVALID
CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED
public static final int.CTIERR_FAC_CMC_REASON_FAC_CMC_NEEDED
CTIERR_FAC_CMC_REASON_FAC_NEEDED
public static final int CTIERR_FAC_CMC_REASON_FAC_NEEDED
CTIERR_FEATURE_ALREADY_REGISTERED
public static final int CTIERR_FEATURE_ALREADY_REGISTERED
CTIERR_FEATURE_DATA_REJECT
public static final int CTIERR_FEATURE_DATA_REJECT
CTIERR_ILLEGAL_DEVICE_TYPE
public static final int CTIERR_ILLEGAL_DEVICE_TYPE
CTIERR_INCOMPATIBLE_AUTOINSTALL_PROTOCOL_VERSION
public static final int
CTIERR_INCOMPATIBLE_AUTOINSTALL_PROTOCOL_VERSION
CTIERR_INCORRECT_MEDIA_CAPABILITY
public static final int CTIERR_INCORRECT_MEDIA_CAPABILITY
CTIERR_INFORMATION_NOT_AVAILABLE
public static final int CTIERR_INFORMATION_NOT_AVAILABLE
CTIERR_INTERNAL_FAILURE
public static final int CTIERR_INTERNAL_FAILURE
CTIERR_INVALID_DEVICE_NAME
public static final int CTIERR_INVALID_DEVICE_NAME
CTIERR_INVALID_DTMFDIGITS
public static final int CTIERR_INVALID_DTMFDIGITS
CTIERR_INVALID_MEDIA_DEVICE
public static final int CTIERR_INVALID_MEDIA_DEVICE
CTIERR_INVALID_MEDIA_PARAMETER
public static final int CTIERR_INVALID_MEDIA_PARAMETER
CTIERR_INVALID_MEDIA_PROCESS
public static final int CTIERR_INVALID_MEDIA_PROCESS
CTIERR_INVALID_MEDIA_RESOURCE_ID
public static final int CTIERR_INVALID_MEDIA_RESOURCE_ID
CTIERR_INVALID_MESSAGE_HEADER_INFO
public static final int CTIERR_INVALID_MESSAGE_HEADER_INFO
CTIERR_INVALID_MESSAGE_LENGTH
public static final int CTIERR_INVALID_MESSAGE_LENGTH
CTIERR_INVALID_MONITOR_DN_TYPE
public static final int CTIERR_INVALID_MONITOR_DN_TYPE
CTIERR_INVALID_PARAMETER
public static final int CTIERR_INVALID_PARAMETER
CTIERR_INVALID_PARK_DN
public static final int CTIERR_INVALID_PARK_DN
CTIERR_INVALID_PARK_REGISTRATION_HANDLE
public static final int CTIERR_INVALID_PARK_REGISTRATION_HANDLE
CTIERR_INVALID_RESOURCE_TYPE
public static final int CTIERR_INVALID_RESOURCE_TYPE
CTIERR_MAXCALL_LIMIT_REACHED
public static final int CTIERR_MAXCALL_LIMIT_REACHED
CTIERR_INCORRECT_MEDIA_CAPABILITY
public static final int CTIERR_INCORRECT_MEDIA_CAPABILITY
CTIERR_INVALID_DTMFDIGITS
public static final int CTIERR_INVALID_DTMFDIGITS
CTIERR_MEDIA_ALREADY_TERMINATED_DYNAMIC
public static final int CTIERR_MEDIA_ALREADY_TERMINATED_DYNAMIC
CTIERR_MEDIA_ALREADY_TERMINATED_NONE
public static final int CTIERR_MEDIA_ALREADY_TERMINATED_NONE
CTIERR_MEDIA_ALREADY_TERMINATED_STATIC
public static final int CTIERR_MEDIA_ALREADY_TERMINATED_STATIC
CTIERR_MEDIA_CAPABILITY_MISMATCH
public static final int CTIERR_MEDIA_CAPABILITY_MISMATCH
CTIERR_MEDIA_RESOURCE_NAME_SIZE_EXCEEDED
public static final int CTIERR_MEDIA_RESOURCE_NAME_SIZE_EXCEEDED
CTIERR_MEDIAREGISTRATIONTYPE_DO_NOT_MATCH
public static final int CTIERR_MEDIAREGISTRATIONTYPE_DO_NOT_MATCH
CTIERR_MESSAGE_TOO_BIG
public static final int CTIERR_MESSAGE_TOO_BIG
CTIERR_MORE_ACTIVE_CALLS_THAN_RESERVED
public static final int CTIERR_MORE_ACTIVE_CALLS_THAN_RESERVED
CTIERR_NO_EXISTING_CALLS
public static final int CTIERR_NO_EXISTING_CALLS
CTIERR_NO_EXISTING_CONFERENCE
public static final int CTIERR_NO_EXISTING_CONFERENCE
CTIERR_NO_RESPONSE_FROM_MP
public static final int CTIERR_NO_RESPONSE_FROM_MP
CTIERR_NOT_PRESERVED_CALL
public static final int CTIERR_NOT_PRESERVED_CALL
CTIERR_OPERATION_FAILED_QUIETCLEAR
public static final int CTIERR_OPERATION_FAILED_QUIETCLEAR
CTIERR_OPERATION_NOT_ALLOWED
public static final int CTIERR_OPERATION_NOT_ALLOWED
CTIERR_OWNER_NOT_ALIVE
public static final int CTIERR_OWNER_NOT_ALIVE
CTIERR_PENDING_ACCEPT_OR_ANSWER_REQUEST
public static final int CTIERR_PENDING_ACCEPT_OR_ANSWER_REQUEST
CTIERR_REDIRECT_UNAUTHORIZED_COMMAND_USAGE
public static final int CTIERR_REDIRECT_UNAUTHORIZED_COMMAND_USAGE
CTIERR_REGISTER_FEATURE_ACTIVATION_FAILED
public static final int CTIERR_REGISTER_FEATURE_ACTIVATION_FAILED
CTIERR_RESOURCE_NOT_AVAILABLE
public static final int CTIERR_RESOURCE_NOT_AVAILABLE
CTIERR_STATION_SHUT_DOWN
public static final int CTIERR_STATION_SHUT_DOWN
CTIERR_SYSTEM_ERROR
public static final int CTIERR_SYSTEM_ERROR
CTIERR_UNKNOWN_EXCEPTION
public static final int CTIERR_UNKNOWN_EXCEPTION
CTIERR_UNSUPPORTED_CALL_PARK_TYPE
public static final int CTIERR_UNSUPPORTED_CALL_PARK_TYPE
DARES_INVALID_REQ_TYPE
public static final int DARES_INVALID_REQ_TYPE
DATA_SIZE_LIMIT_EXCEEDED
public static final int DATA_SIZE_LIMIT_EXCEEDED
DB_ERROR
public static final int DB_ERROR
DB_ILLEGAL_DEVICE_TYPE
public static final int DB_ILLEGAL_DEVICE_TYPE
DB_NO_MORE_DEVICES
public static final int DB_NO_MORE_DEVICES
DESTINATION_BUSY
public static final int DESTINATION_BUSY
DESTINATION_UNKNOWN
public static final int DESTINATION_UNKNOWN
DEVICE_ALREADY_REGISTERED
public static final int DEVICE_ALREADY_REGISTERED
DEVICE_NOT_OPEN
public static final int DEVICE_NOT_OPEN
DEVICE_OUT_OF_SERVICE
public static final int DEVICE_OUT_OF_SERVICE
DIGIT_GENERATION_ALREADY_IN_PROGRESS
public static final int DIGIT_GENERATION_ALREADY_IN_PROGRESS
DIGIT_GENERATION_CALLSTATE_CHANGED
public static final int DIGIT_GENERATION_CALLSTATE_CHANGED
DIGIT_GENERATION_WRONG_CALL_HANDLE
public static final int DIGIT_GENERATION_WRONG_CALL_HANDLE
DIGIT_GENERATION_WRONG_CALL_STATE
public static final int DIGIT_GENERATION_WRONG_CALL_STATE
DIRECTORY_LOGIN_FAILED
public static final int DIRECTORY_LOGIN_FAILED
DIRECTORY_LOGIN_NOT_ALLOWED
public static final int DIRECTORY_LOGIN_NOT_ALLOWED
DIRECTORY_TEMPORARY_UNAVAILABLE
public static final int DIRECTORY_TEMPORARY_UNAVAILABLE
EXISTING_FIRSTPARTY
public static final int EXISTING_FIRSTPARTY
HOLDFAILED
public static final int HOLDFAILED
ILLEGAL_CALLINGPARTY
public static final int ILLEGAL_CALLINGPARTY
ILLEGAL_CALLSTATE
public static final int ILLEGAL_CALLSTATE
ILLEGAL_HANDLE
public static final int ILLEGAL_HANDLE
ILLEGAL_MESSAGE_FORMAT
public static final int ILLEGAL_MESSAGE_FORMAT
INCOMPATIBLE_PROTOCOL_VERSION
public static final int INCOMPATIBLE_PROTOCOL_VERSION
INVALID_LINE_HANDLE
public static final int INVALID_LINE_HANDLE
INVALID_RING_OPTION
public static final int INVALID_RING_OPTION
LINE_INFO_DOES_NOT_EXIST
public static final int LINE_INFO_DOES_NOT_EXIST
LINE_NOT_PRIMARY
public static final int LINE_NOT_PRIMARY
LINECONTROL_FAILURE
public static final int LINECONTROL_FAILURE
MAX_NUMBER_OF_CTI_CONNECTIONS_REACHED
public static final int MAX_NUMBER_OF_CTI_CONNECTIONS_REACHED
MSGWAITING_DESTN_INVALID
public static final int MSGWAITING_DESTN_INVALID
NO_ACTIVE_DEVICE_FOR_THIRDPARTY
public static final int NO_ACTIVE_DEVICE_FOR_THIRDPARTY
NO_CONFERENCE_BRIDGE
public static final int NO_CONFERENCE_BRIDGE
NOT_INITIALIZED
public static final int NOT_INITIALIZED
PROTOCOL_TIMEOUT
public static final int PROTOCOL_TIMEOUT
PROVIDER_ALREADY_OPEN
public static final int PROVIDER_ALREADY_OPEN
PROVIDER_CLOSED
public static final int PROVIDER_CLOSED
PROVIDER_NOT_OPEN
public static final int PROVIDER_NOT_OPEN
REDIRECT_CALL_CALL_TABLE_FULL
public static final int REDIRECT_CALL_CALL_TABLE_FULL
REDIRECT_CALL_DESTINATION_BUSY
public static final int REDIRECT_CALL_DESTINATION_BUSY
REDIRECT_CALL_DESTINATION_OUT_OF_ORDER
public static final int REDIRECT_CALL_DESTINATION_OUT_OF_ORDER
REDIRECT_CALL_DIGIT_ANALYSIS_TIMEOUT
public static final int REDIRECT_CALL_DIGIT_ANALYSIS_TIMEOUT
REDIRECT_CALL_DOES_NOT_EXIST
public static final int REDIRECT_CALL_DOES_NOT_EXIST
REDIRECT_CALL_INCOMPATIBLE_STATE
public static final int REDIRECT_CALL_INCOMPATIBLE_STATE
REDIRECT_CALL_MEDIA_CONNECTION_FAILED
public static final int REDIRECT_CALL_MEDIA_CONNECTION_FAILED
REDIRECT_CALL_NORMAL_CLEARING
public static final int REDIRECT_CALL_NORMAL_CLEARING
REDIRECT_CALL_ORIGINATOR_ABANDONED
public static final int REDIRECT_CALL_ORIGINATOR_ABANDONED
REDIRECT_CALL_PARTY_TABLE_FULL
public static final int REDIRECT_CALL_PARTY_TABLE_FULL
REDIRECT_CALL_PENDING_REDIRECT_TRANSACTION
public static final int REDIRECT_CALL_PENDING_REDIRECT_TRANSACTION
REDIRECT_CALL_PROTOCOL_ERROR
public static final int REDIRECT_CALL_PROTOCOL_ERROR
REDIRECT_CALL_UNKNOWN_DESTINATION
public static final int REDIRECT_CALL_UNKNOWN_DESTINATION
REDIRECT_CALL_UNKNOWN_ERROR
public static final int REDIRECT_CALL_UNKNOWN_ERROR
REDIRECT_CALL_UNKNOWN_PARTY
public static final int REDIRECT_CALL_UNKNOWN_PARTY
REDIRECT_CALL_UNRECOGNIZED_MANAGER
public static final int REDIRECT_CALL_UNRECOGNIZED_MANAGER
REDIRECT_CALLINFO_ERR
public static final int REDIRECT_CALLINFO_ERR
REDIRECT_ERR
public static final int REDIRECT_ERR
RETRIEVEFAILED
public static final int RETRIEVEFAILED
RETRIEVEFAILED_ACTIVE_CALL_ON_LINE
public static final int RETRIEVEFAILED_ACTIVE_CALL_ON_LINE
SSAPI_NOT_REGISTERED
public static final int SSAPI_NOT_REGISTERED
TIMEOUT
public static final int TIMEOUT
TRANSFER_INACTIVE
public static final int TRANSFER_INACTIVE
TRANSFERFAILED
public static final int TRANSFERFAILED
TRANSFERFAILED_CALLCONTROL_TIMEOUT
public static final int TRANSFERFAILED_CALLCONTROL_TIMEOUT
TRANSFERFAILED_DESTINATION_BUSY
public static final int TRANSFERFAILED_DESTINATION_BUSY
TRANSFERFAILED_DESTINATION_UNALLOCATED
public static final int TRANSFERFAILED_DESTINATION_UNALLOCATED
TRANSFERFAILED_OUTSTANDING_TRANSFER
public static final int TRANSFERFAILED_OUTSTANDING_TRANSFER
UNDEFINED_LINE
public static final int UNDEFINED_LINE
UNKNOWN_GLOBAL_CALL_HANDLE
public static final int UNKNOWN_GLOBAL_CALL_HANDLE
UNRECOGNIZABLE_PDU
public static final int UNRECOGNIZABLE_PDU
UNSPECIFIED
public static final int UNSPECIFIED
The CTI error codes. These are the error codes that may be returned by CTI
requests.
Methods
getErrorCode()
public int getErrorCode()
getErrorDescription()
public java.lang.String getErrorDescription()
getErrorDescription(int)
public java.lang.String getErrorDescription(int errorCode)
Deprecated.
instead use String getErrorDescription ();
This method returns the detail description of the errorCode
Returns:
String detail description of the errorCode
getErrorName()
public java.lang.String getErrorName()
getErrorName(int)
public java.lang.String getErrorName(int errorCode)
Deprecated.
instead use String getErrorName ();
This method will return an exception in the string format.
Returns:
String representation of the error code
CiscoJtapiPeer
Declaration
public interface CiscoJtapiPeer extends
com.cisco.services.tracing.TraceModule, javax.telephony.JtapiPeer,
CiscoObjectContainer
All Superinterfaces
CiscoObjectContainer, javax.telephony.JtapiPeer,
com.cisco.services.tracing.TraceModule
Description
By extending the com.cisco.services.tracing.TraceModule
interface, the CiscoJtapiPeer exposes trace information to applications. All
instances of JtapiPeer objects created by the Cisco JTAPI implementation
implement this interface. Applications that wish to manipulate the trace settings
of the Cisco JTAPI implementation may use the
CiscoJtapiPeer.getTraceManager method to obtain its
TraceManager object. The TraceManager object may then be manipulated
as described in the com.cisco.services.tracing package.
See Also:
com.cisco.services.tracing.TraceModule
Member Summary
Methods
CiscoJtapiProperties getJtapiProperties()
CiscoJtapiProperties defines the various methods that
applications can use to modify the parameters that the
JTAPI layer will use.
Methods
getJtapiProperties()
public com.cisco.jtapi.extensions.CiscoJtapiProperties
getJtapiProperties()
See Also:
CiscoJtapiProperties
CiscoJtapiProperties
Declaration
public interface CiscoJtapiProperties
Description
Cisco JTAPI’s behavior and functionality is tailored by many parameters which
are read in from the jtapi.ini file when an instance of CiscoJtapiPeer is
instantiated. These parameters are now exposed to applications for control via this
CiscoJtapiproperties interface.
Applications can query the CiscoJtapiproperties properties object and
change these parameters to better suit the application functionality. Exposing
these properties via the CiscoJtapiproperties interface also allows
applications to have a single point of administration (at the application end) for
these parameters.
The most visible parameters are those describing the tracing levels and tracing
destinations.
Usage:
JtapiPeer peer = JtapiPeerFactory.getJtapiPeer ( null );
if(peer instanceof CiscoJtapiPeer){
CiscoJtapiProperties jProps =
((CiscoJtapiPeer)peer).getJtapiProperties();
jProps.setTracePath(“\\D:\\Traces\\WorkFlow”);
jProps.setUseJavaConsoleTrace(false);
MyProviderObserver providerObserver = new MyProviderObserver ();
provider = peer.getProvider ( providerName );
}
where
an application sets the java console tracing to off and the trace path to
D:\Traces\WorkFlowApp1.
When the peer gets obtained, an object implementing CiscoJtapiProperties gets
created by reading parameters set in the jtapi.ini file. If no jtapi.ini file
exists in the classpath, the default settings get used to create this object.
The parameters used by Cisco Jtapi are read in and frozen when the first
getProvider () call is made.
Member Summary
Methods
java.lang.String getAlarmServiceHostname()
get the alarm service host name
int getAlarmServicePort()
get the port number for the alarm service
int getCtiRequestTimeout()
get the timout for cti requests, other than the provider
open (seconds)
java.lang.String[] getDebuggingNames()
get names of supported debugging level jtapi traces
boolean getDebuggingValue(String)
get the enabled or disabled state of a debugging level
trace
int getDesiredServerHeartbeatInterval()
get the desired interval at which the CTI Manager must
send heartbeats to JTAPI (seconds).
java.lang.String getFileNameBase()
the filename for individual log files.
java.lang.String getFileNameExtension()
get the filename extension for log files
int getNumTraceFiles()
number of trace files before rollover
boolean getPeriodicWakeupEnabled()
get the enabled state of periodic wake up
int getPeriodicWakeupInterval()
get the interval for periodic wakeup (milliseconds)
int getProviderOpenRequestTimeout()
get the timout for a provider open request (seconds)
int getProviderRetryInterval()
get the interval at which the connection to the CTI
Manager will ge retried (seconds)
int getQueueSizeThreshold()
get the threshold for the event queue size to trigger
alarms
boolean getQueueStatsEnabled()
get the enabled state of event queue stats
int getRouteSelectTimeout()
get the route select timeout (milliseconds)
java.lang.String[] getServices()
Returns the services that this implementation supports.
java.lang.String getSyslogCollector()
get the syslog collector hostname
Member Summary
int getSyslogCollectorUDPPort()
get the syslog collector UDP port
java.lang.String getTraceDirectory()
the directory in the path where trace files will be
written
int getTraceFileSize()
the size of the tracefiles before rollover
java.lang.String[] getTraceNames()
get the names of supported jtapi traces
java.lang.String getTracePath()
get the path where the trace files will be located
boolean getTraceValue(String)
get the enabled or disabled state of a trace
boolean getUseAlarmService()
get the enabled/disabled state of the alarm service
boolean getUseFileTrace()
get the enabled or disabled state of jtapi log file
tracing
boolean getUseJavaConsoleTrace()
get the enabled or disabled state of jtapi console
tracing
boolean getUseSameDir()
if UseSameDir is true this will cause the traces to go to
a single directory.
boolean getUseSyslog()
get the enabled or disabled state of syslog tracing
void setAlarmServiceHostname(String)
set the alarm service host name
void setAlarmServicePort(int)
set the port number the alarm service is listening on
void setCtiRequestTimeout(int)
set the timeout for cti requests other than provider open
(seconds)
void setDebuggingValue(String, boolean)
enable or disable a particular debugging level trace
void setDesiredServerHeartbeatInterval(int)
set the desired interval at which the CTI Manager must
send heartbeats to JTAPI (seconds).
void setFileNameBase(String)
set the filename for log files
void setFileNameExtension(String)
set the filename extension for log files
void setNumTraceFiles(int)
set the number of trace files before rollover
Member Summary
void setPeriodicWakeupEnabled(boolean)
set the enable/disable state for periodic wake up
void setPeriodicWakeupInterval(int)
set the periodic wake up interval (milliseconds)
void setProviderOpenRequestTimeout(int)
set the timeout for a provider open request (seconds)
void setProviderRetryInterval(int)
set the interval at which the connection to the CTI
Manager will ge retried (seconds)
void setQueueSizeThreshold(int)
set the threshold for the event queue size to trigger
alarms
void setQueueStatsEnabled(boolean)
enable / disable event queue statistics
void setRouteSelectTimeout(int)
set the route select timeout milliseconds
void setServices(String[])
set a list of available services
void setSyslogCollector(String)
set the syslog collector hostname
void setSyslogCollectorUDPPort(int)
set the syslog collector UDP port
void setTraceDirectory(String)
set the directory where jtapi trace files should be
written
void setTraceFileSize(int)
set the size of the trace file
void setTracePath(String)
set the directory root where jtapi traces will be written
void setTraceValue(String, boolean)
enable or disable a particular trace
void setUseAlarmService(boolean)
enable the alarm service
void setUseFileTrace(boolean)
enable or disable jtapi log file tracing
void setUseJavaConsoleTrace(boolean)
enable or disable jtapi console tracing
void setUseSameDir(boolean)
if UseSameDir is true this will cause the traces to go to
a single directory.
void setUseSyslog(boolean)
enable or disable syslog tracing
Methods
getAlarmServiceHostname()
public java.lang.String getAlarmServiceHostname()
getAlarmServicePort()
public int getAlarmServicePort()
getCtiRequestTimeout()
public int getCtiRequestTimeout()
get the timout for cti requests, other than the provider open (seconds)
getDebuggingNames()
public java.lang.String[] getDebuggingNames()
getDebuggingValue(String)
public boolean getDebuggingValue(java.lang.String debuggingName)
getDesiredServerHeartbeatInterval()
public int getDesiredServerHeartbeatInterval()
get the desired interval at which the CTI Manager must send heartbeats to
JTAPI (seconds). The actual interval is decided by the server at connect time.
getFileNameBase()
public java.lang.String getFileNameBase()
getFileNameExtension()
public java.lang.String getFileNameExtension()
getNumTraceFiles()
public int getNumTraceFiles()
getPeriodicWakeupEnabled()
public boolean getPeriodicWakeupEnabled()
getPeriodicWakeupInterval()
public int getPeriodicWakeupInterval()
getProviderOpenRequestTimeout()
public int getProviderOpenRequestTimeout()
getProviderRetryInterval()
public int getProviderRetryInterval()
get the interval at which the connection to the CTI Manager will ge retried
(seconds)
getQueueSizeThreshold()
public int getQueueSizeThreshold()
get the threshold for the event queue size to trigger alarms
getQueueStatsEnabled()
public boolean getQueueStatsEnabled()
getRouteSelectTimeout()
public int getRouteSelectTimeout()
getServices()
public java.lang.String[] getServices()
Returns the services that this implementation supports. Note: This is a static
list administered in the jtapi.ini file. There is no automatic discovery
mechanism to locate available cti services
getSyslogCollector()
public java.lang.String getSyslogCollector()
getSyslogCollectorUDPPort()
public int getSyslogCollectorUDPPort()
getTraceDirectory()
public java.lang.String getTraceDirectory()
getTraceFileSize()
public int getTraceFileSize()
getTraceNames()
public java.lang.String[] getTraceNames()
getTracePath()
public java.lang.String getTracePath()
getTraceValue(String)
public boolean getTraceValue(java.lang.String traceName)
getUseAlarmService()
public boolean getUseAlarmService()
getUseFileTrace()
public boolean getUseFileTrace()
getUseJavaConsoleTrace()
public boolean getUseJavaConsoleTrace()
getUseSameDir()
public boolean getUseSameDir()
getUseSyslog()
public boolean getUseSyslog()
setAlarmServiceHostname(String)
public void setAlarmServiceHostname(java.lang.String hostname)
setAlarmServicePort(int)
public void setAlarmServicePort(int portNumber)
setCtiRequestTimeout(int)
public void setCtiRequestTimeout(int seconds)
set the timeout for cti requests other than provider open (seconds)
setDebuggingValue(String, boolean)
public void setDebuggingValue(java.lang.String debuggingName,
boolean value)
setDesiredServerHeartbeatInterval(int)
public void setDesiredServerHeartbeatInterval(int seconds)
set the desired interval at which the CTI Manager must send heartbeats to
JTAPI (seconds). The actual interval is decided by the server at connect time.
setFileNameBase(String)
public void setFileNameBase(java.lang.String base)
setFileNameExtension(String)
public void setFileNameExtension(java.lang.String extn)
setNumTraceFiles(int)
public void setNumTraceFiles(int val)
setPeriodicWakeupEnabled(boolean)
public void setPeriodicWakeupEnabled(boolean enabled)
setPeriodicWakeupInterval(int)
public void setPeriodicWakeupInterval(int milliseconds)
setProviderOpenRequestTimeout(int)
public void setProviderOpenRequestTimeout(int seconds)
setProviderRetryInterval(int)
public void setProviderRetryInterval(int seconds)
set the interval at which the connection to the CTI Manager will ge retried
(seconds)
setQueueSizeThreshold(int)
public void setQueueSizeThreshold(int size)
set the threshold for the event queue size to trigger alarms
setQueueStatsEnabled(boolean)
public void setQueueStatsEnabled(boolean enabled)
setRouteSelectTimeout(int)
public void setRouteSelectTimeout(int milliseconds)
setServices(String[])
public void setServices(java.lang.String[] services)
setSyslogCollector(String)
public void setSyslogCollector(java.lang.String value)
setSyslogCollectorUDPPort(int)
public void setSyslogCollectorUDPPort(int port)
setTraceDirectory(String)
public void setTraceDirectory(java.lang.String dir)
setTraceFileSize(int)
public void setTraceFileSize(int val)
setTracePath(String)
public void setTracePath(java.lang.String path)
setTraceValue(String, boolean)
public void setTraceValue(java.lang.String traceName,
boolean value)
setUseAlarmService(boolean)
public void setUseAlarmService(boolean value)
setUseFileTrace(boolean)
public void setUseFileTrace(boolean value)
setUseJavaConsoleTrace(boolean)
public void setUseJavaConsoleTrace(boolean value)
setUseSameDir(boolean)
public void setUseSameDir(boolean value)
setUseSyslog(boolean)
public void setUseSyslog(boolean value)
CiscoJtapi Version
Declaration
public class CiscoJtapiVersion
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoJtapiVersion
Description
This class gives the version information of the installed Cisco JTAPI. Programs
can get the version number using the accessor methods. Cisco JTAPI Version is in
a.b(x.y) format where a indicates the major version b indicates the minor version
x indicates the revision number y indicates the build number
Member Summary
Constructors
CiscoJtapiVersion()
Member Summary
Methods
java.lang.String getBuildDescription()
Returns ’release’ if it is a release version or debug if
it is not a release version
int getBuildNumber()
This returns the build number of the version
int getMajorVersion()
This method returns the major version number
int getMinorVersion()
This method returns the minor version number
int getRevisionNumber()
This method returns the revision number of the version
java.lang.String getVersion()
returns the version information in a.b(x.y) format
without name
java.lang.String toString()
returns the version information in a.b(x.y) format
Constructors
CiscoJtapiVersion()
public CiscoJtapiVersion()
Methods
getBuildDescription()
public java.lang.String getBuildDescription()
getBuildNumber()
public int getBuildNumber()
getMajorVersion()
public int getMajorVersion()
getMinorVersion()
public int getMinorVersion()
getRevisionNumber()
public int getRevisionNumber()
getVersion()
public java.lang.String getVersion()
toString()
public java.lang.String toString()
CiscoMediaCapability
Declaration
public class CiscoMediaCapability
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoMediaCapability
Description
The CiscoMediaCapability object specifies the properties of a particular
media format that an application can support for CiscoMediaTerminals that
it registers. Because CiscoMediaCapability is an abstract class,
applications may only construct its subclasses directly.
See Also:
CiscoG711MediaCapability, CiscoG723MediaCapability,
CiscoG729MediaCapability, CiscoGSMMediaCapability,
CiscoRTPBitRate, CiscoRTPPayload
Member Summary
Fields
static G711_64K_30_MILLISECONDS
CiscoMediaCapability G.711 capability with default parameters
static G723_6K_30_MILLISECONDS
CiscoMediaCapability G.723 capability with default parameters
Member Summary
static G729_30_MILLISECONDS
CiscoMediaCapability G.729 capability with default parameters
static GSM_80_MILLISECONDS
CiscoMediaCapability GSM capability with default parameters
static WIDEBAND_256K_10_MILLISECONDS
CiscoMediaCapability Wide band capability with default parameters
Constructors
CiscoMediaCapability(int, int), int maxFramesPerPacket)
Constructs a CiscoMediaCapability object for the
specified payload type and packet size.
Methods
int getMaxFramesPerPacket()
Returns the packet size specified by this object.
int getPayloadType()
Returns the payload type specified by this object.
boolean isSupported()
Returns whether the payload of this object gets supported
or not.
java.lang.String toString()
Fields
G711_64K_30_MILLISECONDS
public static final
com.cisco.jtapi.extensions.CiscoMediaCapability
G711_64K_30_MILLISECONDS
See Also:
CiscoG711MediaCapability
G723_6K_30_MILLISECONDS
public static final
com.cisco.jtapi.extensions.CiscoMediaCapability
G723_6K_30_MILLISECONDS
See Also:
CiscoG723MediaCapability
G729_30_MILLISECONDS
public static final
com.cisco.jtapi.extensions.CiscoMediaCapability
G729_30_MILLISECONDS
See Also:
CiscoG729MediaCapability
GSM_80_MILLISECONDS
public static final
com.cisco.jtapi.extensions.CiscoMediaCapability
GSM_80_MILLISECONDS
See Also:
CiscoGSMMediaCapability
WIDEBAND_256K_10_MILLISECONDS
public static final
com.cisco.jtapi.extensions.CiscoMediaCapability
WIDEBAND_256K_10_MILLISECONDS
See Also:
CiscoWideBandMediaCapability
Constructors
CiscoMediaCapability(int, int)
public CiscoMediaCapability(int payloadType,
int maxFramesPerPacket)
Methods
getMaxFramesPerPacket()
public int getMaxFramesPerPacket()
getPayloadType()
public int getPayloadType()
isSupported()
public boolean isSupported()
toString()
public java.lang.String toString()
Overrides:
toString in class Object
CiscoMediaOpenLogicalChannelEv
Declaration
public interface CiscoMediaOpenLogicalChannelEv extends CiscoTermEv
Description
The CiscoMediaOpenLogicalChannelEv event is sent each time when media is
established for dynamically registered CiscoMediaTerminals or
CiscoRouteTerminals. Upon receiving this event applications must invoke
setRTPParams on CiscoMediaTerminal or CiscoRouteTerminal and pass in
ipAddress and port number where to terminate media along with rtpHandle that
is delivered in this event. Applications can get call reference using
CiscoProvider.getCall(CiscoRTPHandle). Applications need to be aware that the
far end and local end may not be able to invoke features unless setRTPParams
method is invoked. If applications fail to respond to this event within specified
time, the call may be disconnected.
Member Summary
Fields
static int ID
Methods
CiscoRTPHandle getCiscoRTPHandle()
Returns CiscoRTPHandle object.
int getPacketSize()
Returns the packet size of the far end in milliseconds.
int getPayLoadType()
Returns the payload format of the far end, one of the
following constants.
Fields
ID
public static final int ID
Methods
getCiscoRTPHandle()
public com.cisco.jtapi.extensions.CiscoRTPHandle
getCiscoRTPHandle()
See Also:
CiscoRTPParams
getPacketSize()
public int getPacketSize()
getPayLoadType()
public int getPayLoadType()
Returns the payload format of the far end, one of the following constants:
• CiscoRTPPayload.NONSTANDARD
• CiscoRTPPayload.G711ALAW64K
• CiscoRTPPayload.G711ALAW56K
• CiscoRTPPayload.G711ULAW64K
• CiscoRTPPayload.G711ULAW56K
• CiscoRTPPayload.G722_64K
• CiscoRTPPayload.G722_56K
• CiscoRTPPayload.G722_48K
• CiscoRTPPayload.G7231
• CiscoRTPPayload.G728
• CiscoRTPPayload.G729
• CiscoRTPPayload.G729ANNEXA
• CiscoRTPPayload.IS11172AUDIOCAP
• CiscoRTPPayload.IS13818AUDIOCAP
• CiscoRTPPayload.ACY_G729AASSN
• CiscoRTPPayload.DATA64
• CiscoRTPPayload.DATA56
• CiscoRTPPayload.GSM
• CiscoRTPPayload.ACTIVEVOICE
Returns:
payload type
CiscoMediaTerminal
Declaration
public interface CiscoMediaTerminal extends CiscoTerminal
All Superinterfaces
CiscoObjectContainer, CiscoTerminal, javax.telephony.Terminal
Description
A CiscoMediaTerminal is a special kind of CiscoTerminal that allows
applications to terminate RTP media streams. Unlike a CiscoTerminal, a
CiscoMediaTerminal does not represent a physical telephony endpoint, which is
observable and controllable in a third-party manner. Instead, a
CiscoMediaTerminal is a logical telephony endpoint, which may be associated
with any application that desires to terminate media. Such applications include
voice mail systems, interactive voice response (IVR), and “soft” phones.
See Also:
CiscoTerminal
Member Summary
Methods
void changeRTPDefaults(InetAddress, int)
Changes the default registration parameters to specified
address and port.
boolean isRegistered()
This method returns true if the CiscoMediaTerminal is
registered and false otherwise.
void register(InetAddress, int, CiscoMediaCapability[])
The CiscoMediaTerminal must be in the
CiscoTerminal.UNREGISTERED state and its Provider must be
in the Provider.IN_SERVICE state.
void register(InetAddress, int)
Registers a Terminal with the specified address and port,
defaulting to G.711 64KHz u-law encoding with a thirty
millisecond packet size.
void register(CiscoMediaCapability[], int)
The CiscoMediaTerminal must be in the
CiscoTerminal.UNREGISTERED state and its Provider must be
in the Provider.IN_SERVICE state.
void register(InetAddress, int, CiscoMediaCapability[], int)
The CiscoMediaTerminal must be in the
CiscoTerminal.UNREGISTERED state and its Provider must be
in the Provider.IN_SERVICE state.
void setRTPParams(CiscoRTPHandle, CiscoRTPParams)
Application can set ipAddress and RTPPort number to
dynamically stream media for a call.
void unregister()
The CiscoMediaTerminal must be registered and its
Provider must be in the Provider.IN_SERVICE state.
Methods
changeRTPDefaults(InetAddress, int)
public void changeRTPDefaults(java.net.InetAddress address,
int port)
throws CiscoRegistrationException
isRegistered()
public boolean isRegistered()
isRegisteredByThisApp()
public boolean isRegisteredByThisApp()
This method returns true if this application issued a successful registration
request. This if valid even if device is out of service because of CTIManager
failure. This will be set to true until this application unregisters the device.
register(CiscoMediaCapability[], int)
public void
register(com.cisco.jtapi.extensions.CiscoMediaCapability[]
capabilities, int failureCloseDelay) throws
CiscoRegistrationException
See Also:
CiscoMediaOpenLogicalChannelEv
register(InetAddress, int)
public void register(java.net.InetAddress address, int port
throws CiscoRegistrationException
Deprecated.
Registers a Terminal with the specified address and port, defaulting to
G.711 64KHz u-law encoding with a thirty millisecond packet size.
Parameters:
address - the internet address for inbound RTP streams on this
terminal
port - the UDP port for inbound RTP streams on this terminal
Throws:
CiscoRegistrationException
Parameters:
address - the internet address for inbound RTP streams on this
terminal
port - the UDP port for inbound RTP streams on this terminal
capabilities - the list of RTP encodings supported by this terminal
Throws:
CiscoRegistrationException
setRTPParams(CiscoRTPHandle, CiscoRTPParams)
public void
setRTPParams(com.cisco.jtapi.extensions.CiscoRTPHandle0 rtpHandle,
com.cisco.jtapi.extensions.CiscoRTPParams rtpParams)
throws InvalidStateException, InvalidArgumentException,
PrivilegeViolationException
Applications can set ipAddress and RTP Port number to dynamically stream
media for a call. In order to do this, applications will have to register
MediaTerminal or CiscoRouteTeminal by providing only capabilities.
Applications will have to invoke this method upon receiving
CiscoCallOpenLogicalChannel on terminalObserver. Applications need to
pass in rtpHandle that is received in CiscoCallOpenLogicalChannelEv.
Applications can get CiscoCall reference using
CiscoProvider.getRTPHandle(rtpHandle) method. This may return null if
either no callobserver is added on the terminal or no callobserver at the time
when this event was sent or there is no call associated with this handle.
Throws:
javax.telephony.PrivilegeViolationException,
javax.telephony.InvalidArgumentException,
javax.telephony.InvalidStateException
See Also:
CiscoRTPParams
unregister()
public void unregister()
throws CiscoUnregistrationException
The CiscoMediaTerminal must not be registered and its Provider must be in
the Provider.IN_SERVICE state. The successful effect of this method is
to unregister the MediaTerminal.
Method Post-conditions
This method returns successfully when the MediaTerminal is unregistered.
Throws:
CiscoRegistrationException
CiscoObjectContainer
Declaration
public interface CiscoObjectContainer
Description
The ApplicationObject interface allows applications to associate an
application defined object to objects that implement this interface.
Member Summary
Methods
java.lang.Object getObject()
Gets the application-defined object.
java.lang.Object setObject(Object)
Sets an application-defined object.
Methods
getObject()
public java.lang.Object getObject()
Returns:
the CallID property of this Call
setObject(Object)
public java.lang.Object setObject(java.lang.Object reference)
CiscoOutOfServiceEv
Declaration
public interface CiscoOutOfServiceEv extends CiscoEv
All Superinterfaces
CiscoEv, javax.telephony.events.Ev
Description
The CiscoAddrOutOfServiceEv event
Member Summary
Fields
Member Summary
static int CAUSE_CALLMANAGER_FAILURE
static int CAUSE_CTIMANAGER_FAILURE
static int CAUSE_DEVICE_FAILURE
static int CAUSE_DEVICE_UNREGISTERED
static int CAUSE_NOCALLMANAGER_AVAILABLE
static int CAUSE_REHOME_TO_HIGHER_PRIORITY_CM
static int CAUSE_REHOMING_FAILURE
static int ID
Fields
CAUSE_CALLMANAGER_FAILURE
public static final int CAUSE_CALLMANAGER_FAILURE
CAUSE_CTIMANAGER_FAILURE
public static final int CAUSE_CTIMANAGER_FAILURE
CAUSE_DEVICE_FAILURE
public static final int CAUSE_DEVICE_FAILURE
CAUSE_DEVICE_UNREGISTERED
public static final int CAUSE_DEVICE_UNREGISTERED
CAUSE_NOCALLMANAGER_AVAILABLE
public static final int CAUSE_NOCALLMANAGER_AVAILABLE
CAUSE_REHOME_TO_HIGHER_PRIORITY_CM
public static final int CAUSE_REHOME_TO_HIGHER_PRIORITY_CM
CAUSE_REHOMING_FAILURE
public static final int CAUSE_REHOMING_FAILURE
ID
public static final int ID
CiscoProvCallParkEv
Declaration
public interface CiscoProvCallParkEv extends CiscoProvFeatureEv
All Superinterfaces
CiscoEv, CiscoProvEv, CiscoProvFeatureEv,
javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoProvCallParkEv event is delivered to the provider observer when a call
is parked by any device in the cluster. To receive this event the application should
register using CiscoProvider.registerFeature() and
CiscoProvFeatureID.MONITOR_CALLPARK_DN. The user profile used by the
application should have the “Call Park Retrieval Allowed” flag enabled to receive
this event.
Member Summary
Fields
static int ID
static int PARK_STATE_ACTIVE
Indicates that a call is parked
static int PARK_STATE_IDLE
Indicates that a call is unparked
static int REASON_CALLPARK
This event is due to call park
static int REASON_CALLPARKREMAINDER
This event is due to call park remainder
static int REASON_CALLUNPARK
This event is due to call being unparked
Methods
int getintCallIDValue()
Returns an integer representation of this object
java.lang.String getParkDN()
This returns where the call is parked
java.lang.String getParkedParty()
This returns the DN of the parked party
java.lang.String getParkingParty()
This returns the DN of the parking party
int getReason()
This returns the reason of the event.
int getState()
This returns the state of the call Possible states are
CiscoProvCallParkEv.PARK_STATE_IDLE
CiscoProvCallParkEv.PARK_STATE_ACTIVE
Fields
ID
public static final int ID
PARK_STATE_ACTIVE
public static final int PARK_STATE_ACTIVE
PARK_STATE_IDLE
public static final int PARK_STATE_IDLE
REASON_CALLPARK
public static final int REASON_CALLPARK
REASON_CALLPARKREMAINDER
public static final int REASON_CALLPARKREMAINDER
REASON_CALLUNPARK
public static final int REASON_CALLUNPARK
Methods
getintCallIDValue()
public int getintCallIDValue()
getParkDN()
public java.lang.String getParkDN()
getParkedParty()
public java.lang.String getParkedParty()
getParkingParty()
public java.lang.String getParkingParty()
getReason()
public int getReason()
This returns the reason of the event. Possible states include the following:
CiscoProvCallParkEv.REASON_CALLPARK
CiscoProvCallParkEv.REASON_CALLUNPARK
CiscoProvCallParkEv.REASON_CALLPARKREMAINDER
getState()
public int getState()
This returns the state of the call Possible states include the following:
CiscoProvCallParkEv.PARK_STATE_IDLE
CiscoProvCallParkEv.PARK_STATE_ACTIVE
CiscoProvEv
Declaration
public interface CiscoProvEv extends CiscoEv,
javax.telephony.events.ProvEv
All Superinterfaces
CiscoEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoProvEv interface, which extends JTAPI’s core
javax.telephony.events.ProvEv interface, serves as the base interface
for all Cisco-extended JTAPI Provider events. Every Provider-related event in this
package extends this interface, directly or indirectly.
See Also:
javax.telephony.events.ProvEv
CiscoProvFeatureEv
Declaration
public interface CiscoProvFeatureEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Member Summary
Methods
int getFeatureID()
Feature ID for which application is interested in
receiving events
Methods
getFeatureID()
public int getFeatureID()
CiscoProvFeatureID
Declaration
public interface CiscoProvFeatureID
Description
This interface lists the features supported by the registerFeature interface.
Member Summary
Fields
static int MONITOR_CALLPARK_DN
Fields
MONITOR_CALLPARK_DN
public static final int MONITOR_CALLPARK_DN
CiscoProvFeatureUnRegisteredEv
Declaration
public interface CiscoProvFeatureUnRegisteredEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoProvFeatureUnRegisteredEv event This event indicates the
unregistration of a particular feature by Cisco CallManager
Member Summary
Fields
static int ID
Methods
int getFeatureID()
FeatureID for which application will no longer receive
events
Fields
ID
public static final int ID
Methods
getFeatureID()
public int getFeatureID()
CiscoProvider
Declaration
public interface CiscoProvider extends javax.telephony.Provider,
CiscoObjectContainer
All Superinterfaces
CiscoObjectContainer, javax.telephony.Provider
Description
Member Summary
Methods
CiscoTerminal createTerminal(java.lang.String name)
Returns an instance of the CiscoTerminal class which
corresponds to the given name.
void deleteCall(Call)
Deletes an unused call created by createCall().
void deleteTerminal(com.cisco.jtapi.extensions.CiscoTerminal
terminal)
Removes the CiscoTerminal Ojbect from providers control.
CiscoCall getCall(CiscoRTPHandle)
Returns call object with the rtpHandle associated with a
specific terminal.
Member Summary
boolean getCallbackGuardEnabled()
Returns the current state of the callback guard feature
CiscoMediaTerminal getMediaTerminal(String)
Returns an instance of the CiscoMediaTerminal class which
corresponds to the given name.
CiscoMediaTerminal[] getMediaTerminals()
Returns an array of CiscoMediaTerminals associated with
the Provider and within the Provider’s domain.
java.lang.String getVersion()
Returns the current version of provider running if
provider is in service otherwise it will return empty
string
void registerFeature(int)
used to register for a particular feature for which
application will get Provider events.
void setCallbackGuardEnabled(boolean)
Enables or disables try/catch logic for observer
callbacks
void unregisterFeature(int)
used to unregister a particular feature.
Methods
createTerminal(java.lang.String name)
CiscoTerminal createTerminal(java.lang.String name)
deleteCall(Call)
public void deleteCall(javax.telephony.Call call
throws InvalidStateException
deleteTerminal(com.cisco.jtapi.extensions.CiscoTerminal terminal)
void deleteTerminal(com.cisco.jtapi.extensions.CistoTerminal
terminal)
getCall(CiscoRTPHandle)
public com.cisco.jtapi.extensions.CiscoCall0
getCall(com.cisco.jtapi.extensions.CiscoRTPHandle rtpHandle)
throws InvalidStateException
Returns call object with the rtpHandle associated with a specific terminal.
This method may return null if this rtpHandle is no longer associated with any
call or if there was no callObserver added on the terminal at the time when
CiscoCallOpenLogicalChannelEv which contained this handle gets sent to
applications.
Throws:
javax.telephony.InvalidStateException
getCallbackGuardEnabled()
public boolean getCallbackGuardEnabled()
getMediaTerminal(String)
public com.cisco.jtapi.extensions.CiscoMediaTerminal
getMediaTerminal(java.lang.String name
throws InvalidArgumentException
Pre-conditions:
1. Let CiscoMediaTerminal terminal = this.getMediaTerminal(name);
2. terminal is an element of this.getTerminals();
3. terminal is an element of this.getMediaTerminals();
Post-conditions:
1. Let CiscoMediaTerminal terminal = this.getMediaTerminal(name);
2. terminal is an element of this.getTerminals();
3. terminal is an element of this.getMediaTerminals();
Parameters:
name - The name of desired CiscoMediaTerminal object.
Returns:
The CiscoMediaTerminal object associated with the given name.
Throws:
javax.telephony.InvalidArgumentException - The name
provided does not correspond to a name of any CiscoMediaTerminal
known to the Provider or within the Provider’s domain.
getMediaTerminals()
public com.cisco.jtapi.extensions.CiscoMediaTerminal[]
getMediaTerminals()
throws ResourceUnavailableException
getVersion()
public java.lang.String getVersion()
registerFeature(int)
public void registerFeature(int featureID)
throws InvalidStateException, PrivilegeViolationException, Inva
lidArgumentException
used to register for a particular feature for which application will get Provider
events. Applications should pass in the featureID of the softkey. Current
supported features are listed in CiscoProvFeatureID interface
Throws:
javax.telephony.InvalidArgumentException,
javax.telephony.PrivilegeViolationException,
javax.telephony.InvalidStateException
setCallbackGuardEnabled(boolean)
public void setCallbackGuardEnabled(boolean enabled)
observer.callStateChanged ( ... );
} catch ( Throwable t ) {
// log the exception here
}
Note Disabling callback guards in this manner is only intended for use
while troubleshooting applications, and never for use in production
environments. By default, callback guards are always enabled.
Parameters:
enabled - if true, callback guard will be enabled; if false, callback
guard will be disabled
unregisterFeature(int)
public void unregisterFeature(int featureID)
throws InvalidStateException
used to unregister a particular feature. Provider events for the feature will
stop after unregistering the feature
Throws:
javax.telephony.InvalidStateException
CiscoProviderCapabilities
Declaration
public interface CiscoProviderCapabilities extends
javax.telephony.capabilities.ProviderCapabilities
All Superinterfaces
javax.telephony.capabilities.ProviderCapabilities
Description
This interface defines the specific capabilities offered by the Cisco JTAPI
implementation.
Member Summary
Methods
boolean canObserveAnyTerminal()
Enables a user to be provisioned in the Directory to be
able to observe any terminal (and its addresses) in the
system.
Methods
canObserveAnyTerminal()
boolean canOberveAnyTerminal()
CiscoProviderObserver
Declaration
public interface CiscoProviderObserver extends
javax.telephony.ProviderObserver
All Superinterfaces
javax.telephony.ProviderObserver
Description
Applications implement this interface in order to receive CiscoProvEv events
such as CiscoAddrCreatedEv and CiscoTermCreatedEv when
observing a Provider via the Provider.addObserver method.
See Also:
CiscoAddrCreatedEv, CiscoTermCreatedEv
CiscoRegistrationException
Declaration
public class CiscoRegistrationException extends java.lang.Exception
java.lang.Object
|
+--java.lang.Throwable
|
+--java.lang.Exception
|
+--com.cisco.jtapi.extensions.CiscoRegistrationEx
ception
Description
The CiscoMediaTerminal.register method throws this exception when
the registration process fails for any reason. For example, registration would fail
if the Provider were OUT_OF_SERVICE or if the device were already registered.
See Also:
Member Summary
Constructors
CiscoRegistrationException()
CiscoRegistrationException(String)
Constructors
CiscoRegistrationException()
public CiscoRegistrationException()
CiscoRegistrationException(String)
public CiscoRegistrationException(java.lang.String description)
CiscoRouteAddress
Declaration
public interface CiscoRouteAddress extends
javax.telephony.callcenter.RouteAddress
All Superinterfaces
javax.telephony.Address,
javax.telephony.callcenter.RouteAddress
Member Summary
Methods
Member Summary
void registerRouteCallback(RouteCallback, boolean)
Methods
registerRouteCallback(RouteCallback, boolean)
public void
registerRouteCallback(javax.telephony.callcenter.RouteCallback
routeCallback,
boolean disableAutoRehoming)throws ResourceUnavailableException
, MethodNotSupportedException
Throws:
javax.telephony.MethodNotSupportedException,
javax.telephony.ResourceUnavailableException
CiscoRouteSession
Declaration
public interface CiscoRouteSession extends
javax.telephony.callcenter.RouteSession
All Superinterfaces
javax.telephony.callcenter.RouteSession
Description
The CiscoRouteSession supports application access to underlying call
associated with a RouteSession. Also, various internal ERRORs where endRoute
is called internally are exposed to the application, should they wish to handle
endRouteEvent() in any special way for these cases.
See Also:
javax.telephony.Call
Member Summary
Fields
static int CALLINGADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using the
search space of the calling address.
static int DEFAULT_SEARCH_SPACE
This indicates that the redirect should be done using the
search space that is the default for the implementation.
static int DONOT_RESET_ORIGINALCALLED
This is a parameter for PreferedOriginalCalledOpotion. It
specifies not to reset the OriginalCalled.
Member Summary
static int ERROR_INVALID_STATE
If an internal InvalidStateException occurred or some
preconditions/post-conditions were not met during routing
endRoute is called with this ERROR_INVALID_STATE error.
static int ERROR_NO_CALLBACK
For now, since there is no default route mechanism in
place, if there is no callback registered for this app,
an endRoute with this error is called.
static int ERROR_NONE
ERRORS defined for internal successful endRoute call.
static int ERROR_ROUTESELECT_TIMEOUT
Each routeEvent()/reRouteEvent() sent starts a timer for
the app to respond with a routeSelect()/ endRoute().
static int RESET_ORIGINALCALLED
A parameter value for PreferedOriginalCalledOption. If
the value of preferedOriginalCalledOption gets set to
this, it resets OriginalCalled to
preferedOriginalCalledNumber.
static int ROUTEADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using the
search space of the route point address.
Methods
javax.telephony.Call getCall()
Returns the call associated with this RouteSession.
void selectRoute(String[], int)
This method overloads the selectRoute method in the
RouteSession interface to allow applications to specify a
calling search space to be used when the call is
redirected to the route destination.
void selectRoute(String[], int, String[])
Selects one or more possible destinations for the routing
of the Call with modifying calling number.
void selectRoute(String[], int, String[], int[])
Selects one or more possible destinations for the routing
of the Call.
Fields
CALLINGADDRESS_SEARCH_SPACE
public static final int CALLINGADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using the search space of the
calling address.
DEFAULT_SEARCH_SPACE
public static final int DEFAULT_SEARCH_SPACE
This indicates that the redirect should be done using the search space that is
the default for the implementation. The default is to use the caller’s search
space.
DONOT_RESET_ORIGINALCALLED
public static final int DONOT_RESET_ORIGINALCALLED
ERROR_INVALID_STATE
public static final int ERROR_INVALID_STATE
ERROR_NO_CALLBACK
public static final int ERROR_NO_CALLBACK
ERROR_NONE
public static final int ERROR_NONE
ERRORS defined for internal successful endRoute call. Error value set for no
error.
ERROR_ROUTESELECT_TIMEOUT
public static final int ERROR_ROUTESELECT_TIMEOUT
RESET_ORIGINALCALLED
public static final int RESET_ORIGINALCALLED
ROUTEADDRESS_SEARCH_SPACE
public static final int ROUTEADDRESS_SEARCH_SPACE
This indicates that the redirect should be done using the search space of the
route point address.
Methods
getCall()
public javax.telephony.Call getCall()
selectRoute(String[], int)
public void selectRoute(java.lang.String[] routeSelected,
int callingSearchSpace)
throws MethodNotSupportedException
Selects one or more possible destinations for the routing of the Call with
modifying calling number. This method takes an array of string destination
telephone address names, modifying calling numbers in priority order. The
highest priority destination is the first element in the given array, and routing
is attempted with this destination first with the corresponding element of
modifying calling number. If modifiedCallingNumber is null for an element,
the calling number is not modified, if a call is routed to that particular
routeSelected element.
Successive given destination addresses are attempted until one is found which
does not fail. A RouteUsedEvent event is delivered to the application when a
successful routing destination has been selected and the Call has been routed
to that destination. Pre-conditions:
this.getRouteAddress().getProvider().getState() == Provider.IN_SERVICE
this.getState() == RouteSession.ROUTE or RouteSession.RE_ROUTE
Post-Conditions this.getRouteAddress().getProvider().getState() ==
Provider.IN_SERVICE this.getState() == RouteSession.ROUTE_USED if
Call was successfully routed. RouteUsedEvent is delivered for this
RouteSession if a successful destination was selected.
Parameters:
routeSelected - A list of possible destinations for the call.
Throws:
MethodNotSupportedExceptionImpl - Routing is not supported by the
implementation. The callingSearchSpace parameter may be:
CiscoRouteSession.DEFAULT_SEARCH_SPACE
CiscoRouteSession.CALLINGADDRESS_SEARCH_SPACE
CiscoRouteSession.ROUTEADDRESS_SEARCH_SPACE
The modifiedCallingNumber may be an array of elements for which
application would like to modify the calling number when call reaches
routeselected element.
javax.telephony.MethodNotSupportedException,
javax.telephony.PrivilegeViolationException
Selects one or more possible destinations for the routing of the Call. This
method takes an array of string destination telephone address names, in
prioritized order and array of string for PreferredOriginalCalled number.
PreferedOriginalCalled number will be selected corresponding to index of
destination telephone name Array. If index corresponding to destination array
is not found in PreferedOriginalCalled number array then
preferedOriginalCalled preferedOriginalCalled will be set to destination.
The highest priority destination is the first element in the given array, and
routing is attempted with this destination first. Successive given destination
addresses are attempted until one is found which does not fail. A
RouteUsedEvent event is delivered to the application when a successful
routing destination has been selected and the Call has been routed to that
destination.
Pre-conditions:
this.getRouteAddress().getProvider().getState() ==
Provider.IN_SERVICE this.getState() == RouteSession.ROUTE or
RouteSession.RE_ROUTE Post-Conditions
this.getRouteAddress().getProvider().getState() ==
Provider.IN_SERVICE this.getState() == RouteSession.ROUTE_USED
if Call was successfully routed. RouteUsedEvent is delivered for this
RouteSession if a successful destination was selected.
Parameters:
routeSelected - A list of possible destinations for the call.
preferedOriginalCalledOption - A list of option each corresponding to
RouteList, this option specifies whether to set OriginalCalled to
preferedOriginalCalledNumber. This takes value
CiscoRouteSession.DONOT_RESET_ORIGINALCALLED,
CiscoRouteSession.RESET_ORIGINALCALLED. If value is not
specified or it is null then, JTAPI will default it to
CiscoRouteSession.DONOT_RESET_ORIGINALCALLED
Throws:
MethodNotSupportedExceptionImpl - Routing is not supported by the
implementation.
javax.telephony.MethodNotSupportedException,
javax.telephony.PrivilegeViolationException
CiscoRouteTerminal
Declaration
public interface CiscoRouteTerminal extends CiscoTerminal
All Superinterfaces
CiscoObjectContainer, CiscoTerminal, javax.telephony.Terminal
Description
A CiscoRouteTerminal is a special kind of CiscoTerminal that allows applications
to terminate RTP media streams. Unlike a CiscoTerminal, a CiscoRouteTerminal
does not represent a physical telephony endpoint, which is observable and
controllable in a third-party manner. Instead, a CiscoRouteTerminal is a logical
telephony endpoint, which may be associated with any application that desires to
route calls and also terminate media. Unlike CiscoMediaTerminal,
CiscoRouteTerminal can have multiple active calls at the same time. Typically,
CiscoRouteTerminals will be used to put callers in queue until an agent is
available to service the caller.
Note For no media termination, all applications written for or prior to CiscoJtapiClient
1.4(x) release need to be modified to register with NO_MEDIA_TERMINATION.
Multiple applications can register with same RoutePoint as long as they are
registered with same media capabilities and registrationType. All applications if
registered with CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION and
adds callObserver will receive CiscoMediaOpenLogicalChannelEv but only one
application will be able to invoke setRTPParams.
See Also:
CiscoTerminal
Member Summary
Fields
static int DYNAMIC_MEDIA_REGISTRATION
Applications that are interested in media termination
need to register with this type and pass in capabilities
that it supports in registration request.
static int NO_MEDIA_REGISTRATION
Applications that are not interested in media termination
need to register with this type and pass in null value
for CiscoMediaCapability in the registration request
Methods
boolean isRegistered()
This method returns true only if the CiscoRouteTerminal
is registered
boolean isRegisteredByThisApp()
This method returns true if this application issued a
successful registration request.
void register(CiscoMediaCapability[], int, int)
The CiscoRouteTerminal must be in the
CiscoTerminal.UNREGISTERED state and its Provider must be
in the Provider.IN_SERVICE state
void setRTPParams(CiscoRTPHandle, CiscoRTPParams)
Applications can set ipAddress and RTP port number to
dynamically stream media for a call.
void unregister()
The CiscoRouteTerminal must be registered and its
Provider must be in the Provider.IN_SERVICE state
Fields
DYNAMIC_MEDIA_REGISTRATION
public static final int DYNAMIC_MEDIA_REGISTRATION
Applications that are interested in media termination need to register with this
type and pass in capabilities that it supports in registration request.
NO_MEDIA_REGISTRATION
public static final int NO_MEDIA_REGISTRATION
Applications that are not interested in media termination need to register with
this type and pass in null value for CiscoMediaCapability in the registration
request.
Methods
isRegistered()
public boolean isRegistered()
isRegisteredByThisApp()
public boolean isRegisteredByThisApp()
Method Arguments
Capabilities:
1. indicates the type of RTP encodings that the application is willing to
support for this Terminal. If application is not interested in media
termination, it may pass in null value
Possible RegistrationTypes:
1. CiscoRouteTerminal.NO_MEDIA_REGISTRATION
2. CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION
FailureCloseDelay:
1. A value indicating the number of seconds the persistence is desired.
Method Post-conditions
This method returns successfully when the CiscoRouteTerminal is registered.
Parameters:
capabilities - the list of RTP encodings supported by this terminal
registrationType -
CiscoRouteTerminal.DYNAMIC_MEDIA_REGISTRATION or
CiscoRouteTerminal.NO_MEDIA_REGISTRATION
failureCloseDelay - persistence delay seconds on application or
CTIManager failure
setRTPParams(CiscoRTPHandle, CiscoRTPParams)
public void
setRTPParams(com.cisco.jtapi.extensions.CiscoRTPHandle0 rtpHandle,
com.cisco.jtapi.extensions.CiscoRTPParams0 rtpParams)
throws InvalidStateException, InvalidArgumentException,
PrivilegeViolationException
Applications can set ipAddress and RTP Port number to dynamically stream
media for a call. In order to do this, applications will have to register
MediaTerminal or CiscoRouteTeminal by providing only capabilities.
Applications will have to invoke this method upon receiving
CiscoCallOpenLogicalChannel on terminalObserver. Applications need to
pass in rtpHandle that is received in CiscoCallOpenLogicalChannelEv
Throws:
javax.telephony.PrivilegeViolationException,
javax.telephony.InvalidArgumentException,
javax.telephony.InvalidStateException
See Also:
CiscoRTPParams, CiscoMediaOpenLogicalChannelEv
unregister()
public void unregister()
throws CiscoUnregistrationException
CiscoRouteUsedEvent
Declaration
public interface CiscoRouteUsedEvent extends
javax.telephony.callcenter.events.RouteUsedEvent
All Superinterfaces
javax.telephony.callcenter.events.RouteSessionEvent
javax.telephony.callcenter.events.RouteUsedEvent
Description
The CiscoRouteUsedEvent event interface indicates the RouteSession
interface has moved into the RouteSession.ROUTE_USED state and the Call
has terminated at a destination as a result of routing by the application. This
interface extends the RouteUsedEvent interface and is reported via the
RouteCallback interface.
Member Summary
Methods
int getRouteSelectedIndex()
This method returns an array index of route where the
call has been routed.
Methods
getRouteSelectedIndex()
public int getRouteSelectedIndex()
This method returns an array index of route where the call has been routed.
CiscoRTPBitRate
Declaration
public interface CiscoRTPBitRate
Description
The RTPBitRate interface contains constants describing G.723 RTP bit rates.
These constants are returned by the
CiscoRTPInputProperties.getBitRate method and the
CiscoRTPOutputProperties.getBitRate method.
See Also:
CiscoRTPInputProperties.getBitRate(),
CiscoRTPOutputProperties.getBitRate()
Member Summary
Fields
static int R5_3
5.3k G.723 bit rate
static int R6_4
6.4k G.723 bit rate
Fields
R5_3
public static final int R5_3
R6_4
public static final int R6_4
CiscoRTPHandle
Declaration
public interface CiscoRTPHandle
Description
The CiscoRTPHandle is returned in CiscoMediaCallOpenLogicalChannelEv and
applications should pass this handle in setRTPParams of CiscoMediaTerminal or
CiscoRouteTerminal depending on where
CiscoMediaCallOpenLogicalChannelEv is received. Applications can use this
object to get call reference using CiscoProvider.getCall(CiscoRTPHandle).
However, if there is no callobserver added or there was no callobserver added at
the time when CiscoMediaCallOpen LogicalChannelEv is sent,
CiscoProvider.getCall(CiscoRTPHandle) may return null method.
Member Summary
Methods
int getBitRate()
Returns the media bit rate, one of the following
constants:
Methods
getHandle()
public int getHandle()
CiscoRTPInputProperties
Declaration
public interface CiscoRTPInputProperties
Description
Member Summary
Methods
int getBitRate()
Returns the media bit rate, one of the following
constants:
boolean getEchoCancellation()
java.net.InetAddress getLocalAddress()
int getLocalPort()
int getPacketSize()
int getPayloadType()
Returns the payload format, one of the following
constants:
Methods
getBitRate()
public int getBitRate()
getEchoCancellation()
public boolean getEchoCancellation()
Returns:
echo cancellation
getLocalAddress()
public java.net.InetAddress getLocalAddress()
Returns:
address to which media will be directed
getLocalPort()
public int getLocalPort()
Returns:
port to which media will be directed
getPacketSize()
public int getPacketSize()
Returns:
packet size, in milliseconds
getPayloadType()
public int getPayloadType()
CiscoRTPInputStartedEv
Declaration
public interface CiscoRTPInputStartedEv extends CiscoEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
Member Summary
Fields
static int ID
Methods
CiscoCallID getCallID()
returns CiscoCallID
CiscoRTPInputProperties getRTPInputProperties()
Fields
ID
public static final int ID
Methods
getCallID()
public com.cisco.jtapi.extensions.CiscoCallID getCallID()
returns CiscoCallID
getRTPInputProperties()
public com.cisco.jtapi.extensions.CiscoRTPInputProperties
getRTPInputProperties()
Returns:
RTP input properties
CiscoRTPInputStoppedEv
Declaration
public interface CiscoRTPInputStoppedEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
Member Summary
Fields
static int ID
Methods
CiscoCallID getCallID()
returns CiscoCallID
Fields
ID
public static final int ID
Methods
getCallID()
public com.cisco.jtapi.extensions.CiscoCallID getCallID()
returns CiscoCallID
CiscoRTPOutputProperties
Declaration
public interface CiscoRTPOutputProperties
Description
Member Summary
Methods
int getBitRate()
Returns the media bit rate, one of the following
constants:
int getMaxFramesPerPacket()
int getPacketSize()
int getPayloadType()
Returns the payload format, one of the following
constants:
int getPrecedenceValue()
java.net.InetAddress getRemoteAddress()
int getRemotePort()
boolean getSilenceSuppression()
Methods
getBitRate()
public int getBitRate()
getMaxFramesPerPacket()
public int getMaxFramesPerPacket()
Returns:
the maximum number of frames to send per packet
getPacketSize()
public int getPacketSize()
Returns:
packet size, in milliseconds
getPayloadType()
public int getPayloadType()
• CiscoRTPPayload.G722_48K
• CiscoRTPPayload.G7231
• CiscoRTPPayload.G728
• CiscoRTPPayload.G729
• CiscoRTPPayload.G729ANNEXA
• CiscoRTPPayload.IS11172AUDIOCAP
• CiscoRTPPayload.IS13818AUDIOCAP
• CiscoRTPPayload.ACY_G729AASSN
• CiscoRTPPayload.DATA64
• CiscoRTPPayload.DATA56
• CiscoRTPPayload.GSM
• CiscoRTPPayload.ACTIVEVOICE
Returns:
payload type
getPrecedenceValue()
public int getPrecedenceValue()
Returns:
precedence value
getRemoteAddress()
public java.net.InetAddress getRemoteAddress()
Returns:
address to which media is to be transmitted
getRemotePort()
public int getRemotePort()
Returns:
port to which media is to be transmitted
getSilenceSuppression()
public boolean getSilenceSuppression()
Returns:
silence suppression
CiscoRTPOutputStartedEv
Declaration
public interface CiscoRTPOutputStartedEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
Member Summary
Fields
static int ID
Methods
CiscoCallID getCallID()
returns CiscoCallID
CiscoRTPOutputProperties getRTPOutputProperties()
Fields
ID
public static final int ID
Methods
getCallID()
public com.cisco.jtapi.extensions.CiscoCallID getCallID()
returns CiscoCallID
getRTPOutputProperties()
public com.cisco.jtapi.extensions.CiscoRTPOutputProperties
getRTPOutputProperties()
Returns:
RTP output properties
CiscoRTPOutputStoppedEv
Declaration
public interface CiscoRTPOutputStoppedEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
Member Summary
Fields
static int ID
Methods
CiscoCallID getCallID()
returns CiscoCallID
Fields
ID
public static final int ID
Methods
getCallID()
public com.cisco.jtapi.extensions.CiscoCallID getCallID()
returns CiscoCallID
CiscoRTPParams
Declaration
public class CiscoRTPParams
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoRTPParams
Member Summary
Constructors
CiscoRTPParams(InetAddress, int)
Methods
java.net.InetAddress getRTPAddress()
java.lang.String getRTPAddressHostName()
byte[] getRTPByteAddress()
int getRTPPort()
java.lang.String toString()
Constructors
CiscoRTPParams(InetAddress, int)
public CiscoRTPParams(java.net.InetAddress rtpAddress,
int rtpPort)
Methods
getRTPAddress()
public java.net.InetAddress getRTPAddress()
getRTPAddressHostName()
public java.lang.String getRTPAddressHostName()
getRTPByteAddress()
public byte[] getRTPByteAddress()
getRTPPort()
public int getRTPPort()
toString()
public java.lang.String toString()
Overrides:
toString in class Object
CiscoRTPPayload
Declaration
public interface CiscoRTPPayload
Description
The RTPPayload interface contains constants describing RTP formats. These
constants are returned by the
CiscoRTPInputProperties.getPayloadType method and the
CiscoRTPOutputProperties.getPayloadType method.
See Also:
CiscoRTPInputProperties.getPayloadType(),
CiscoRTPOutputProperties.getPayloadType()
Member Summary
Fields
static int ACTIVEVOICE
ACTIVEVOICE payload
static int ACY_G729AASSN
ACY_G729AASSN payload
static int DATA56
DATA56 payload
static int DATA64
DATA64 payload
static int G711ALAW56K
G.711 56K a-law payload
static int G711ALAW64K
G.711 64K a-law payload
static int G711ULAW56K
G.711 56K u-law payload
static int G711ULAW64K
G.711 64K u-law payload
static int G722_48K
G.722 48K payload
static int G722_56K
G.722 56K payload
static int G722_64K
G.722 64K payload
static int G7231
G.723.1 payload
static int G728
G.728 payload
static int G729
G.729 payload
static int G729ANNEXA
G.729a payload
static int GSM
GSM payload
static int IS11172AUDIOCAP
IS11172AUDIOCAP payload
static int IS13818AUDIOCAP
IS13818AUDIOCAP payload
Member Summary
static int NONSTANDARD
A non-standard RTP payload
static int WIDEBAND_256K
Wide_Band_256K payload
Fields
ACTIVEVOICE
public static final int ACTIVEVOICE
ACTIVEVOICE payload
ACY_G729AASSN
public static final int ACY_G729AASSN
ACY_G729AASSN payload
DATA56
public static final int DATA56
DATA56 payload
DATA64
public static final int DATA64
DATA64 payload
G711ALAW56K
public static final int G711ALAW56K
G711ALAW64K
public static final int G711ALAW64K
G711ULAW56K
public static final int G711ULAW56K
G711ULAW64K
public static final int G711ULAW64K
G722_48K
public static final int G722_48K
G722_56K
public static final int G722_56K
G722_64K
public static final int G722_64K
G7231
public static final int G7231
G.723.1 payload
G728
public static final int G728
G.728 payload
G729
public static final int G729
G.729 payload
G729ANNEXA
public static final int G729ANNEXA
G.729a payload
GSM
public static final int GSM
GSM payload
IS11172AUDIOCAP
public static final int IS11172AUDIOCAP
IS11172AUDIOCAP payload
IS13818AUDIOCAP
public static final int IS13818AUDIOCAP
IS13818AUDIOCAP payload
NONSTANDARD
public static final int NONSTANDARD
WIDEBAND_256K
public static final int WIDEBAND_256K
Wide_Band_256k payload
CiscoSynchronousObserver
Declaration
public interface CiscoSynchronousObserver
Description
The Cisco JTAPI implementation is designed to allow applications to invoke
blocking JTAPI methods such as Call.connect() and
TerminalConnection.answer() from within their observer callbacks.
This means that applications are not subject to the restrictions imposed by the
JTAPI specification, which cautions applications against using JTAPI methods
from within observer callbacks.
Normally, when an application adds a new observer to a JTAPI object, the Cisco
JTAPI implementation creates an event queue and an accompanying worker
thread to service the new observer. If the same observer is added to another object,
its queue and thread are reused; in effect, every unique observer object has a
single queue and worker thread. As noted, the advantage of this arrangement is
that an application may invoke blocking JTAPI methods from within its observer
callback. A subtle disadvantage, however, is that accessor methods such as
Call.getConnections() and Connection.getState() may not
return results that are consistent with events when invoked from within the
observer callback.
For example, suppose that an application creates and connects a call from address
“A” to address “B”. If the application is observing address “A”, it might
reasonably expect that when it receives the CallActiveEv, the state of the call
will be Call.ACTIVE. This is not necessarily so, since the worker thread
delivering events to the application is decoupled from the internal JTAPI thread
that is updating object states. In fact, if “B” rejects the call from “A”, the call
object might be in either the Call.ACTIVE state or the Call.INVALID state,
depending on the exact moment at which the worker thread delivers the
CallActiveEv.
Many applications will not be adversely affected by this asynchronous behavior.
Applications that would benefit from a coherent call model during observer
callbacks, however, can selectively disable the queueing logic of the Cisco JTAPI
implementation. By implementing the CiscoSynchronousObserver
interface on its observer objects, an application declares that it wishes events to
be delivered synchronously to its observers. Events delivered to synchronous
observers will match the states of the call model objects queried from within the
observer callback.
Usage Notes
Objects that implement the CiscoSynchronousObserver interface are
strictly forbidden from invoking blocking JTAPI methods from within their event
callbacks. The consequences of doing so are unpredictable, and may include
deadlocking the JTAPI implementation. On the other hand, they may safely use
the accessor methods of any JTAPI object, for instance
Call.getConnections() or Connection.getState().
CiscoTermButtonPressedEv
Declaration
public interface CiscoTermButtonPressedEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
CiscoTermButtonPressedEv event is delivered on a TerminalObserver when a
button is pressed on the Terminal. In order to receive these events an application
must also enable the flag for these events in the CiscoTermEvFilter. The button
pressed events responds only to the numeric keypad button presses on the
Terminal as listed in the constants in this interface (such as 0-9, *, #, A, B, C, D).
Member Summary
Fields
static int CHARA
static int CHARB
static int CHARC
static int CHARD
Member Summary
static int EIGHT
static int FIVE
static int FOUR
static int ID
static int NINE
static int ONE
static int POUND
static int SEVEN
static int SIX
static int STAR
static int THREE
static int TWO
static int ZERO
Methods
int getButtonPressed()
Fields
CHARA
public static final int CHARA
CHARB
public static final int CHARB
CHARC
public static final int CHARC
CHARD
public static final int CHARD
EIGHT
public static final int EIGHT
FIVE
public static final int FIVE
FOUR
public static final int FOUR
ID
public static final int ID
NINE
public static final int NINE
ONE
public static final int ONE
POUND
public static final int POUND
SEVEN
public static final int SEVEN
SIX
public static final int SIX
STAR
public static final int STAR
THREE
public static final int THREE
TWO
public static final int TWO
ZERO
public static final int ZERO
Methods
getButtonPressed()
public int getButtonPressed()
Returns:
the button pressed on the terminal
CiscoTermConnPrivacyChangedEv
Declaration
public interface CiscoTermConnPrivacyChangeEv
Description
This event is sent when Privacy status of TeminalConnection changes during
CallProgress. If privacy is on, you can not Barge into the Call and vice versa.
The CiscoTermConnPrivacyChangedEv event
Member Summary
Fields
static int ID
Member Summary
Methods
getTerminalConnection()
javax.telephony.TerminalC
onnection
Fields
ID
public static final int ID
Methods
getTerminalConnection()
public javax.telephony.TerminalConnection getTerminalConnection ()
CiscoTermCreatedEv
Declaration
public interface CiscoTermCreatedEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoTermCreatedEv event
Member Summary
Fields
static int ID
Methods
javax.telephony.Terminal getTerminal()
Fields
ID
public static final int ID
Methods
getTerminal()
public javax.telephony.Terminal getTerminal()
CiscoTermDataEv
Declaration
public interface CiscoTermDataEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermDataEv event
Member Summary
Fields
static int ID
Methods
java.lang.String getData()
byte[] getTermData()
Fields
ID
public static final int ID
Methods
getData()
public java.lang.String getData()
Deprecated.
use byte[] getTermData
getTermData()
public byte[] getTermData ()
CiscoTermDeviceStateActiveEv
Declaration
public interface CiscoTermDeviceStateActiveEV
extends com.cisco.jtapi.extensions.CiscoTermEv
All Super-Interfaces
CiscoTermEv, CiscoEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermDeviceStateActiveEv is sent to the application if any of the
addresses on the terminal have an outgoing call (in CTI State Dialtone, Dialing,
Proceeding, Ringback, or Connected) or an incoming call (in CTI State
Connected).
Member Summary
Methods
int getDeviceState()
void setDeviceStateActiveEvFilter(boolean filterValue)
boolean getDeviceStateActiveEvFilter()
Methods
getDeviceState()
public int getDeviceState()
Returns the DeviceState of the terminal, which can be one of the following
constants:
– CiscoTerminal.DEVICESTATE_IDLE
– CiscoTerminal.DEVICESTATE_ACTIVE
– CiscoTerminal.DEVICESTATE_ALERTING
– CicsoTerminal.DEVICESTATE_HELD
– CiscoTerminal.DEVICESTATE_UNKNOWN
DeviceState is the cumulative call state of all the addresses on the terminal.
CiscoTerminal.DEVICESTATE_UNKNOWN is returned if
CicsoTermEvFilter is not enabled for DeviceState events or if the terminal is
OUTOFSERVICE.
setDeviceStateActiveEvFilter(boolean filterValue)
public void setDeviceStateActiveEvFilter(boolean filterValue)
Enables and disables the CiscoTermDeviceStateActiveEv filter for the
terminal. The default value is Disable.
getDeviceStateActiveEvFilter()
public boolean getDeviceStateActiveEvFilter()
Gets the CiscoTermDeviceStateActiveEv filter status.
CiscoTermDeviceStateAlertingEv
Declaration
public interface CiscoTermDeviceStateAlertingEv
extends com.cisco.jtapi.extensions.CiscoTermEv
All Super-Interfaces
CiscoTermEv, CiscoEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoDeviceAlertingEv event is sent to the application if none of the address
on the terminal have an outgoing call (in CTI state Dialing, Dialtone, Proceeding,
Ringback, or Connected) or an incoming call (in CTI state Offering, Accepted, or
Ringing).
Member Summary
Methods
int getDeviceState()
void setDeviceStateAlertingEvFilter(boolean filterValue)
boolean getDeviceStateAlertingEvFilter()
Methods
getDeviceState()
public int getDeviceState()
Returns the DeviceState of the terminal, which can be one of the following
constants:
– CiscoTerminal.DEVICESTATE_IDLE
– CiscoTerminal.DEVICESTATE_ACTIVE
– CiscoTerminal.DEVICESTATE_ALERTING
– CicsoTerminal.DEVICESTATE_HELD
– CiscoTerminal.DEVICESTATE_UNKNOWN
DeviceState is the cumulative call state of all the addresses on the terminal.
CiscoTerminal.DEVICESTATE_UNKNOWN is returned if
CicsoTermEvFilter is not enabled for DeviceState events or if the terminal is
OUTOFSERVICE.
setDeviceStateAlertingEvFilter(boolean filterValue)
public void setDeviceStateAlertingEvFilter(boolean filterValue)
Enables and disables the CiscoTermDeviceStateAlertingEv filter for the
terminal. The default value is Disable.
getDeviceStateAlertingEvFilter()
public boolean getDeviceStateAlertingEvFilter()
Gets the CiscoTermDeviceStateAlertingEv filter status.
CiscoTermDeviceStateHeldEv
Declaration
public interface CiscoTermDeviceStateHeldEv
extends com.cisco.jtapi.extensions.CiscoTermEv
All Super-Interfaces
CiscoTermEv, CiscoEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermDeviceStateHeldEv is sent to the application if all the calls on any
of the address on the terminal are HELD (in CTI State OnHold).
Member Summary
Methods
int getDeviceState()
void setDeviceStateHeldEvFilter(boolean filterValue)
boolean getDeviceStateHeldEvFilter()
Methods
getDeviceState()
public int getDeviceState()
Returns the DeviceState of the terminal, which can be one of the following
constants:
– CiscoTerminal.DEVICESTATE_IDLE
– CiscoTerminal.DEVICESTATE_ACTIVE
– CiscoTerminal.DEVICESTATE_ALERTING
– CicsoTerminal.DEVICESTATE_HELD
– CiscoTerminal.DEVICESTATE_UNKNOWN
DeviceState is the cumulative call state of all the addresses on the terminal.
CiscoTerminal.DEVICESTATE_UNKNOWN is returned if
CicsoTermEvFilter is not enabled for DeviceState events or if the terminal is
OUTOFSERVICE.
setDeviceStateHeldEvFilter(boolean filterValue)
public void setDeviceStateHeldEvFilter(boolean filterValue)
Enables and disables the CiscoTermDeviceStateHeldEv filter for the
terminal. The default value is Disable.
getDeviceStateHeldEvFilter()
public boolean getDeviceStateHeldEvFilter()
Gets the CiscoTermDeviceStateHeldEv filter status.
CiscoTermDeviceStateIdleEv
Declaration
public interface CiscoTermDeviceStateIdleEv
extends com.cisco.jtapi.extensions.CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermDeviceStateIdleEv event is sent to the application if there is no call
on any of the addresses on the terminal.
Member Summary
Methods
int getDeviceState()
void setDeviceStateIdleEvFilter(boolean filterValue)
boolean getDeviceStateIdleEvFilter()
Methods
getDeviceState()
public int getDeviceState()
Returns the DeviceState of the terminal, which can be one of the following
constants:
– CiscoTerminal.DEVICESTATE_IDLE
– CiscoTerminal.DEVICESTATE_ACTIVE
– CiscoTerminal.DEVICESTATE_ALERTING
– CicsoTerminal.DEVICESTATE_HELD
– CiscoTerminal.DEVICESTATE_UNKNOWN
DeviceState is the cumulative call state of all the addresses on the terminal.
CiscoTerminal.DEVICESTATE_UNKNOWN is returned if
CicsoTermEvFilter is not enabled for DeviceState events or if the terminal is
OUTOFSERVICE.
setDeviceStateIdleEvFilter(boolean filterValue)
public void setDeviceStateIdleEvFilter (boolean filterValue)
Enables and disables the CiscoTermDeviceStateIdleEv filter for the terminal.
The default value is Disable.
getDeviceStateIdleEvFilter()
public boolean getDeviceStateIdleEvFilter()
Gets the CiscoTermDeviceStateIdleEv filter status.
CiscoTermEv
Declaration
public interface CiscoTermEv extends CiscoEv,
javax.telephony.events.TermEv
All Superinterfaces
CiscoEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermEv interface, which extends JTAPI’s core
javax.telephony.events.TermEv interface, serves as the base interface
for all Cisco-extended JTAPI events. Every Call-related event in this package
extends this interface, directly or indirectly.
See Also:
javax.telephony.events.CallEv
CiscoTermEvFilter
Declaration
public interface CiscoTermEvFilter
Description
An application can use the CiscoTermEvFilter interface to selectively restrict
those Terminal events that is not of interest to it.
Member Summary
Methods
boolean getButtonPressedEnabled()
get the enable / disable status of the button pressed
events for the Terminal, default value is disabled.
Member Summary
boolean getDeviceDataEnabled()
get the enable / disable status of the device data events
for the Terminal, default value is disabled.
boolean getRTPEventsEnabled()
get the enable / disable status of the RTP events for the
Terminal, default value is disabled
void setButtonPressedEnabled(boolean)
enable / disable the button pressed events for the
Terminal
void setDeviceDataEnabled(boolean)
enable / disable the device data status events for the
Terminal
void setRTPEventsEnabled(boolean)
enable / disable the RTP events for the Terminal
Methods
getButtonPressedEnabled()
public boolean getButtonPressedEnabled()
get the enable / disable status of the button pressed events for the Terminal,
default value is disabled.
Returns:
the button pressed events enabled status on the Terminal
getDeviceDataEnabled()
public boolean getDeviceDataEnabled()
get the enable / disable status of the device data events for the Terminal,
default value is disabled.
Returns:
the device data events status on the Terminal
getRTPEventsEnabled()
public boolean getRTPEventsEnabled()
get the enable / disable status of the RTP events for the Terminal, default
value is disabled
Returns:
the RTP events enabled status on the Terminal
setButtonPressedEnabled(boolean)
public void setButtonPressedEnabled(boolean enabled)
setDeviceDataEnabled(boolean)
public void setDeviceDataEnabled(boolean enabled)
enable / disable the device data status events for the Terminal
setRTPEventsEnabled(boolean)
public void setRTPEventsEnabled(boolean enabled)
CiscoTerminal
Declaration
public interface CiscoTerminal extends javax.telephony.Terminal,
CiscoObjectContainer
All Superinterfaces
CiscoObjectContainer, javax.telephony.Terminal
Description
Since JTAPI does not support the notion of dynamic terminal registration, the
CiscoTerminal interface extends the standard Terminal interface to do so. All
Cisco CallManager devices are represented by CiscoTerminals, and all
CiscoTerminals may be queried to determine whether they are currently
IN_SERVICE or OUT_OF_SERVICE.
If the Cisco CallManager device represented by the CiscoTerminal is an IP
telephone, for instance, it would become OUT_OF_SERVICE if it were to lose its
network connection. Other types of devices, such as CTIPorts, are registered on
demand by applications, and may be IN_SERVICE or OUT_OF_SERVICE
accordingly.
See Also:
javax.telephony.Terminal, CiscoMediaTerminal
Member Summary
Fields
static int IN_SERVICE
static int OUT_OF_SERVICE
Methods
CiscoTermEvFilter getFilter()
Retrieve the filter object associated with the terminal.
int getRegistrationState()
Returns the state of this terminal.
CiscoRTPInputProperties getRTPInputProperties()
The CiscoTerminal must be in the CiscoTerminal.REGISTERED
state, its Provider must be in the Provider.IN_SERVICE
state.
CiscoRTPOutputProperties getRTPOutputProperties()
The CiscoTerminal must be in the CiscoTerminal.REGISTERED
state, its Provider must be in the Provider.IN_SERVICE
state.
Member Summary
int getState()
Returns the state of this terminal.
byte[]
Send a data object to the terminal screen.
java.lang.String sendData(String)
The preferred method is CiscoTerminal.sendData ( byte[] )
void
Allows an application to have a finer degree of control
over the events that are delivered to the
TerminalObserver.
unPark(Address, String)
javax.telephony.TerminalC This method Unparks a call at a terminal and returns a
onnection terminalConnection.
Fields
IN_SERVICE
public static final int IN_SERVICE
OUT_OF_SERVICE
public static final int OUT_OF_SERVICE
Methods
getFilter()
public com.cisco.jtapi.extensions.CiscoTermEvFilter getFilter()
getRegistrationState()
public int getRegistrationState()
Deprecated.
This method has been replaced by the getState() method.
Returns the state of this terminal.
The state may be any of the following constants:
• CiscoTerminal.OUT_OF_SERVICE
• CiscoTerminal.IN_SERVICE
Returns:
the state of this terminal
getRTPInputProperties()
public com.cisco.jtapi.extensions.CiscoRTPInputProperties
getRTPInputProperties()
throws InvalidStateException
getRTPOutputProperties()
public com.cisco.jtapi.extensions.CiscoRTPOutputProperties
getRTPOutputProperties()
throws InvalidStateException
getState()
public int getState()
sendData(byte[])
public byte[] sendData (byte[] terminalData) throws
InvalidStateException, MethodNotSupportedException
sendData(String)
public java.lang.String sendData(java.lang.String terminalData)
throws InvalidStateException, MethodNotSupportedException
Throws:
javax.telephony.MethodNotSupportedException,
javax.telephony.InvalidStateException
setFilter(CiscoTermEvFilter)
public void setFilter(com.cisco.jtapi.extensions.CiscoTermEvFilter
terminalEvFilter)
Allows an application to have a finer degree of control over the events that are
delivered to the TerminalObserver. This method can be invoked at any time
during the execution of the code but typical use is setting up the Terminal
events as part of initialization or when a CiscoTermCreatedEv indicates the
creation of a new Terminal.
Example 1
One use might be to turn on the button pressed events that are normally not
delivered
Terminal term = provider.getTerminal ( name );
if ( term instanceof CiscoTerm ) {
CiscoTerm ciscoTerm = (CiscoTerm)term;
CiscoTermEvFilter filter = ciscoTerm.getFilter ();
filter.setButtonPressedEnabled ( true );
}
term.addObserver ( terminalObserver );
Example 2
Another use might be turning off some events that is not of interest to an
application. For example an application doing pure call control could turn off
the media (RTP) events as follows:
Terminal term = provider.getTerminal ( name );
if ( term instanceof CiscoTerm ) {
CiscoTerm ciscoTerm = (CiscoTerm)term;
CiscoTermEvFilter filter = ciscoTerm.getFilter ();
filter.setRTPEventsEnabled ( false );
ciscoTerm.setFilter ( filter );
}
term.addObserver ( terminalObserver );
term.getAddresses () [0].addCallObserver ( callObserver );
Note Adding a CallObserver (without explicitly setting a filter) turns the RTP
events on. This behavior of Cisco JTAPI 1.4 and earlier is still preserved.
If an explicit setFilter call is made then the filter settings will take effect.
The RTP events will not be delivered for the code snippet as in Example
2, but will be delivered for the following example.
Example 3
Terminal term = provider.getTerminal ( name );
term.addObserver ( terminalObserver );
term.getAddresses () [0].addCallObserver ( callObserver );
unPark(Address, String)
public javax.telephony.TerminalConnection
unPark(javax.telephony.Address UnParkAddress,
java.lang.String ParkedAt)
throws InvalidStateException, InvalidArgumentException, Resourc
eUnavailableException
CiscoTerminalConnection
Declaration
public interface CiscoTerminalConnection extends
javax.telephony.callcontrol.CallControlTerminalConnection,
CiscoObjectContainer
All Superinterfaces
javax.telephony.callcontrol.CallControlTerminalConn
ection, CiscoObjectContainer,
javax.telephony.TerminalConnection
Description
The CiscoTerminalConnection interface extends the
CallControlTerminalConnection interface with additional capabilities.
Applications can use the getReason method to obtain the reason for the
creation of this Connection.
Member Summary
Methods
boolean getPrivacyStatus()
The getPrivacyStatus interface returns privacy status of
the call on the terminal.
void setRTPParams(CiscoRTPParams)
Applications can set the ipAddress and the RTP Port
number to dynamically stream media for a call.
Methods
getPrivacyStatus()
public boolean getPrivacyStatus()
setRTPParams(CiscoRTPParams)
public void setRTPParams(com.cisco.jtapi.extensions.CiscoRTPParams
rtpParams) throws InvalidStateException,
InvalidArgumentException, PrivilegeViolationException
Applications can set ipAddress and RTP Port number to dynamically stream
media for a call. In order to do this, applications will have to register
MediaTerminal or CiscoRouteTeminal by providing only capabilities.
See Also:
CiscoRTPParams
CiscoTerminalObserver
Declaration
public interface CiscoTerminalObserver extends
javax.telephony.TerminalObserver
All Superinterfaces:
javax.telephony.TerminalObserver
Description
Applications implement this interface in order to receive CiscoTermEv events
such as CiscoRTPInputStartedEv and CiscoRTPInputStoppedEv
when observing Terminals via the Terminal.addObserver method.
See Also:
CiscoTermInServiceEv, CiscoTermOutOfServiceEv,
CiscoRTPInputStartedEv, CiscoRTPInputStoppedEv,
CiscoRTPOutputStartedEv, CiscoRTPOutputStoppedEv
CiscoTermInServiceEv
Declaration
public interface CiscoTermInServiceEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermInServiceEv event
Member Summary
Fields
static int ID
Fields
ID
public static final int ID
CiscoTermOutOfServiceEv
Declaration
public interface CiscoTermOutOfServiceEv extends CiscoTermEv,
CiscoOutOfServiceEv
All Superinterfaces
CiscoEv, CiscoOutOfServiceEv, CiscoTermEv,
javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermOutOfServiceEv event
Member Summary
Fields
static int ID
Fields
ID
public static final int ID
CiscoTermRegistrationFailedEv
Declaration
public interface CiscoTermRegistrationFailedEv extends CiscoTermEv
All Superinterfaces
CiscoEv, CiscoTermEv, javax.telephony.events.Ev,
javax.telephony.events.TermEv
Description
The CiscoTermRegistrationFailedEv event.
This event is send to Application when TerminalRegistration failed by provider
for some reason. Error returned by getErrorCode() interface defines type of error.
On getting this event Application should try to re-register Terminal with proper
parameter Following are the error returned and suggested action to be taken by
Application.
ErrorCode:
CiscoTermRegistraionFailedEv.MEDIA_CAPABILITY_MISMATCH
Registration can not be done, as Terminal is already registered, second
registration should be done with same media capability. Try re-registering with
same capability.
ErrorCode:
CiscoTermRegistraionFailedEv.MEDIA_ALREADY_TERMINATED_NONE
Registration can not be done, as Terminal is already registered with Media
termination type none. Try re-registering with Media termination type none.
ErrorCode:
CiscoTermRegistraionFailedEv.MEDIA_ALREADY_TERMINATED_STATIC
Registration can not be done, as Terminal is already registered with Static media
termination For static registration, second registration is not allowed. Wait until
Terminal UnRegisters.
ErrorCode:
CiscoTermRegistraionFailedEv.MEDIA_ALREADY_TERMINATED_DYNAMI
C Registration can not be done, as Terminal already registered with Dynamic
media termination. Try re-registering with Dynamic Media termination.
ErrorCode:
CiscoTermRegistraionFailedEv.OWNER_NOT_ALIVE Registration is in race
condition while registering terminal. Try registering the Terminal again.
Member Summary
Fields
static int ID
static int MEDIA_ALREADY_TERMINATED_DYNAMIC
Registration can not be done, as Terminal is already
registered with Dynamic media termination. Try
re-registering with Dynamic Media termination.
static int MEDIA_ALREADY_TERMINATED_NONE
Registration can not be done, as Terminal is already
registered with Media termination type none. Try
re-registering with Media termination type none.
static int MEDIA_ALREADY_TERMINATED_STATIC
Registration can not be done, as Terminal is already
registered with Static media termination. For static
registration, second registration is not allowed. Wait
until Terminal UnRegisters.
static int MEDIA_CAPABILITY_MISMATCH
Registration can not be done, as Terminal is already
registered, second registration should be done with same
media capability.
static int OWNER_NOT_ALIVE
Registration is in a race condition while registering the
terminal. Try registering the Device.
Methods
int getErrorCode()
Returns the errorCode for this exception.
Fields
ID
public static final int ID
MEDIA_ALREADY_TERMINATED_DYNAMIC
public static final int MEDIA_ALREADY_TERMINATED_DYNAMIC
Registration can not be done, as Terminal is already registered
with Dynamic media termination. Try re-registering with Dynamic
Media termination.
MEDIA_ALREADY_TERMINATED_NONE
public static final int MEDIA_ALREADY_TERMINATED_NONE
Registration can not be done, as Terminal is already registered
with Media termination type none. Try re-registering with Media
termination type none.
MEDIA_ALREADY_TERMINATED_STATIC
public static final int MEDIA_ALREADY_TERMINATED_STATIC
Registration can not be done, as Terminal is already registered
with Static media termination. For static registration, second
registration is not allowed. Wait until Terminal UnRegisters.
MEDIA_CAPABILITY_MISMATCH
public static final int MEDIA_CAPABILITY_MISMATCH
Registration can not be done, as Terminal is already registered,
second registration should be done with same media capability. Try
re-registering with same capability.
OWNER_NOT_ALIVE
public static final int OWNER_NOT_ALIVE
Registration has got in race condition while register terminal.
Try registering the Device.
Methods
getErrorCode()
public int getErrorCode()
CiscoTermRemovedEv
Declaration
public interface CiscoTermRemovedEv extends CiscoProvEv
All Superinterfaces
CiscoEv, CiscoProvEv, javax.telephony.events.Ev,
javax.telephony.events.ProvEv
Description
The CiscoTermRemovedEv event
Member Summary
Fields
static int ID
Methods
javax.telephony.Terminal getTerminal()
Fields
ID
public static final int ID
Methods
getTerminal()
public javax.telephony.Terminal getTerminal()
CiscoToneChangedEv
Declaration
public interface CiscoToneChangedEv extends CiscoCallEv
All Superinterfaces
CiscoCallEv, CiscoEv, javax.telephony.events.CallEv,
javax.telephony.events.Ev
Description
The CiscoToneChangedEv event indicates that a tone is generated. If
getCiscoCause() returns CiscoCallEv.CAUSE_FAC_CMC, then additional digits
need to be entered using the CiscoConnection.addToAddress(String) interface.
Member Summary
Fields
public static int CMC_REQUIRED
public static int FAC_CMC_REQUIRED
Member Summary
public static int FAC_REQUIRED
public static int ID
public static int ZIPZIP
Methods
int getWhichCodeRequired()
int getTone()
Fields
CMC_REQUIRED
public static int CMC_REQUIRED
Indicates that the client matter code (CMC) needs to be entered using
Connection.addToAddress(String) to extend the call. This is applicable only
if getCiscoCause() is CiscoCallEv.CAUSE_FAC_CMC.
FAC_CMC_REQUIRED
public static int FAC_CMC_REQUIRED
Indicates that the DN requires both the CMC and the forced authorization
code (FAC) to extend the call. This is applicable only if () is
CiscoCallEv.CAUSE_FAC_CMC.
FAC_REQUIRED
public static int FAC_REQUIRED
ID
public static int ID
ZIPZIP
Indicates that the tone type is ZIPZIP.
Methods
getWhichCodeRequired()
int getWhichCodeRequired()
getTone()
int getTone()
CiscoTransferEndEv
Declaration
public interface CiscoTransferEndEv extends CiscoCallEv
All Superinterfaces
javax.telephony.events.CallEv, CiscoCallEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoTransferEndEv event indicates that a transfer operation has
completed. This event is reported via the CallControlCallObserver
interface.
Member Summary
Fields
static int ID
Methods
javax.telephony.Call getFinalCall()
Returns the call that remains active after the transfer
is completed.
getTransferController()
javax.telephony.TerminalC Returns the TerminalConnection which currently acts as
onnection the transfer controller for this call —- the final call.
javax.telephony.Address getTransferControllerAddress()
Returns the Address which currently acts as the transfer
controller for this call —- the final call.
getTransferControllers()
javax.telephony.TerminalC Returns the List of TerminalConnection which currently
onnection[] acts as the transfer controller for this call —- the
final call.
javax.telephony.Call getTransferredCall()
Returns the call that has been transferred.
boolean isSuccess()
Returns true or false, depending on whether Transfer is
successful. Application can use this interface to find
whether Transfer is successful.
Fields
ID
public static final int ID
Methods
getFinalCall()
public javax.telephony.Call getFinalCall()
Returns the call that remains active after the transfer is completed.
getTransferController()
public javax.telephony.TerminalConnection getTransferController()
getTransferControllerAddress()
public javax.telephony.Address getTransferControllerAddress()
Returns the Address which currently acts as the transfer controller for this
call —- the final call.
getTransferControllers()
public javax.telephony.TerminalConnection[]
getTransferControllers()
getTransferredCall()
public javax.telephony.Call getTransferredCall()
Returns the call that has been transferred. This call is in the Call.INVALID
state.
isSuccess()
public boolean isSuccess()
CiscoTransferStartEv
Declaration
public interface CiscoTransferStartEv extends CiscoCallEv
All Superinterfaces
javax.telephony.events.CallEv, CiscoCallEv, CiscoEv,
javax.telephony.events.Ev
Description
The CiscoTransferStartEv event indicates that a transfer operation has
started. This event is reported via the CallControlCallObserver interface.
Member Summary
Fields
static int ID
Methods
Member Summary
javax.telephony.Call getFinalCall()
Returns the call that will remain active after the
transfer is completed.
getTransferController()
javax.telephony.TerminalC Returns the TerminalConnection which currently acts as
onnection the transfer controller for this call —- the final call.
javax.telephony.Address getTransferControllerAddress()
Returns the Address which currently acts as the transfer
controller for this call —- the final call.
getTransferControllers()
javax.telephony.TerminalC Returns the List of TerminalConnection which currently
onnection[] acts as the transfer controller for this call —- the
final call.
javax.telephony.Call getTransferredCall()
Returns the call that will be transferred.
Fields
ID
public static final int ID
Methods
getFinalCall()
public javax.telephony.Call getFinalCall()
Returns the call that will remain active after the transfer is completed.
getTransferController()
public javax.telephony.TerminalConnection getTransferController()
getTransferControllerAddress()
public javax.telephony.Address getTransferControllerAddress()
Returns the Address which currently acts as the transfer controller for this
call —- the final call.
getTransferControllers()
public javax.telephony.TerminalConnection[]
getTransferControllers()
getTransferredCall()
public javax.telephony.Call getTransferredCall()
CiscoUnregistrationException
Declaration
public class CiscoUnregistrationException extends java.lang.Exception
java.lang.Object
|
+--java.lang.Throwable
|
+--java.lang.Exception
|
+--com.cisco.jtapi.extensions.CiscoUnregistration
Exception
Description
The CiscoMediaTerminal.unregister method throws this exception
when the unregistration process fails for any reason. For example, registration
would fail if the Provider were OUT_OF_SERVICE or if the device were already
unregistered.
See Also:
CiscoMediaTerminal.unregister()
Member Summary
Constructors
CiscoUnregistrationException()
CiscoUnregistrationException(String)
Constructors
CiscoUnregistrationException()
public CiscoUnregistrationException()
CiscoUnregistrationException(String)
public CiscoUnregistrationException(java.lang.String description)
CiscoWideBandMediaCapability
public class CiscoWideBandMediaCapability extends CiscoMediaCapability
java.lang.Object
|
+--com.cisco.jtapi.extensions.CiscoMediaCapability
|
+--com.cisco.jtapi.extensions.CiscoWideBandMediaCapabil
ity
Description
The CiscoWideBandMediaCapability object specifies the properties for a wide
band encoded RTP stream. Applications that support wide band media
termination use this object to specify their preferred packet size when registering
a CiscoMediaTerminal.
The default packet size is ten milliseconds.
Member Summary
Fields
static int FRAMESIZE_TEN_MILLISECOND_PACKET
The frames per packet value for 10 millisecond packets.
Constructors
CiscoWideBandMediaCapability(), int maxFramesPerPacket)
Constructs a CiscoWideBandMediaCapability object for the
default ten millisecond packet size.
CiscoWideBandMediaCapability(int)
Constructs a CiscoWideBandMediaCapability object for the
specified packet size.
Fields
FRAMESIZE_TEN_MILLISECOND_PACKET
public static final int FRAMESIZE_TEN_MILLISECOND_PACKET
Constructors
CiscoWideBandMediaCapability()
public CiscoWideBandMediaCapability()
CiscoWideBandMediaCapability(int)
public CiscoWideBandMediaCapability(int maxFramesPerPacket)
Class com.cisco.services.alarm
Class Summary
Interfaces
Alarm The Alarm interface is used to define Alarms in.
Classes
AlarmManager The AlarmManager is used to create Alarm objects.
Alarm
Declaration
public interface Alarm
Description
The Alarm interface is used to define Alarms in. An Alarm has an XML
representation that it must adhere to in order to be recognized by the Alarm
Service, with a DTD as shown below. An application can implement this interface
or use the AlarmFactory to generate Alarms of the correct format. The Alarm is
the a specification that needs to be sent to an AlarmService that will take some
action based on the Alarm. Using this specification the AlarmService will access
definitions available in a catalog. This catalog is maintained by the user requiring
the Alarm function to effect the appropriate action for the Alarm. The severity
specified the Alarm can over-ride the severity associated with this Alarm in the
catalog. If no severity is specified in the Alarm the catalog severity is used.
Alarm severities are derived from Syslog and are defined as follows:
Member Summary
Fields
static int ALERTS
The application will continue working on the tasks but
all functions may not be operational (one or more devices
in the list are not accessible but others in the list can
be accessed)
Syslog severity level = 1
static int CRITICAL
A critical failure, the application can not accomplish
the tasks required due to this failure, for example, the
app cant open the database to read the device list
Syslog severity level = 2
Member Summary
static int DEBUGGING
Very detailed information regarding errors or processing
status that is only generated when DEBUG mode has been
enabled
Syslog severity level = 7
static int EMERGENCIES
Emergency situation, a system shutdown is necessary
Syslog severity level = 0
static int ERROR
An error condition of some kind has occurred and the user
needs to understand the nature of that failure
Syslog severity level = 3
static int HIGHEST_LEVEL
The highest trace level, currently this is DEBUGGING with
a trace level of 7
static int INFORMATIONAL
Information of some form not relating to errors,
warnings, audit, or debug
Syslog severity level =6
static int LOWEST_LEVEL
The lowest trace level, currently this is EMERGENCIES
with a trace level of 0
static int NO_SEVERITY
Applications can set this level to generate Alarms
without a severity.
static int NOTIFICATION
Notification denotes a normal but significant condition
Syslog severity level = 5
static java.lang.String UNKNOWN_MNEMONIC
String used when a mnemonic is not specified during an
Alarm send
static int WARNING
Warning that a problem of some form exists but is not
keeping the application from completing its tasks
Syslog severity level = 4
Methods
java.lang.String getFacility()
int getSeverity()
java.lang.String getSubFacility()
void send(String)
send the Alarm with the specified mnemonic.
void send(String, ParameterList)
send an Alarm with the specified mnemonic and supplied
parameter list
Member Summary
void send(String, String, String)
send an Alarm with the specified mnemonic and with one
parameter
Fields
ALERTS
public static final int ALERTS
The application will continue working on the tasks but all functions may not
be operational (one or more devices in the list are not accessible but others in
the list can be accessed)
Syslog severity level = 1
CRITICAL
public static final int CRITICAL
A critical failure, the application can not accomplish the tasks required due
to this failure, for example, the app cant open the database to read the device
list
Syslog severity level = 2
DEBUGGING
public static final int DEBUGGING
EMERGENCIES
public static final int EMERGENCIES
ERROR
public static final int ERROR
An error condition of some kind has occurred and the user needs to
understand the nature of that failure
Syslog severity level = 3
HIGHEST_LEVEL
public static final int HIGHEST_LEVEL
The highest trace level, currently this is DEBUGGING with a trace level of 7
INFORMATIONAL
public static final int INFORMATIONAL
LOWEST_LEVEL
public static final int LOWEST_LEVEL
The lowest trace level, currently this is EMERGENCIES with a trace level of
0
NO_SEVERITY
public static final int NO_SEVERITY
Applications can set this level to generate Alarms without a severity. NOTE:
This is only intended for cases where an application wants the AlarmService
to use the severity associated with the Alarm in the catalog
NOTIFICATION
public static final int NOTIFICATION
UNKNOWN_MNEMONIC
public static final java.lang.String UNKNOWN_MNEMONIC
WARNING
public static final int WARNING
Warning that a problem of some form exists but is not keeping the application
from completing its tasks
Syslog severity level = 4
Methods
getFacility()
public java.lang.String getFacility()
Returns:
the facility name of this Alarm
getSeverity()
public int getSeverity()
Returns:
severity of the alarm, an integer in the range [0-7]
getSubFacility()
public java.lang.String getSubFacility()
Returns:
the subfacility of this Alarm
send(String)
public void send(java.lang.String mnemonic)
send the Alarm with the specified mnemonic. If a null or empty String is
passed a mnemonic UNK is sent
send(String, ParameterList)
public void send(java.lang.String mnemonic,
com.cisco.services.alarm.ParameterList parameterList)
send an Alarm with the specified mnemonic and supplied parameter list
send an Alarm with the specified mnemonic and with one parameter
AlarmManager
Declaration
public class AlarmManager
java.lang.Object
|
+--com.cisco.services.alarm.AlarmManager
Description
The AlarmManager is used to create Alarm objects. The AlarmManager is created
with a facility and AlarmService hostname and port. All alarms created by the
factory will be associated with this facility. This class also maintains a reference
to a single AlarmWriter that can be used system wide. An application can make
use of this AlarmWriter. AlarmManager exposes a default implementation of an
AlarmWriter. Applications can override this with a user defined implementation
of their own AlarmWriter.
Usage:
AlarmManager AlarmManager = new AlarmManager(facilityName,
alarmServiceHost, alarmServicePort, debugTrace, errorTrace);
Usage:
Typically applications will maintain their own AlarmManager instance.
Applications will also have to set a debug and error trace to enable the alarm
tracing to also be sent to the existing trace destinations.
Member Summary
Constructors
AlarmManager(String, AlarmWriter, Trace, UnconditionalTrace)
Create an instance of the AlarmManager for the facility.
Methods
Alarm createAlarm(String, int)
Creates an Alarm of required severity for the subFacility
AlarmWriter getAlarmWriter()
void setAlarmWriter(AlarmWriter)
Allows applications to override the AlarmWriter to be
used by this AlarmManager, with a user defined
AlarmWriter
Constructors
AlarmManager(String, AlarmWriter, Trace, UnconditionalTrace)
public AlarmManager(java.lang.String facility,
com.cisco.services.alarm.AlarmWriter writer,
com.cisco.services.tracing.Trace debugTrace_,
com.cisco.services.tracing.UnconditionalTrace errorTrace_)
Methods
createAlarm(String, int)
public com.cisco.services.alarm.Alarm createAlarm(java.lang.String
subfacility, int severity)
getAlarmWriter()
public com.cisco.services.alarm.AlarmWriter getAlarmWriter()
Returns:
an AlarmWriter object
setAlarmWriter(AlarmWriter)
public void setAlarmWriter(com.cisco.services.alarm.AlarmWriter
writer)
AlarmWriter
Declaration
public interface AlarmWriter
Description
An AlarmWriter receives alarm messages and transmits it to the receiving
AlarmService on a TCP link. This interface can be used to implement other
AlarmWriters to be used with this implementation of com.cisco.service.alarm A
DefaultAlarmWriter is provided with this implementation and can be obtained
from the AlarmManager.
Member Summary
Methods
void close()
close the AlarmWriter
java.lang.String getDescription()
boolean getEnabled()
java.lang.String getName()
void send(String)
Send out the alarm message to the AlarmService.
Member Summary
void setEnabled(boolean)
Enable or disable the AlarmWriter
Methods
close()
public void close()
getDescription()
public java.lang.String getDescription()
Returns:
the AlarmWriter description
getEnabled()
public boolean getEnabled()
Returns:
the current enabled or disabled state of the AlarmWriter
getName()
public java.lang.String getName()
Returns:
the AlarmWriter name
send(String)
public void send(java.lang.String alarmMessage)
setEnabled(boolean)
public void setEnabled(boolean enable)
DefaultAlarm
Declaration
public class DefaultAlarm implements Alarm
java.lang.Object
|
+--com.cisco.services.alarm.DefaultAlarm
Description
An Implementation of the Alarm interface. The AlarmManager creates these
Alarms when the createAlarm() method is called.
Member Summary
Constructors
DefaultAlarm(String, String, int, AlarmWriter))
Methods
java.lang.String getFacility()
int getSeverity()
java.lang.String getSubFacility()
Member Summary
void send(String)
Send the alarm with the specified mnemonic
void send(String, ParameterList)
Send the alarm with the specified name and list of
parameters.
void send(String, String, String)
Send the alarm with the specified name and parameter
Constructors
DefaultAlarm(String, String, int, AlarmWriter)
public DefaultAlarm(java.lang.String facility,
java.lang.String subFacility, int severity,
com.cisco.services.alarm.AlarmWriter alarmWriter)
Methods
getFacility()
public java.lang.String getFacility()
Specified By:
getFacility in interface Alarm
getSeverity()
public int getSeverity()
Specified By:
getSeverity in interface Alarm
getSubFacility()
public java.lang.String getSubFacility()
Specified By:
getSubFacility in interface Alarm
send(String)
public void send(java.lang.String mnemonic)
send(String, ParameterList)
public void send(java.lang.String mnemonic,
com.cisco.services.alarm.ParameterList paramList)
Send the alarm with the specified name and list of parameters.
Specified By:
send in interface Alarm
DefaultAlarmWriter
Declaration
public class DefaultAlarmWriter implements AlarmWriter
java.lang.Object
|
+--com.cisco.services.alarm.DefaultAlarmWriter
Description
DefaultAlarmWriter implementation of the AlarmWriter interface.
DefaultAlarmWriter maintains a queue of a fixed size to which the alarms
are written. The sending of the alarms to the alarm service takes place on a
separate thread. The queue is fixed size.
Member Summary
Constructors
DefaultAlarmWriter(int, String)
Constructor for the DefaultAlarmWriter which takes the
AlarmService hostname, port and a queue size of fifty
(50).
DefaultAlarmWriter(int, String, int)
Constructor for the DefaultAlarmWriter which takes the
AlarmService hostname, port and queue size.
DefaultAlarmWriter(int, String, int, ConditionalTrace,
UnconditionalTrace)
Constructor for the DefaultAlarmWriter which takes the
AlarmService hostname, port and queue size.
Member Summary
Methods
void close()
Shutdown the send thread and close the socket
java.lang.String getDescription()
boolean getEnabled()
java.lang.String getName()
static void main(String[])
void send(String)
send the Alarm to the alarm service
void setEnabled(boolean)
Applications can dynamically enable or disable the
AlarmWriter
Constructors
DefaultAlarmWriter(int, String)
public DefaultAlarmWriter(int port,
java.lang.String alarmServiceName)
throws UnknownHostException
Methods
close()
public void close()
getDescription()
public java.lang.String getDescription()
Specified By:
getDescription in interface AlarmWriter
Returns:
a short description of the AlarmWriter
getEnabled()
public boolean getEnabled()
Specified By:
getEnabled in interface AlarmWriter
Returns:
the enabled state of the AlarmWriter
getName()
public java.lang.String getName()
Specified By:
getName in interface AlarmWriter
Returns:
the name of the AlarmWriter
main(String[])
public static void main(java.lang.String[] args)
send(String)
public void send(java.lang.String alarmMessage)
setEnabled(boolean)
public void setEnabled(boolean enable)
ParameterList
Declaration
public class ParameterList
java.lang.Object
|
+--com.cisco.services.alarm.ParameterList
Description
ParameterList is a list of name value pairs that is used to send additional (and
optional) user defined parameters to the AlarmService. These parameters can
contain the specifics of an Alarm.
As an example, a LowResourceAlarm can have a parameter that informs the
service which particular resource is low:
name=“CPUUsage”
value=“0.9”
These parameters are user definable but must, however, also be pre-defined in the
AlarmService catalog.
Member Summary
Constructors
ParameterList()
Default constructor for the ParameterList
ParameterList(String, String)
Constructor that takes a name value pair.
Methods
void addParameter(String, String)
method used to add additional name value pairs
(parameters) to the list
java.lang.String[] getParameterNames()
Get the parameter names in the list
java.lang.String getParameterValue(String)
get the value for a parameter
void removeAllParameters()
remove all the parameters in the list
void removeParameter(String)
remove a particular parameter if it is in the list
java.lang.String toString()
Constructors
ParameterList()
public ParameterList()
ParameterList(String, String)
public ParameterList(java.lang.String name,
java.lang.String value)
Methods
addParameter(String, String)
public void addParameter(java.lang.String name,
java.lang.String value)
method used to add additional name value pairs (parameters) to the list
getParameterNames()
public java.lang.String[] getParameterNames()
getParameterValue(String)
public java.lang.String getParameterValue(java.lang.String
parameterName)
removeAllParameters()
public void removeAllParameters()
removeParameter(String)
public void removeParameter(java.lang.String parameterName)
toString()
public java.lang.String toString()
Overrides:
toString in class Object
Class com.cisco.services.tracing
Class Summary
Interfaces
ConditionalTrace The ConditionalTrace interface extends the Trace interface
and defines the methods that allow enabling and disabling of
tracing for this particular condition.
TraceWriter Introduction
Classes
BaseTraceWriter This abstract class is useful for supplying a default,
non-printing TraceWriter to a TraceWriterManager This class
must be extended to provide the functionality to trace to
different streams.
LogFileTraceWriter Introduction
Class Summary
SyslogTraceWriter SyslogTraceWriter refines the BaseTraceWriter to allow
tracing to syslog.
BaseTraceWriter
Declaration
public abstract class BaseTraceWriter implements TraceWriter
java.lang.Object
|
+--com.cisco.services.tracing.BaseTraceWriter
Description
This abstract class is useful for supplying a default, non-printing TraceWriter
to a TraceWriterManager This class must be extended to provide the
functionality to trace to different streams. The doPrintln() method must
be implemented by the extending class.
Member Summary
Constructors
protected BaseTraceWriter(int[], String, String)
BaseTraceWriter with trace levels as passed in
traceLevels in the array falling outside the range
Trace.LOWEST_LEVEL and Trace.HIGHEST_LEVEl are ignored
protected BaseTraceWriter(int, String, String)
BaseTraceWriter that traces all levels up to the
maxTraceLevel The trace level is maintained in the range
[Trace.HIGHEST_LEVEL, Trace.LOWEST_LEVEL ]
protected BaseTraceWriter(String, String))
BaseTraceWriter which only traces the lowest level ie
severity level, Trace.LOWEST_LEVEL messages
Methods
void close()
protected void doClose()
protected void doFlush()
protected abstract void doPrintln(String, int)
Must be implemented by the various TraceWriters extending
BaseTraceWriter to provide the specific tracing
functionality
void flush()
java.lang.String getDescription()
boolean getEnabled()
java.lang.String getName()
int[] getTraceLevels()
void println(String, int)
void setTraceLevels(int[])
java.lang.String toString()
Constructors
BaseTraceWriter(int[], String, String)
protected BaseTraceWriter(int[] traceLevels,
java.lang.String name, java.lang.String description)
See Also:
Trace
See Also:
Trace
BaseTraceWriter(String, String)
protected BaseTraceWriter(java.lang.String name,
java.lang.String description)
See Also:
Trace
Methods
close()
public final void close()
doClose()
protected void doClose()
doFlush()
protected void doFlush()
doPrintln(String, int)
protected abstract void doPrintln(java.lang.String message,
int messageNumber)
flush()
public final void flush()
getDescription()
public final java.lang.String getDescription()
Specified By:
getDescription in interface TraceWriter
getEnabled()
public boolean getEnabled()
getName()
public final java.lang.String getName()
Specified By:
getName in interface TraceWriter
getTraceLevels()
public final int[] getTraceLevels()
Specified By:
getTraceLevels in interface TraceWriter
println(String, int)
public final void println(java.lang.String message, int severity)
Specified By:
println in interface TraceWriter
setTraceLevels(int[])
public final void setTraceLevels(int[] levels)
toString()
public final java.lang.String toString()
Overrides:
toString in class Object
ConditionalTrace
Declaration
public interface ConditionalTrace extends Trace
All Superinterfaces
Trace
Description
The ConditionalTrace interface extends the Trace interface and defines
the methods that allow enabling and disabling of tracing for this particular
condition.
Typically, applications obtain one ConditionalTrace object for each condition that
they need to trace under certain circumstances but not always (for example,
AUDIT, INFO, and so on).
Member Summary
Methods
void disable()
Disables this condition for tracing.
void enable()
Enables this condition for tracing.
Methods
disable()
public void disable()
enable()
public void enable()
ConsoleTraceWriter
Declaration
public final class ConsoleTraceWriter extends BaseTraceWriter
java.lang.Object
|
+--com.cisco.services.tracing.BaseTraceWriter
|
+--com.cisco.services.tracing.ConsoleTraceWriter
Description
Supplies a console TraceWriter to trace to System.out.
See Also:
Trace
Member Summary
Constructors
ConsoleTraceWriter()
Default constructor, traces all severity levels
ConsoleTraceWriter(int)
Constructor that sets the maximum level to be traced.
ConsoleTraceWriter(int[])
Construct a ConsoleTraceWriter with an array of trace
levels Only traces with the severity in the tracelevel
array are traced
Methods
protected void doFlush()
Member Summary
protected void doPrintln(String, int)
static void main(String[])
Constructors
ConsoleTraceWriter()
public ConsoleTraceWriter()
ConsoleTraceWriter(int)
public ConsoleTraceWriter(int maxTraceLevel)
See Also:
Trace
ConsoleTraceWriter(int[])
public ConsoleTraceWriter(int[] traceLevels)
Parameters:
int - [] traceLevels
See Also:
Trace
Methods
doFlush()
protected final void doFlush()
Overrides:
doFlush in class BaseTraceWriter
doPrintln(String, int)
protected final void doPrintln(java.lang.String message,
int messageNumber)
main(String[])
public static void main(java.lang.String[] args)
LogFileTraceWriter
Declaration
public final class LogFileTraceWriter extends BaseTraceWriter
java.lang.Object
|
+--com.cisco.services.tracing.BaseTraceWriter
|
+--com.cisco.services.tracing.LogFileTraceWriter
Description
This class extends the BaseTraceWriter class to implement a
TraceWriter that writes to a set of log files, rotating among them as each
becomes filled to a specified capacity and stores them in a specified directory.
Each of the log files is named according to a pattern controlled by three properties,
CurrentFile, FileNameBase, and FileExtension. The
CurrentFile property determines which log file, by ordinal number, is being
written at present, the FileNameBase property determines the prefix of each
log file name, and the FileExtension property determines the suffix, e.g.
“txt”. From these properties, log files are named FileNameBase
LeadingZeroPadding CurrentFile.FileExtension. The CurrentFile property
takes on a value from 1 to the value of the MaxFiles property. Note that the
CurrentFile property, when converted to a String, is padded with leading
zeroes depending on the values of the MaxFiles and CurrentFile
properties. An index file tracks the index of the last file written. If the
logFileWriter is recreated (for example if an application is restarted) new files
will continue from the last written index.
Where the log files are stored is determined by the path, dirNameBase,
useSameDir. If a path is not specified, the current path is used as default. If a
dirNameBase is not specified, it write log files in the path. Depending upon
whether useSameDir is true or false, files are written to the same directory or a
new directory, each time an instance of LogFileTraceWriter is created. In case
new directories are being made each time, the directory name will consist of the
dirNameBase and a number, separated by an ’_’. The number is one more than
the greatest number associated with directories with the same dirNameBame in
the path. While specifying the path, you may use either a “/” or “\\”, but not “\”
The LogFileTraceWriter keeps track of how many bytes have been written
to the current log file. When that number grows within approximately
LogFileTraceWriter.ROLLOVER_THRESHOLD bytes, tracing continues
to the next file, which is either CurrentFile + 1 if CurrentFile is not
equal to MaxFiles, or 1 if CurrentFile is equal to MaxFiles.
Note All properties of this class are specified in the constructor; there is no way to
change them dynamically. Caveat: If two instances of LogFileTraceWriter are
created with the same path and dirNameBase, and useSameDir is true, they
may write to the same file.
Example
The following code instantiates a LogFileTraceWriter that will create log
files called “MyLog01.log” through “MyLog12.log”. Each file will grow to
approximately 100K bytes in size before the next file is created:
LogFileTraceWriter out = new LogFileTraceWriter (
“MyLog”, “log”, 12, 100 * 1024 ); will create a log file
TraceWriter which will rotate traces to 12 files from
Mylog01.log and Mylog12.log with a file size of 100
KBytes. By default the tracing is set to the
HIGHEST_LEVEL.
Example
The following code constructs a LogFileTraceWriter which stores the log
files in the path “c:/LogFiles” in a sub directory, “Run”. The files will be named
MyLogXX.log. The number of rotating files will be 12 with a size of 100 KB. The
same directory gets used for each instance of the application.
See Also:
Trace
Member Summary
Fields
static java.lang.String DEFAULT_FILE_NAME_BASE
static java.lang.String DEFAULT_FILE_NAME_EXTENSION
static char DIR_BASE_NAME_NUM_SEPERATOR
static int MIN_FILE_SIZE
static int MIN_FILES
static int ROLLOVER_THRESHOLD
Constructors
LogFileTraceWriter(String, String, int, int)
Default constructor for LogFileTraceWriter that rotates
among an arbitrary number of files with tracing for all
levels.
LogFileTraceWriter(String, String, String, String, int, int,
boolean)
Default constructor for LogFileTraceWriter that rotates
among an arbitrary number of files with tracing for all
levels.
LogFileTraceWriter(String, String, String, String, int, int,
int, boolean)
Constructs a LogFileTraceWriter that rotates among an
arbitrary number of files storing them in a specified
directory.
Methods
protected void doClose()
Closes this OutputStream.
protected void doFlush()
protected void doPrintln(String, int)
int getCurrentFile()
Returns the CurrentFile property
java.lang.String getFileExtension()
Returns the FileExtension property
java.lang.String getFileNameBase()
Returns the FileNameBase property
Member Summary
java.lang.String getHeader()
Get the header string that will be written at the
beginning of each log file.
int getMaxFiles()
Returns the MaxFiles property
int getMaxFileSize()
Returns the MaxFileSize property
void setHeader(String)
Set the constant header string that will be written at
the beginning of every file, trace writing continues from
the next line after the header is written.
Fields
DEFAULT_FILE_NAME_BASE
public static final java.lang.String DEFAULT_FILE_NAME_BASE
DEFAULT_FILE_NAME_EXTENSION
public static final java.lang.String DEFAULT_FILE_NAME_EXTENSION
DIR_BASE_NAME_NUM_SEPERATOR
public static final char DIR_BASE_NAME_NUM_SEPERATOR
MIN_FILE_SIZE
public static final int MIN_FILE_SIZE
MIN_FILES
public static final int MIN_FILES
ROLLOVER_THRESHOLD
public static final int ROLLOVER_THRESHOLD
Constructors
LogFileTraceWriter(String, String, int, int)
public LogFileTraceWriter(java.lang.String fileNameBase,
java.lang.String fileNameExtension, int maxFiles,
int maxFileSize)
throws IOException
Methods
doClose()
protected void doClose()
Closes this OutputStream. Any log file that is currently open will be closed
as well.
Overrides:
doClose in class BaseTraceWriter
doFlush()
protected void doFlush()
Overrides:
doFlush in class BaseTraceWriter
doPrintln(String, int)
protected void doPrintln(java.lang.String message,
int messageNumber)
getCurrentFile()
public int getCurrentFile()
getFileExtension()
public java.lang.String getFileExtension()
getFileNameBase()
public java.lang.String getFileNameBase()
getHeader()
public java.lang.String getHeader()
Get the header string that will be written at the beginning of each log file.
Returns:
the Header Property
getMaxFiles()
public int getMaxFiles()
getMaxFileSize()
public int getMaxFileSize()
setHeader(String)
public void setHeader(java.lang.String header)
Set the constant header string that will be written at the beginning of every
file, trace writing continues from the next line after the header is written. If
setHeader is called after a file output has started, it will take effect from
the next file to be written.
Usage:
tm = TraceManagerFactory.registerModule( this );
tw = new LogFileTraceWriter ( “trace”, “log”, 10, 1024*1024);
tw.setHeader ( header );
tm.getTraceWriterManager ().addTraceWriter (tw);
OutputStreamTraceWriter
Declaration
public final class OutputStreamTraceWriter extends BaseTraceWriter
java.lang.Object
|
+--com.cisco.services.tracing.BaseTraceWriter
|
+--com.cisco.services.tracing.OutputStreamTraceWriter
Description
OutputStreamTraceWriter wraps an output stream in a TraceWriter. This
simplifies adding custom tracing classes that can co-exist with other
TraceWriters.
Member Summary
Constructors
OutputStreamTraceWriter(int, OutputStream)
Default constructor which is auto-flushing
OutputStreamTraceWriter(int, OutputStream, boolean)
Create an OutputStreamTraceWriter
Methods
protected void doClose()
protected void doFlush()
protected void doPrintln(String, int)
java.io.OutputStream getOutputStream()
Constructors
OutputStreamTraceWriter(int, OutputStream)
public OutputStreamTraceWriter(int maxTraceLevel,
java.io.OutputStream outputStream)
See Also:
Trace
Create an OutputStreamTraceWriter
See Also:
Trace
Methods
doClose()
protected void doClose()
Overrides:
doClose in class BaseTraceWriter
doFlush()
protected void doFlush()
Overrides:
doFlush in class BaseTraceWriter
doPrintln(String, int)
protected void doPrintln(java.lang.String message,
int messageNumber)
getOutputStream()
public java.io.OutputStream getOutputStream()
Returns:
the output stream associated with the TraceWriter
SyslogTraceWriter
Declaration
public final class SyslogTraceWriter extends BaseTraceWriter
java.lang.Object
|
+--com.cisco.services.tracing.BaseTraceWriter
|
+--com.cisco.services.tracing.SyslogTraceWriter
Description
SyslogTraceWriter refines the BaseTraceWriter to allow tracing to
syslog. Cisco syslog specification calls for sending low level traces to a syslog
collector in the form of UDP messages. No buffering is done in this TraceWriter.
The SyslogTraceWriter makes an exception to the println() method in that
it places a ’\0’ instead of a System specified line separator to terminate the
message packet.
Member Summary
Constructors
SyslogTraceWriter(int, String)
Default SyslogTraceWriter with a max trace level of
INFORMATIONAL
SyslogTraceWriter(int, String, int)
SyslogTraceWriter with max trace level specified
SyslogTraceWriter(int, String, int[])
SyslogTraceWriter which takes an array of trace levels.
Methods
void doClose()
Closes the socket
protected void doPrintln(String, int)
The SyslogTraceWriter makes an exception to the println()
method in that it places a ’\0’ instead of a System
specified line separator to terminate the message packet.
static void main(String[])
Constructors
SyslogTraceWriter(int, String)
public SyslogTraceWriter(int port, java.lang.String collector)
See Also:
Trace
See Also:
Trace
See Also:
Trace
Methods
doClose()
public void doClose()
doPrintln(String, int)
protected void doPrintln(java.lang.String message,
int messageNumber)
main(String[])
public static void main(java.lang.String[] args)
Trace
Declaration
public interface Trace
Description
The Trace interface defines the methods that allow application tracing. Trace
also defines the standard trace types as specified by Syslog Trace Logging.Syslog
currently defines 8 levels of trace. The severity of the message is indicated in the
trace as a number ranging between [0-7] (0 and 7 included). Currently 7 is
HIGHEST_LEVEL and 0 is the LOWEST_LEVEL trace. All 8 levels are
predefined here as static int types for reference in tracing sub-system
implementations.
The severities traced are as follows:
0 = EMERGENCIES System unusable
1 = ALERTS Immediate action needed
2 = CRITICAL Critical conditions
3 = ERROR Error conditions
4 = WARNING Warning conditions
5 = NOTIFICATION Normal but significant condition
6 = INFORMATIONAL Informational messages only
7 = DEBUGGING Debugging messages
Member Summary
Fields
static int ALERTS
The application will continue working on the tasks but
all functions may not be operational (one or more devices
in the list are not accessible but others in the list can
be accessed)
Syslog severity level = 1
static java.lang.String ALERTS_TRACE_NAME
String descriptor for ALERTS trace level
static int CRITICAL
A critical failure, the application can not accomplish
the tasks required due to this failure, eg: the app cant
open the database to read the device list
Syslog severity level = 2
static java.lang.String CRITICAL_TRACE_NAME
String descriptor for CRITICAL trace level
Member Summary
static int DEBUGGING
Very detailed information regarding errors or processing
status that is only generated when DEBUG mode has been
enabled
Syslog severity level = 7
static java.lang.String DEBUGGING_TRACE_NAME
String descriptor for the DEBUGGING trace level
static int EMERGENCIES
Emergency situation, a system shutdown is necessary
Syslog severity level = 0
static java.lang.String EMERGENCIES_TRACE_NAME
String descriptor for EMERGENCIES trace level
static int ERROR
An error condition of some kind has occurred and the user
needs to understand the nature of that failure
Syslog severity level = 3
static java.lang.String ERROR_TRACE_NAME
String descriptor for ERROR trace level
static int HIGHEST_LEVEL
The highest trace level, currently this is DEBUGGING with
a trace level of 7
static int INFORMATIONAL
Information of some form not relating to errors,
warnings, audit, or debug
Syslog severity level =6
static java.lang.String INFORMATIONAL_TRACE_NAME
String descriptor for INFORMATIONAL trace level
static int LOWEST_LEVEL
The lowest trace level, currently this is EMERGENCIES
with a trace level of 0
static int NOTIFICATION
Notification denotes a normal but significant condition
Syslog severity level = 5
static java.lang.String NOTIFICATION_TRACE_NAME
String descriptor for NOTIFICATION trace level
static int WARNING
Warning that a problem of some form exists but is not
keeping the application from completing its tasks
Syslog severity level = 4
static java.lang.String WARNING_TRACE_NAME
String descriptor for WARNING trace level
Methods
java.lang.String getName()
Returns the name of this Trace object.
Member Summary
java.lang.String getSubFacility()
Returns the subFacility of trace
int getType()
Returns the type of trace.
boolean isEnabled()
Returns the state of this Trace object.
void println(Object)
Prints the string returned by the Object.toString()
method and terminates the line as defined by the system.
void println(String)
Prints a message in the same format as Trace.print() and
terminates the line as defined by the system.
void println(String, Object)
Prints the string returned by the Object.toString()
method and terminates the line as defined by the system.
void println(String, String)
Prints a message in the same format as Trace.print() and
terminates the line as defined by the system.
void setDefaultMnemonic(String)
Sets a default mnemonic for all messages printed out to
this trace.
Fields
ALERTS
public static final int ALERTS
The application will continue working on the tasks but all functions may not
be operational (one or more devices in the list are not accessible but others in
the list can be accessed)
Syslog severity level = 1
ALERTS_TRACE_NAME
public static final java.lang.String ALERTS_TRACE_NAME
CRITICAL
public static final int CRITICAL
A critical failure, the application can not accomplish the tasks required due
to this failure, eg: the app cant open the database to read the device list
Syslog severity level = 2
CRITICAL_TRACE_NAME
public static final java.lang.String CRITICAL_TRACE_NAME
DEBUGGING
public static final int DEBUGGING
DEBUGGING_TRACE_NAME
public static final java.lang.String DEBUGGING_TRACE_NAME
EMERGENCIES
public static final int EMERGENCIES
EMERGENCIES_TRACE_NAME
public static final java.lang.String EMERGENCIES_TRACE_NAME
ERROR
public static final int ERROR
An error condition of some kind has occurred and the user needs to
understand the nature of that failure
Syslog severity level = 3
ERROR_TRACE_NAME
public static final java.lang.String ERROR_TRACE_NAME
HIGHEST_LEVEL
public static final int HIGHEST_LEVEL
The highest trace level, currently this is DEBUGGING with a trace level of 7
INFORMATIONAL
public static final int INFORMATIONAL
INFORMATIONAL_TRACE_NAME
public static final java.lang.String INFORMATIONAL_TRACE_NAME
LOWEST_LEVEL
public static final int LOWEST_LEVEL
The lowest trace level, currently this is EMERGENCIES with a trace level of
0
NOTIFICATION
public static final int NOTIFICATION
NOTIFICATION_TRACE_NAME
public static final java.lang.String NOTIFICATION_TRACE_NAME
WARNING
public static final int WARNING
Warning that a problem of some form exists but is not keeping the application
from completing its tasks
Syslog severity level = 4
WARNING_TRACE_NAME
public static final java.lang.String WARNING_TRACE_NAME
Methods
getName()
public java.lang.String getName()
getSubFacility()
public java.lang.String getSubFacility()
getType()
public int getType()
isEnabled()
public boolean isEnabled()
Returns the state of this Trace object. By default, Trace objects are enabled,
that is, println() method will always trace. The state may not be changed
through this interface, however, this object may implement additional
interfaces that allow the state to be changed.
Returns:
true if tracing is enabled, false otherwise
See Also:
ConditionalTrace
println(Object)
public void println(java.lang.Object object)
Prints the string returned by the Object.toString() method and terminates the
line as defined by the system.
Parameters:
object - the object to be printed
println(String)
public void println(java.lang.String message)
Prints a message in the same format as Trace.print() and terminates the line
as defined by the system.
Parameters:
message - the message to be printed
println(String, Object)
public void println(java.lang.String mnemonic,
java.lang.Object object)
Prints the string returned by the Object.toString() method and terminates the
line as defined by the system.
Parameters:
object - the object to be printed
mnemonic - the mnemonic mapped to message to be printed
println(String, String)
public void println(java.lang.String mnemonic,
java.lang.String message)
Prints a message in the same format as Trace.print() and terminates the line
as defined by the system.
Parameters:
message - the message to be printed
mnemonic - the mnemonic mapped to message to be printed
setDefaultMnemonic(String)
public void setDefaultMnemonic(java.lang.String mnemonic)
Sets a default mnemonic for all messages printed out to this trace.
Parameters:
mnemonic, - a mnemonic string
TraceManager
Declaration
public interface TraceManager
Description
The TraceManager interface defines the methods that allow applications trace
management.
Typically, an application obtains only one TraceManager object. All Trace objects
are created by default: Predefined Trace in accordance with Syslog definitions
are:
Facilities/Sub-Facilities:
• Facility—A code consisting of two or more uppercase letters that indicate the
facility to which the message refers. A facility can be a hardware device, a
protocol, or a module of the system software.
• SubFacility—A code consisting of two or more uppercase letters that
indicate the sub-facility to which the message refers. A sub-facility can be a
hardware device component, a protocol unit, or a sub-module of the system
software.
By default all 8 Conditional and UnConditional Traces are created for the Facility
and 8 for each of the subFacilities In order to use the DEBUGGING trace for the
parent FACILITY, for example, the application needs to use the
getConditionalTrace( “DEBUGGING” ) method of this object.
In order to use the DEBUGGING trace for the SUBFACILITY, for example, the
application needs to use the getConditionalTrace( SUBFACILITY + “_” +
“DEBUGGING” ) method of this object or use the getConditionalTrace(
SUBFACILITY, “DEBUGGING” ) method.
System wide TraceWriterManager is set through the setTraceWriterManager
method provided by this interface.
The Trace Manager object also allows the application to enable or disable tracing
for all trace through the enableAll() and disableAll() methods.
Member Summary
Methods
void addSubFacilities(String[])
Sets a set of subFacilities for this
TraceManager/Facility.
void addSubFacility(String)
Adds a single subFacility for this TraceManager/Facility.
void disableAll()
Disables tracing for all Trace objects managed by this
TraceManager.
void disableTimeStamp()
Disables prefixing a time stamp for every message printed
by this TraceManager.
void enableAll()
Enables tracing for all Trace objects managed by this
TraceManager.
void enableTimeStamp()
Enables prefixing a time stamp for every message printed
by this TraceManager.
ConditionalTrace getConditionalTrace(int)
Creates a new ConditionalTrace object or obtains an
existing ConditionalTrace object for this condition.
ConditionalTrace getConditionalTrace(String, int)
Creates a new ConditionalTrace object or obtains an
existing ConditionalTrace object for this condition and
subFacility
java.lang.String getName()
Returns the Facility name for this TraceManager.
java.lang.String[] getSubFacilities()
Returns the subFacility names for this
TraceManager/Facility.
java.util.Enumeration getTraces()
Returns an enumeration of the Trace objects managed by
this TraceManager.
TraceWriterManager getTraceWriterManager()
Returns the TraceWriter used by this TraceManager.
UnconditionalTrace getUnconditionalTrace(int)
Creates a new UnconditionalTrace object or obtains an
existing UnconditionalTrace object for this condition.
UnconditionalTrace getUnconditionalTrace(String, int)
Creates a new UnconditionalTrace object or obtains an
existing UnconditionalTrace object for this condition and
subFacility
void removeTrace(Trace)
Removes a Trace object given an object.
Member Summary
void setSubFacilities(String[])
Sets a set of subFacilities for this
TraceManager/Facility.
void setSubFacility(String)
Adds a single subFacility for this TraceManager/Facility.
void setTraceWriterManager(TraceWriterManager)
Sets the TraceWriter to be used by this TraceManager.
Methods
addSubFacilities(String[])
public void addSubFacilities(java.lang.String[] names)
addSubFacility(String)
public void addSubFacility(java.lang.String name)
disableAll()
public void disableAll()
disableTimeStamp()
public void disableTimeStamp()
enableAll()
public void enableAll()
enableTimeStamp()
public void enableTimeStamp()
getConditionalTrace(int)
public com.cisco.services.tracing.ConditionalTrace
getConditionalTrace(int severity)
getConditionalTrace(String, int)
public com.cisco.services.tracing.ConditionalTrace
getConditionalTrace(java.lang.String subFacility, int severity)
getName()
public java.lang.String getName()
getSubFacilities()
public java.lang.String[] getSubFacilities()
getTraces()
public java.util.Enumeration getTraces()
getTraceWriterManager()
public com.cisco.services.tracing.TraceWriterManager
getTraceWriterManager()
getUnconditionalTrace(int)
public com.cisco.services.tracing.UnconditionalTrace
getUnconditionalTrace(int severity)
getUnconditionalTrace(String, int)
public com.cisco.services.tracing.UnconditionalTrace
getUnconditionalTrace(java.lang.String subFacility,
int severity)
removeTrace(Trace)
public void removeTrace(com.cisco.services.tracing.Trace tc)
setSubFacilities(String[])
public void setSubFacilities(java.lang.String[] names)
Deprecated.
and replaced with TraceManager.addSubFacilities method
Sets a set of subFacilities for this TraceManager/Facility.
setSubFacility(String)
public void setSubFacility(java.lang.String name)
Deprecated.
and replaced with TraceManager.addSubFacility method
Adds a single subFacility for this TraceManager/Facility.
setTraceWriterManager(TraceWriterManager)
public void
setTraceWriterManager(com.cisco.services.tracing.TraceWriterMan
ager twm)
TraceManagerFactory
Declaration
public class TraceManagerFactory
java.lang.Object
|
+--com.cisco.services.tracing.TraceManagerFactory
Description
The TraceManagerFactory class is a class by which applications obtain a
TraceManager object. The TraceModule passed in the constructor is registered in
a list. The list can be enumerated using the getModules() method.
Member Summary
Methods
static getModules()
java.util.Enumeration Returns an enumeration of the TraceModules registered
with this factory.
static TraceManager registerModule(TraceModule)
Returns an instance of a TraceManager object.
static TraceManager registerModule(TraceModule, String[], TraceWriterManager))
Returns an instance of a TraceManager object.
static TraceManager registerModule(TraceModule, TraceWriterManager)
Returns an instance of a TraceManager object.
Methods
getModules()
public static java.util.Enumeration getModules()
registerModule(TraceModule)
public static com.cisco.services.tracing.TraceManager
registerModule(com.cisco.services.tracing.TraceModule module)
registerModule(TraceModule, TraceWriterManager)
public static com.cisco.services.tracing.TraceManager
registerModule(com.cisco.services.tracing.TraceModule module,
com.cisco.services.tracing.TraceWriterManager traceWriterManage
r)
TraceModule
Declaration
public interface TraceModule
Description
The TraceModule interface serves two purposes. First, it allows applications to
discover the TraceManager object used by other packages that they use. Second,
applications that register with the TraceManagerFactory must identify themselves
by implementing this interface.
Member Summary
Methods
TraceManager getTraceManager()
Returns the TraceManager that an object is using for
tracing.
java.lang.String getTraceModuleName()
Returns the module name.
Methods
getTraceManager()
public com.cisco.services.tracing.TraceManager getTraceManager()
getTraceModuleName()
public java.lang.String getTraceModuleName()
TraceWriter
Declaration
public interface TraceWriter
Description
The TraceWriter interface abstracts the details of trace message output. The
TraceWriter uses its enabled method to advertise whether or not the
print and println methods will have any effect. Users of TraceWriter should
use the value returned by the getEnabled method as an indication of whether
they should invoke the print and println methods at all.
Member Summary
Methods
void close()
Releases any resources associated by this TraceWriter.
Member Summary
void flush()
Forces output of any messages that have been printed
using the println method
java.lang.String getDescription()
boolean getEnabled()
Returns whether the println method will print anything or
not.
java.lang.String getName()
int[] getTraceLevels()
void println(String, int)
Prints the specified string followed by a carriage return
The concrete TraceWriter class will use the severity to
block out messages from a particular stream.
void setTraceLevels(int[])
set the trace levels that will be traced by this
TraceWriter
Methods
close()
public void close()
flush()
public void flush()
Forces output of any messages that have been printed using the println
method
getDescription()
public java.lang.String getDescription()
Returns:
a short description of this TraceWriter
getEnabled()
public boolean getEnabled()
Returns whether the println method will print anything or not. A closed
TraceWriter will always return false from this method.
Returns:
true if this TraceWriter is enabled, false if not
getName()
public java.lang.String getName()
Returns:
the name of this TraceWriter
getTraceLevels()
public int[] getTraceLevels()
Returns:
the array of trace levels that will be traced by this TraceWriter
println(String, int)
public void println(java.lang.String message, int severity)
See Also:
Trace
setTraceLevels(int[])
public void setTraceLevels(int[] levels)
See Also:
Trace
TraceWriterManager
Declaration
public interface TraceWriterManager extends TraceWriter
All Superinterfaces
TraceWriter
Description
TraceWriterManager contains the list of TraceWriter objects that are used to
implement the tracing. The list is populated at startup from the switches in a .ini
file. A LogFileTraceWriter, a ConsoleTraceWriter, and a SyslogTraceWriter are
available. Users can override the existing TraceWriters by setting a user
implemented TraceWriter[] or adding to the existing TraceWriters. This makes it
possible to add other TraceWriters that can function along with existing trace
writers.
Member Summary
Methods
void addTraceWriter(TraceWriter)
Add another TraceWriter to the array
TraceWriter[] getTraceWriters()
void removeTraceWriter(TraceWriter)
Remove the TraceWriter from the array in the manager
void setTraceWriters(TraceWriter[])
Implementations can use this method to override or
enhance the provided TraceWriters
Methods
addTraceWriter(TraceWriter)
public void
addTraceWriter(com.cisco.services.tracing.TraceWriter
traceWriter)
getTraceWriters()
public com.cisco.services.tracing.TraceWriter[] getTraceWriters()
Returns:
the array of TraceWriters in the manager
removeTraceWriter(TraceWriter)
public void
removeTraceWriter(com.cisco.services.tracing.TraceWriter
traceWriter)
setTraceWriters(TraceWriter[])
public void
setTraceWriters(com.cisco.services.tracing.TraceWriter[]
traceWriters)
UnconditionalTrace
Declaration
public interface UnconditionalTrace extends Trace
All Superinterfaces
Trace
Description
The UnconditionalTrace interface extends the Trace interface. Note that
because this object extends Trace, its state is enabled by default and it may not be
changed.
This chapter provides the source code for makecall, the Cisco JTAPI program that
is used to test the JTAPI installation. The makecall program comprises a series of
programs that were written in Java by using the Cisco JTAPI implementation.
This chapter contains the following sections:
• MakeCall.java
• Actor.java
• Originator.java
• Receiver.java
• StopSignal.java
• Trace.java
• TraceWindow.java
This Chapter also provides instructions on how to invoke makecall:
• Running makecall
MakeCall.java
/**
* makecall.java
*
* Copyright Cisco Systems, Inc.
*
* Performance-testing application (first pass) for Cisco JTAPI
* implementation.
*
* Known problems:
*
* Due to synchronization problems between Actors, calls may
* not be cleared when this application shuts down.
*
*/
//import com.ms.wfc.app.*;
import java.util.*;
import javax.telephony.*;
import javax.telephony.events.*;
import com.cisco.cti.util.Condition;
Actor.java
/**
* Actor.java
*
* Copyright Cisco Systems, Inc.
*
*/
import javax.telephony.*;
import javax.telephony.events.*;
import javax.telephony.callcontrol.*;
import javax.telephony.callcontrol.events.*;
import com.cisco.jtapi.extensions.*;
public abstract class Actor implements AddressObserver, TerminalObserver,
CallControlCallObserver, Trace
{
try {
if ( observedAddress != null ) {
bufPrintln (
"Adding Call observer to address "
+ observedAddress.getName ()
);
observedAddress.addCallObserver ( this );
bufPrintln (
"Adding Adddress Observer to address "
+ observedAddress.getName ()
);
observedAddress.addObserver ( this );
bufPrintln (
"Adding Terminal Observer to Terminal"
+ observedTerminal.getName ()
);
observedTerminal.addObserver ( this );
}
}
catch ( Exception e ) {
} finally {
flush ();
}
}
try {
onStop ();
if ( observedAddress != null ) {
bufPrintln (
"Removing observer from Address "
+ observedAddress.getName ()
);
observedAddress.removeObserver ( this );
bufPrintln (
"Removing call observer from Address "
+ observedAddress.getName ()
);
observedAddress.removeCallObserver ( this );
}
if ( observedTerminal != null ){
bufPrintln (
fireStateChanged ();
}
break;
}
}
flush ();
}
Originator.java
/**
* originator.java
*
* Copyright Cisco Systems, Inc.
*
*/
import javax.telephony.*;
import javax.telephony.events.*;
import javax.telephony.callcontrol.*;
import javax.telephony.callcontrol.events.*;
import com.ms.com.*;
import com.cisco.jtapi.extensions.*;
conn.disconnect ();
}
}
else if ( curEv instanceof CallCtlConnDisconnectedEv ) {
Connection conn = ((CallCtlConnDisconnectedEv)curEv).getConnection ();
if ( conn.getAddress ().equals ( srcAddress ) ) {
stopSignal.canStop ();
setCallProgressState ( true );
}
}
}
catch ( Exception e ) {
println ( "Caught exception " + e );
}
finally {
flush ();
}
}
}
flush ();
try {
wait ( actionDelayMillis );
}
catch ( Exception ex ) {}
}
//make call after waking up, recheck the flags before making the call
if ( ready && callInIdle ) {
try {
makecall ();
}catch ( Exception e ) {
println (" Caught Exception in MakeCall " + e + " Thread =" +
Thread.currentThread ().getName ());
}
}
}
}
ActionThread ( ) {
super ( "ActionThread");
}
Receiver.java
/**
* Receiver.java
*
* Copyright Cisco Systems, Inc.
*
*/
import javax.telephony.*;
import javax.telephony.events.*;
import javax.telephony.callcontrol.*;
import javax.telephony.callcontrol.events.*;
}
}
}
StopSignal.java
/**
* StopSignal.java
*
* Copyright Cisco Systems, Inc.
*
*/
class StopSignal {
boolean stopping = false;
boolean stopped = false;
synchronized boolean isStopped () {
return stopped;
}
synchronized boolean isStopping () {
return stopping;
}
synchronized void stop () {
if ( !stopped ) {
stopping = true;
try {
wait ();
}
catch ( InterruptedException e ) {}
}
}
synchronized void canStop () {
if ( stopping = true ) {
stopping = false;
stopped = true;
notify ();
}
}
}
Trace.java
/**
* Trace.java
*
* Copyright Cisco Systems, Inc.
*
*/
public interface Trace
{
/**
* bufPrint (str) puts str in buffer only.
*/
public void bufPrint ( String string );
/**
* print () println () bufPrint and invoke flush ();
*/
public void print ( String string );
public void print ( char character );
public void print ( int integer );
public void println ( String string );
public void println ( char character );
public void println ( int integer );
/**
* flush out the buffer.
*/
public void flush ();
}
TraceWindow.java
/**
* TraceWindow.java
*
* Copyright Cisco Systems, Inc.
*
*/
import java.awt.*;
import java.awt.event.*;
TextArea textArea;
booleantraceEnabled = true;
StringBuffer buffer = new StringBuffer ();
public TraceWindow(){
this("");
}
buffer.append ( str );
}
textArea.setText("");
}
}
Running makecall
To Invoke makecall on the client workstation, from the Windows NT command
line, navigate to the makecall directory where JTAPI Tools directory was
installed and execute the following command:
This appendix contains the message sequence charts, which illustrate the message
flows for the following scenarios:
• Shared Line Support
– AddressInService/AddressOutofService Events
– Incoming Call to Shared Address
– Outgoing Call from Shared Address
– Shared Address Calling Itself
• Transfer and Direct Transfer
– DirectTransfer/Arbitrary Transfer Scenario—Page 1
– Consult Transfer Scenario
• Conference and Join
– Join/Arbitrary Conference Scenario—Page 1
– Consult Conference Scenario
• Barge and Privacy
– Barge Feature
– CBarge Feature
– Privacy
• CallSelect and UnSelect
• Dynamic CTIPort Registration Per Call
• Media Termination at Route Point
AddressInService/AddressOutofService Events
Application
Events delivered at JTAPI CTI
AddressObserver
Scenario: 2005 is Shared line appearing on terminal SEP003094C25AFF (T1) and Terminal SEP003094C2A0B0(T2).
2000 makes calls to 2005, 2005-T2 answers the call
Application
Events delivered at JTAPI CTI
AddressCallObserver
Scenario: 2005 is Shared line appearing on terminal SEP003094C25AFF and Terminal SEP003094C2A0B0.
2005 makes calls to 2000
Application
Events delivered at JTAPI CTI
AddressCallObserver
NewCallEvent for T1
NEW META EVENT____META_CALL_STARTING NewCallEvent for T2
CallActiveEv for callID=101
ConnCreatedEv for 2005
ConnConnectedEv for 2005
CallCtlConnInitiatedEv for 2005
TermConnCreatedEv for SEP0003094C2A0B0
TermConnActiveEv for SEP0003094C2A0B0
CallCtlTermConnTalkingEv for SEP0003094C2A0B0
CallStateDialing
NEW META EVENT____META_CALL_PROGRESS
CallCtlConnDialingEv for 2005
Scenario: 2005 at terminal SEP003094C25AFF(T1) call 2005 at Terminal SEP003094C2A0B0(T2) answers the call
Application
Events delivered at JTAPI CTI
AddressCallObserver
Scenario: 2000 Calls 2001, 2001 calls 2002, 2001 does arbitrary transfer PAGE-1
Application
Events delivered at JTAPI CTI
AddressCallObserver
Scenario: 2000 Calls 2001, 2001 calls 2002, 2001 does arbitrary Conference PAGE-1
Application
Events delivered at JTAPI CTI
AddressCallObserver
2000 Calls 2001
Barge Feature
Scenario: 2005 is Shared line appearing on terminal SEP003094C25AFF (T1) and Terminal SEP00309C2A0B0(T2).
2000 makes calls to 2005, 2005-T1 answers the Call. Now T2 Barges into
Application Events delivered
JTAPI CTI
at AddressCallObserver
NEW META EVENT____META_CALL_STARTING NewCallEvent for T1
13/1 CallActiveEv for callID=101 NewCallEvent for T2
13/1 ConnCreatedEv for 2000 CallStateOfferingT1
13/1 ConnConnectedEv for 2000
13/1 CallCtlConnEstablishedEv for 2000 CallStateOfferingT2
13/1 TermConnCreatedEv for SEP0002FD3BA460
13/1 TermConnActiveEv for SEP0002FD3BA460
13/1 CallCtlTermConnTalkingEv for SEP0002FD3BA460
13/1 ConnCreatedEv for 2005
13/1 ConnInProgressEv for 2005
13/1 CallCtlConnOfferedEv for 2005
NEW META EVENT____META_CALL_PROGRESS CallStateAccepted-T1
13/1 ConnAlertingEv for 2005
13/1 CallCtlConnAlertingEv for 2005
13/1 TermConnCreatedEv for SEP003094C25AFF
13/1 TermConnRingingEv for SEP003094C25AFF
13/1 CallCtlTermConnRingingEv for SEP003094C25AFF CallStateAccepted-T2
NEW META EVENT____META_CALL_PROGRESS
13/1 TermConnCreatedEv for SEO003094C2A0B0
13/1 TermConnRingingEv for SEO003094C2A0B0 SEP003094C25AFF answers the call
13/1 CallCtlTermConnRingingEv for SEO003094C2A0B0
NEW META EVENT____META_CALL_PROGRESS
13/1 ConnConnectedEv for 2005
13/1 CallCtlConnEstablishedEv for 2005 CallStateConnected-RIU-T2
13/1 TermConnPassiveEv for SEP003094C2A0B0
13/1 CallCtlTermConnBridgeEv for SEP003094C2A0B0
NEW META EVENT____META_CALL_PROGRESS CallStateConnected-T1
13/1 TermConnActiveEv for SEP003094C25AFF
13/1 CallCtlTermConnTalkingEv for SEP003094C25AFF
T2 Barges into the Call. A new call is temporarily created due to Barge
NEW META EVENT____META_CALL_STARTING NewCallEvent for 2001
14/1 CallActiveEv for callID=101 NewCallEvent for 2001
14/1 ConnCreatedEv for 2005
14/1 ConnConnectedEv for 2005
14/1 CallCtlConnInitiatedEv for 2005
14/1 TermConnCreatedEv for SEP003094C2A0B0
14/1 TermConnActiveEv for SEP003094C2A0B0
14/1 CallCtlTermConnTalkingEv for SEP003094C2A0B0
NEW META EVENT____META_CALL_PROGRESS NewCallEvent for 2001
14/1 CallCtlConnDialingEv for 2005 NewCallEvent for 2001
NEW META EVENT____META_CALL_ADDITIONAL_PARTY
14/1 TermConnCreatedEv for SEP00394C25AFF
14/1 TermConnPassiveEv for SEP00394C25AFF
14/1 CallCtlTermConnBridgeEv for SEP00394C25AFF
NEW META EVENT____META_CALL_PROGRESS
14/1 CallCtlConnEstablishedEv for 2003
14/1 ConnCreatedEv for Unknown
NEW META EVENT____META_CALL_PROGRESS
14/1 ConnCreatedEv for Unknown GlobalCallIDChangedEv-T1-RIU
NEW META EVENT____META_CALL_REMOVING_PARTY GlobalCallIDChangedEv-T2
14/1 TermConnDroppedEv for SEP003094C25AFF
14/1 CallCtlTermConnDroppedEv for SEP003094C25AFF
NEW META EVENT____META_CALL_PROGRESS
13/1 TermConnActiveEv for SEP003094C2A0B0 TerminalConnection of T2 goes to
13/1 CallCtlTermConnTalkingEv for SEP003094C2A0B0 Active/Talking state after Barge
NEW META EVENT____META_CALL_ENDING
14/1 TermConnDroppedEv for SEP003094C2A0B0
14/1 CallCtlTermConnDroppedEv for SEP003094C2A0B0
14/1 ConnDisconnectedEv for 2005
14/1 CallCtlConnDisconnectedEv for 2005
14/1 CallInvalidEv for callID=102
NEW META EVENT____META_CALL_UNKNOWN T2 Drops Out of the Barged Call
14/1 CallObservationEndedEv for callID=103 CallStateIdle-T2
13/1 TermConnPassiveEv for SEP003094C2A0B0 CallStateIdle-T1-RIU
92481
CBarge Feature
Scenario: 2005 is Shared line appearing on terminal SEP003094C25AFF (T1) and Terminal SEP00309C2A0B0(T2).
2000 makes calls to 2005, 2005-T1 answers the Call. Now T2 CBages into
Application Events delivered
JTAPI CTI
at AddressCallObserver
NEW META EVENT____META_CALL_STARTING NewCallEvent for T1
13/1 CallActiveEv for callID=101 NewCallEvent for T2
13/1 ConnCreatedEv for 2000 CallStateOfferingT1
13/1 ConnConnectedEv for 2000
13/1 CallCtlConnEstablishedEv for 2000 CallStateOfferingT2
13/1 TermConnCreatedEv for SEP0002FD3BA460
13/1 TermConnActiveEv for SEP0002FD3BA460
13/1 CallCtlTermConnTalkingEv for SEP0002FD3BA460
13/1 ConnCreatedEv for 2005
13/1 ConnInProgressEv for 2005
13/1 CallCtlConnOfferedEv for 2005
NEW META EVENT____META_CALL_PROGRESS CallStateAccepted-T1
13/1 ConnAlertingEv for 2005
13/1 CallCtlConnAlertingEv for 2005
13/1 TermConnCreatedEv for SEP003094C25AFF
13/1 TermConnRingingEv for SEP003094C25AFF
13/1 CallCtlTermConnRingingEv for SEP003094C25AFF CallStateAccepted-T2
NEW META EVENT____META_CALL_PROGRESS
13/1 TermConnCreatedEv for SEO003094C2A0B0
13/1 TermConnRingingEv for SEO003094C2A0B0 SEP003094C25AFF answers the call
13/1 CallCtlTermConnRingingEv for SEO003094C2A0B0
NEW META EVENT____META_CALL_PROGRESS
13/1 ConnConnectedEv for 2005
13/1 CallCtlConnEstablishedEv for 2005 CallStateConnected-RIU-T2
13/1 TermConnPassiveEv for SEP003094C2A0B0
13/1 CallCtlTermConnBridgeEv for SEP003094C2A0B0
NEW META EVENT____META_CALL_PROGRESS CallStateConnected-T1
13/1 TermConnActiveEv for SEP003094C25AFF
13/1 CallCtlTermConnTalkingEv for SEP003094C25AFF
T2 Barges into the Call. A new call is temporarily created due to CBarge
NEW META EVENT____META_CALL_STARTING NewCallEvent for T1-RIU
14/1 CallActiveEv for callID=101 NewCAllEvent for T2
14/1 ConnCreatedEv for 2005
14/1 ConnConnectedEv for 2005
14/1 CallCtlConnInitiatedEv for 2005
14/1 TermConnCreatedEv for SEP003094C2A0B0
14/1 TermConnActiveEv for SEP003094C2A0B0
14/1 CallCtlTermConnTalkingEv for SEP003094C2A0B0
NEW META EVENT____META_CALL_PROGRESS CallStateDialingT1-RIU
14/1 CallCtlConnDialingEv for 2005 CallStateDialingT2
NEW META EVENT____META_CALL_ADDITIONAL_PARTY
14/1 TermConnCreatedEv for SEP00394C25AFF
14/1 TermConnPassiveEv for SEP00394C25AFF
14/1 CallCtlTermConnBridgeEv for SEP00394C25AFF
NEW META EVENT____META_CALL_PROGRESS CallStateProceedingT1-RIU
14/1 CallCtlConnEstablishedEv for 2003 CallStateProceedingT1
14/1 ConnCreatedEv for Unknown
NEW META EVENT____META_CALL_PROGRESS
14/1 ConnCreatedEv for Unknown GlobalCallIDChangedEv-T1-RIU
NEW META EVENT____META_CALL_REMOVING_PARTY GlobalCallIDChangedEv-T2
14/1 TermConnDroppedEv for SEP003094C25AFF
14/1 CallCtlTermConnDroppedEv for SEP003094C25AFF
NEW META EVENT____META_CALL_PROGRESS
13/1 TermConnActiveEv for SEP003094C2A0B0 TerminalConnection of T2 goes to
13/1 CallCtlTermConnTalkingEv for SEP003094C2A0B0 Active/Talking state after CBarge
NEW META EVENT____META_CALL_ENDING
14/1 TermConnDroppedEv for SEP003094C2A0B0
14/1 CallCtlTermConnDroppedEv for SEP003094C2A0B0
14/1 ConnDisconnectedEv for 2005
14/1 CallCtlConnDisconnectedEv for 2005
14/1 CallInvalidEv for callID=102
NEW META EVENT____META_CALL_UNKNOWN T2 Drops Out of the CBarged Call
14/1 CallObservationEndedEv for callID=103 CallStateIdle-T2
13/1 TermConnPassiveEv for SEP003094C2A0B0 CallStateIdle-T1-RIU
2482
Privacy
A,A' are SharedLine, A calls B. Now A presses Privacy key to enable privacy
CallPrivacyChangedEvent-A'
CallPrivacyChangedEvent-A'
CallEvents
CiscoTermConnPrivChgEv
CallCtlTermConninUse
CallPrivacyChangedEvent-A'
CallPrivacyChangedEvent-A'
CallEvent
CiscoTermConnPrivChgEv
CallCtlTermConnBridged
92483
CallSelect and UnSelect
The following diagram illustrates the message flows for CallSelect and UnSelect.
A,A' are SharedLine, A calls B. Now A presses Select Softkey to Select the call
CallSelectChangedEvent-A'
CallSelectChangedEvent-A'
CallEvents
CallCtlTermConninUse
CallSelectChangedEvent-A'
CallSelectChangedEvent-A'
CallEvent
CallCtlTermConnBridged
92484
Dynamic CTIPort Registration Per Call
The following diagram illustrates the message flows for Dynamic CTIPort
Registration per call.
Scenario One
A, B, and C appear in an applications controlled list.
D is does not appear in the control list.
A calls B.
Note The specified event group may not be in the same order and might change
depending on where parties are present in the cluster, on the load, and other
conditions.
Scenario Two
A, B, and C do not appear in the Control list, and
D is in the application control list.
A calls B.
B redirects the call to D with C as preferredOriginalCalledParty.
The application will see following events for party D.
Scenario One
The application controls the device Route Point (RP) and registers RP .
A and B are PNO and appear within the Cisco CallManager cluster.
A calls RP.
Call arrives at RP
endRoute (ERROR_NONE)
Scenario Two
The application is controls A and B.
A calls RP, which selectsRoute call to B with modified calling number as M.
NEW META
EVENT_________META_CALL_
PROGRESS
CallCtlConnEstablishedEv A
ConnCreatedEv RP
ConnInProgressEv RP
CallCtlConnOfferedEv RP
Scenario One
The application controls A and B; B requires a forced authorization code (FAC)
to extend the call.
Action Event
A calls B by using NEW META EVENT_________META_CALL_STARTING
call.Connect(), or A places a CallActiveEv Cause: CAUSE_NEW_CALL
consult call to B by using ConnCreatedEv A Cause: CAUSE_NORMAL
Call.Consult(). ConnConnectedEv A Cause: CAUSE_NORMAL
CallCtlConnInitiatedEv Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
TermConnCreatedEv SEPA Cause: Other: 0
TermConnActiveEv SEPA Cause: CAUSE_NORMAL
CallCtlTermConnTalkingEv SEPA Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
NEW META EVENT_________META_CALL_PROGRESS
CallCtlConnDialingEv A
NEW META EVENT_________META_CALL_PROGRESS
CiscoToneChangedEv
ToneType = CiscoTone.ZIPZIP
cause = CiscoCallEv.CAUSE_FAC_CMC
getWhichCodRequired =
CiscoToneChangedEv. FAC_REQUIRED
Application enters additional NEW META
digits by using EVENT_________META_CALL_ADDITIONAL_PARTY
CiscoConnection.addToAddress ConnCreatedEv B
. ConnInProgressEv B
CallCtlConnOfferedEv B
NEW META EVENT_________META_CALL_PROGRESS
ConnAlertingEv B
CallCtlConnAlertingEv B
TermConnCreatedEv B
TermConnRingingEv B
CallCtlTermConnRingingEv B
ConnConnectedEv B
CallCtlConnEstablishedEv B
B answers the call. TermConnActiveEv B
Scenario Two
The application controls A and B; B requires both an FAC and a CMC (client
matter code) to extend the call.
Action Event
A calls B by using NEW META EVENT_________META_CALL_STARTING
call.Connect(), or A places a CallActiveEv Cause: CAUSE_NEW_CALL
consult call to B by using ConnCreatedEv A Cause: CAUSE_NORMAL
Call.Consult(). ConnConnectedEv A Cause: CAUSE_NORMAL
CallCtlConnInitiatedEv Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
TermConnCreatedEv SEPA Cause: Other: 0
TermConnActiveEv SEPA Cause: CAUSE_NORMAL
CallCtlTermConnTalkingEv SEPA Cause:
CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
NEW META EVENT_________META_CALL_PROGRESS
CallCtlConnDialingEv A
NEW META EVENT_________META_CALL_PROGRESS
CiscoToneChangedEv
ToneType = CiscoTone.ZIPZIP
cause = CiscoCallEv.CAUSE_FAC_CMC
getWhichCodRequired =
CiscoToneChangedEv. FAC_CMC_REQUIRED
Application enters FAC code NEW META EVENT_________META_CALL_PROGRESS
digits with # termination by CiscoToneChangedEv
using ToneType = CiscoTone.ZIPZIP
CiscoConnection.addToAddress cause = CiscoCallEv.CAUSE_FAC_CMC
within the T302 timer. getWhichCodRequired =
CiscoToneChangedEv. CMC_REQUIRED
Action Event
Application enters CMC code NEW META
digits with # terminated by using EVENT_________META_CALL_ADDITIONAL_PARTY
CiscoConnection.addToAddress ConnCreatedEv B
within T302 timer. ConnInProgressEv B
CallCtlConnOfferedEv B
NEW META EVENT_________META_CALL_PROGRESS
ConnAlertingEv B
CallCtlConnAlertingEv B
TermConnCreatedEv B
TermConnRingingEv B
CallCtlTermConnRingingEv B
B answers the call. ConnConnectedEv B
CallCtlConnEstablishedEv B
TermConnActiveEv B
CallCtlTermConnTalkingEv B
Scenario Three
The application controls A and B;
B requires a CMC, and the application enters an invalid code.
Action Event
A calls B by using NEW META EVENT_________META_CALL_STARTING
call.Connect(), or A places a CallActiveEv Cause: CAUSE_NEW_CALL
consult call to B by using ConnCreatedEv A Cause: CAUSE_NORMAL
Call.Consult(). ConnConnectedEv A Cause: CAUSE_NORMAL
CallCtlConnInitiatedEv Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
TermConnCreatedEv SEPA Cause: Other: 0
TermConnActiveEv SEPA Cause: CAUSE_NORMAL
CallCtlTermConnTalkingEv SEPA Cause:
CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
NEW META EVENT_________META_CALL_PROGRESS
CallCtlConnDialingEv A
NEW META EVENT_________META_CALL_PROGRESS
CiscoToneChangedEv
ToneType = CiscoTone.ZIPZIP
cause = CiscoCallEv.CAUSE_FAC_CMC
getWhichCodRequired =
CiscoToneChangedEv. CMC_REQUIRED
The application enters the NEW META EVENT_________META_CALL_PROGRESS
incorrect CMC digits (# ConnFailedEv A
terminated) by using CallCtlConnFailedEv A getCiscoCause () =
CiscoConnection.addToAddress CiscoCallEv.FAC_CMC
within the T302 timer limit.
The application receives reorder
NEW META EVENT_________META_CALL_ENDING
tone.
TermConnDroppedEv
CallCtlTermConnDropped
ConnDisconnectedEv
CallCtlConnDisconnectedEv
CallInvalidEv
CallObservationEndedEv
Scenario Four
The application controls both A and B; A calls B; B redirects the call to C, which
needs both an FAC and a CMC.
Action Event
A calls B by using NEW META EVENT_________META_CALL_STARTING
call.Connect(), or A places a CallActiveEv Cause: CAUSE_NEW_CALL
consult call to B by using ConnCreatedEv A Cause: CAUSE_NORMAL
Call.Consult(). ConnConnectedEv A Cause: CAUSE_NORMAL
CallCtlConnInitiatedEv Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
TermConnCreatedEv SEPA Cause: Other: 0
TermConnActiveEv SEPA Cause: CAUSE_NORMAL
CallCtlTermConnTalkingEv SEPA Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL
NEW META EVENT_________META_CALL_PROGRESS
CallCtlConnDialingEv A
NEW
METAEVENT_________META_CALL_ADDITIONAL_PARTY
ConnCreatedEv B
ConnInProgressEv B
CallCtlConnOfferedEv B
NEW META EVENT_________META_CALL_PROGRESS
ConnAlertingEv B
CallCtlConnAlertingEv B
TermConnCreatedEv SEPB
TermConnRingingEv SEPB
CallCtlTermConnRingingEv SEPB
ConnConnectedEv B
CallCtlConnEstablishedEv B
TermConnActiveEv SEPB
CallCtlTermConnTalkingEv SEPB
Action Event
B issues a redirect request to C NEW META
and passes an FAC and a CMC EVENT_________META_CALL_REMOVING_PARTY
code. TermConnDroppedEv SEPB
CallCtlTermConnDroppedEv SEPB Cause: CAUSE_NORMAL
CallControlCause: CAUSE_REDIRECTED CiscoCause:
CAUSE_NORMALUNSPECIFIED
ConnDisconnectedEv B Cause: CAUSE_NORMAL CiscoCause:
CAUSE_NORMALUNSPECIFIED
CallCtlConnDisconnectedEv B Cause: CAUSE_NORMAL
CallControlCause: CAUSE_REDIRECTED CiscoCause:
CAUSE_NORMALUNSPECIFIED
NEW META EVENT_________META_CALL_PROGRESS
ConnCreatedEv C Cause: CAUSE_NORMAL CiscoCause:
CAUSE_NORMALUNSPECIFIED
NEW META EVENT_________META_CALL_PROGRESS
ConnInProgressEv C Cause: CAUSE_NORMAL CiscoCause:
CAUSE_NORMALUNSPECIFIED
CallCtlConnOfferedEv C Cause: CAUSE_NORMAL
CallControlCause: CAUSE_REDIRECTED CiscoCause:
CAUSE_NORMALUNSPECIFIED
NEW META EVENT_________META_CALL_PROGRESS
ConnAlertingEv A Cause: CAUSE_NORMAL CiscoCause:
CAUSE_NORMALUNSPECIFIED
CallCtlConnAlertingEv C Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL CiscoCause:
CAUSE_NORMALUNSPECIFIED
NEW META EVENT_________META_CALL_PROGRESS
ConnConnectedEv C Cause: CAUSE_NORMAL CiscoCause:
CAUSE_NOERROR
CallCtlConnEstablishedEv C Cause: CAUSE_NORMAL
CallControlCause: CAUSE_NORMAL CiscoCause:
CAUSE_NOERROR
Scenario Five
Application controls the device Route Point (RP) and registers the RP.
A and B are PNO and within the Cisco CallManager cluster.
Terminal JTAPI
Application CiscoTerminal Implementation CTI
Observer Layer
CtiDeviceStateIdle
DeviceStateIdleEv
CiscoTermDSIdleEv
CiscoTermDeviceStateIdleEv
CtiDeviceStateActive
CiscoTermDSActiveEv
CiscoTermDeviceStateActiveEv
CtiDeviceStateAlerting
DeviceStateAlertingEv
CiscoTermDSAlertingEv
CiscoTermDeviceStateAlertingEv
CtiDeviceStateHeld
DeviceStateHeldEv
CiscoTermDSHeldEv
CiscoTermDeviceStateHeldEv
120189
This appendix contains a listing of all classes and interfaces that are available in
the Cisco JTAPI implementation for Cisco CallManager:
• Cisco JTAPI Version 1.2 Classes and Interfaces, page B-2, which lists all the
JTAPI v 1.2 classes and methods. The supported classes and methods have a
check mark in the Cisco JTAPI Support column.
• Cisco JTAPI Extension Classes and Interfaces, page B-23, which lists the
Cisco extension classes and methods.
• Cisco Trace Logging Classes and Interfaces, page B-27, which lists the error
tracing classes and methods.
Core Package
Table B-1 lists each JTAPI interface in the JTAPI Core Package followed by the
associated method(s) and whether the Cisco JTAPI implementation supports the
classes.
Cisco
JTAPI
Class Names Method Names Support Comments
Address addCallObserver Yes
addressObserver Yes
getAddressCapabilities Yes
getCallObservers Yes
getCapabilities Yes
getConnections Yes
getName Yes
getObservers Yes
getProvider Yes
getTerminals Yes
removeCallObserver Yes
removeObserver Yes
AddressObserver addressChangedEvent Yes
Call addObserver Yes
connect Yes A CallObserver must exist for the
Terminal or Address that originates
the call.
getCallCapabilities Yes
getCapabilities Yes
Cisco
JTAPI
Class Names Method Names Support Comments
getConnections Yes
getObservers Yes
getProvider Yes
getState Yes
removeObserver Yes
CallObserver callChangedEvent Yes
Connection disconnect Yes
getAddress Yes
getCall Yes
getCapabilities Yes
getConnectionCapabilities Yes
getState Yes
getTerminalConnections Yes
JtapiPeer getName Yes
getProvider Yes
getServices Yes
JtapiPeerFactory getJtapiPeer Yes
Provider addObserver Yes
createCall Yes
getAddress Yes
getAddressCapabilities() Yes
getAddressCapabilities(Ter- Yes
minal)
getAddresses Yes
getCallCapabilities() Yes
Cisco
JTAPI
Class Names Method Names Support Comments
getCallCapabilities(Termi- Yes
nal, Address)
getCalls Yes This method returns calls only
when CallObservers attach to
Addresses or Terminals, when a
RouteAddress is registered for
routing, or when a CiscoMediaTer-
minal is registered.
getCapabilities Yes
getConnectionCapabilities() Yes
getConnectionCapabili- Yes
ties(Terminal, Address)
getName Yes
getObservers Yes
getProviderCapabilities() Yes
getProviderCapabilities(Ter- Yes
minal)
getState Yes
getTerminal Yes
getTerminalCapabilities() Yes
getTerminalCapabilities(Ter- Yes
minal)
getTerminalConnectionCapa- Yes
bilities()
getTerminalConnectionCapa- Yes
bilities(Terminal)
getTerminals Yes
removeObserver Yes
Cisco
JTAPI
Class Names Method Names Support Comments
shutdown Yes
ProviderObserver providerChangedEvent Yes
Terminal addCallObserver Yes
addObserver Yes
getAddresses Yes
getCallObservers Yes
getCapabilities Yes
getName Yes
getObservers Yes
getProvider Yes
getTerminalCapabilities Yes
getTerminalConnections Yes
removeCallObserver Yes
removeObserver Yes
TerminalConnection answer Yes
getCapabilities Yes
getConnection Yes
getState Yes
getTerminal Yes
getTerminalConnectionCapa- Yes
bilities
TerminalObserver terminalChangedEvent Yes
Cisco
JTAPI
Class Names Method Names Support Comments
CallControlAddress cancelForwarding Yes Only for Call Forward
All
getDoNotDisturb
getForwarding Yes Only for Call Forward
All
getMessageWaiting
setDoNotDisturb
setForwarding Yes Only for Call Forward
All
setMessageWaiting
setMessageWaitingSupport Yes Sets messageWaiting on
any Address that
belongs to the same
partition as the address
on which this method is
invoked
CallControlCall addParty
Cisco
JTAPI
Class Names Method Names Support Comments
conference Yes In a consult conference
scenario, only Original-
Call.conference (Con-
sultCall ) is supported.
ConsultCall.conference
(OriginalCall) is
supported.
consult(TerminalConnection) Yes
consult(TerminalConnection, Yes
String)
drop Yes
getCalledAddress Yes
getCallingAddress Yes
getCallingTerminal Yes
getConferenceController Yes
getConferenceEnable Yes
getLastRedirectedAddress Yes
getTransferController Yes
getTransferEnable Yes
offHook Yes
setConferenceController Yes
setConferenceEnable Yes
setTransferController Yes
setTransferEnable Yes
Cisco
JTAPI
Class Names Method Names Support Comments
transfer(Call) Yes In a consult transfer
scenario, only Original-
Call.transfer (Consult-
Call) is supported.
ConsultCall.transfer
(OriginalCall) is
supported.
transfer(String) Yes
CallControlCallObserver Yes
CallControlConnection accept Yes
addToAddress Yes
getCallControlState Yes
park Yes
redirect Yes Redirect allows a con-
nection in the CallCon-
trolConnection.ESTAB
LISHED state and Call-
ControlConnection.OF-
FERED state to be
redirect.
reject Yes
CallControlForwarding getDestinationAddress
getFilter
getSpecificCaller
getType
CallControlTerminal getDoNotDisturb
pickup (Address, Address)
pickup (Connection, Address)
Cisco
JTAPI
Class Names Method Names Support Comments
pickup (TerminalConnection,
Address)
pickupFromGroup(Address)
pickupFromGroup(String,
Address)
setDoNotDisturb
CallControlTerminalConnection getCallControlState Yes
hold Yes
join
leave
unhold Yes
CallControlTerminalObserver
Cisco
JTAPI Sup-
Class Names Method Names port
CallControlAddressCapabilities canCancelForwarding Yes
canGetDoNotDisturb Yes
canGetForwarding Yes
canGetMessageWaiting Yes
canSetDoNotDisturb Yes
canSetForwarding Yes
canSetMessageWaiting Yes
CallControlCallCapabilities canAddParty Yes
canConference Yes
canConsult Yes
canConsult(TerminalConnection) Yes
canConsult(TerminalConnection, Yes
String)
canDrop Yes
canOffHook Yes
canSetConferenceController Yes
canSetConferenceEnable Yes
canSetTransferController Yes
canSetTransferEnable Yes
canTransfer Yes
canTransfer(Call) Yes
Cisco
JTAPI Sup-
Class Names Method Names port
canTransfer(String) Yes
CallControlConnectionCapabilities canAccept Yes
canAddToAddress Yes
canPark Yes
canRedirect Yes
canReject Yes
CallControlTerminalCapabilities canGetDoNotDisturb Yes
canPickup Yes
canPickup(Address, Address) Yes
canPickup(Connection, Address) Yes
canPickup(TerminalConnection, Yes
Address)
canPickupFromGroup Yes
canPickupFromGroup(Address) Yes
canPickupFromGroup(String, Address) Yes
canSetDoNotDisturb Yes
CallControlTerminalConnectionCapabilities canHold Yes
canJoin Yes
canLeave Yes
canUnhold Yes
Capabilities Package
Table B-8 lists each JTAPI interface in the JTAPI Capabilities Package followed
by the associated method(s) and whether the Cisco JTAPI implementation
supports the classes.
Events Package
Table B-9 lists each JTAPI interface in the JTAPI Events Package followed by the
associated method(s) and whether the Cisco JTAPI Implementation supports the
classes.
Media Package
Table B-10 lists each JTAPI interface from the JTAPI Media Package followed by
the associated method(s) and whether the Cisco JTAPI implementation supports
the classes.
Unsupported Packages
Table B-13 shows the JTAPI packages that the Cisco JTAPI implementation
supports the classes.
Table B-15 Cisco JTAPI Extension Interfaces and Their Methods (continued)
Table B-15 Cisco JTAPI Extension Interfaces and Their Methods (continued)
Table B-15 Cisco JTAPI Extension Interfaces and Their Methods (continued)
This section contains CTI Error Codes, CiscoEvent IDs, and other information to
assist with troubleshooting efforts.
CiscoEvent IDs
//Prov Ev
CiscoProvFeatureUnRegisteredEv = 0x40000008;
//Term Ev
CiscoTermCreatedEv = 0x40001001;
CiscoTermDataEv = 0x40001002;
CiscoTermInServiceEv = 0x40001003;
CiscoTermOutOfServiceEv = 0x40001004;
CiscoTermRemovedEv = 0x40001005;
CiscoTermActiveStatusEv = 0x40001006;
CiscoTermAlertingStatusEv = 0x40001007;
CiscoTermHoldStatusEv = 0x40001008;
CiscoTermIdleStatusEv = 0x40001009;
CiscoTermButtonPressedEv = 0x40001010;
CiscoTermRegistraionFailedEv = 0x40001011;
//Addr Ev
CiscoAddrCreatedEv = 0x40002001;
CiscoAddrInServiceEv = 0x40002002;
CiscoAddrOutOfServiceEv = 0x40002003;
CiscoAddrRemovedEv = 0x40002004;
CiscoOutOfServiceEv = 0x40002005;
CiscoAddrAddedToTerminalEv = 0x40002006;
CiscoAddrRemovedFromTerminalEv = 0x40002007;
CiscoAddrAutoAcceptStatusChangedEv = 0x40002008;
//Call Ev
CiscoProvCallParkEv = 0x40003001;
CiscoConferenceEndEv = 0x40003002;
CiscoConferenceStartEv = 0x40003003;
CiscoConsultCallActiveEv = 0x40003004;
CiscoTransferEndEv = 0x40003005;
CiscoTransferStartEv = 0x40003006;
//RTP/Misc Ev
CiscoRTPInputStartedEv = 0x40004001;
CiscoRTPInputStoppedEv = 0x40004002;
CiscoRTPOutputStartedEv = 0x40004003;
CiscoRTPOutputStoppedEv = 0x40004004;
CiscoMediaOpenLogicalChannelEv = 0x40004005;
// TermConnEvent
CiscoTermConnPrivacyChangedEv = 0x40005001;
CiscoConsultCallActiveEv = 0x40003004;
CiscoTransferEndEv = 0x40003005;
CiscoTransferStartEv = 0x40003006;
CiscoToneChangedEv = 0x40003007;
CiscoCallChangedEv = 0x40003008;
B Trace.java 3-17
TraceWindow.java 3-18
barge and privacy event notification 1-66 CiscoJtapiExceptions 1-17
CiscoTerminal filter and
ButtonPressedEvents 1-78
C
CiscoTermRegistrationFailed event 1-83
call forward setting 1-15 clear calls interface 1-17
call park 1-15 conference
reminder 1-16 Cisco extensions 1-24
retrieval 1-16 events 1-26
CallSelect and UnSelect event notification 1-67 scenarios 1-25
CiscoCallID 1-9 transfer and conference enhancement 1-27
CiscoConnectionID 1-9 conference and join 1-63
JTAPI parameters
application control 1-12 O
Jtapi.ini 1-12
Originator.java
Cisco JTAPI examples 3-10
M
MakeCall.java P
Cisco JTAPI Examples 3-2
presentation indicator (PI) for the call 1-88
makecall.java 3-2
media
CiscoMediaTerminal 1-32
R T