|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
ITsapiAddress | ITsapiAddress extends Jtapi Address, CallControlAddress, CallCenterAddress, RouteAddress. |
ITsapiAddressMsgWaitingEvent | ITsapiAddressMsgWaitingEvent implements Jtapi CallCtlAddrMessageWaitingEv. |
ITsapiAgent | ITsapiAgent extends Agent. |
ITsapiCall | ITsapiCall extends Jtapi Call, CallControlCall, CallCenterCall. |
ITsapiCallIDPrivate | ITsapiCallIDPrivate lets you retrieve TSAPI information associated with a JTAPI Call. |
ITsapiCallInfo | ITsapiCallInfo adds new call information for Call and events |
ITsapiConnection | ITsapiConnection extends Jtapi Connection and CallControlConnection. |
ITsapiConnIDPrivate | ITsapiConnIDPrivate lets you retrieve TSAPI information associated with a JTAPI Connection or TerminalConnection. |
ITsapiConnNetworkReachedEvent | ITsapiConnNetworkReachedEvent extends Jtapi CallCtlConnNetworkReachedEv. |
ITsapiCSTAUniversalFailure | the list of universal failure codes that can be returned in CSTA UniversalFailure unsolicited events and confirmation events. |
ITsapiException | The ITsapiException interface adds an errorType and errorCode to all Jtapi exceptions. |
ITsapiPeer | ITsapiPeer extends JtapiPeer to allow applications a mechanism to specify the vendor(s) they want to negotiate data with. |
ITsapiProvider | ITsapiProvider adds methods to obtain vendor-specific version information. |
ITsapiProviderPrivate | ITsapiProviderPrivate lets you retrieve or create JTAPI objects from TSAPI constructs. |
ITsapiProviderTsapiInitializingEvent | This interface indicates the provider is in the Tsapi initializing state. |
ITsapiProviderTsapiInServiceEvent | This interface indicates the provider is in the Tsapi in service state. |
ITsapiProviderTsapiOutOfServiceEvent | This interface indicates the provider is in the Tsapi out of service state. |
ITsapiProviderTsapiShutdownEvent | This interface indicates the provider is in the Tsapi shutdown state. |
ITsapiRoutePrivate | ITsapiRoutePrivate lets you retrieve TSAPI information associated with a JTAPI Route Session. |
ITsapiRouteSession | ITsapiRouteSession extends Jtapi RouteSession to return the Call object associated with the RouteSession. |
ITsapiRouteUsedEvent | ITsapiRouteUsedEvent extends Jtapi RouteUsedEvent. |
ITsapiTerminal | ITsapiTerminal extends Terminal, CallControlTerminal and AgentTerminal. |
ITsapiTerminalConnection | ITsapiTerminalConnection extends TerminalConnection, CallControlTerminalConnection, and MediaTerminalConnection. |
ITsapiTrunk | ITsapiTrunk extends Jtapi CallCenterTrunk. |
LucentAddress | This interface add Avaya-specific methods to the Address interface. |
LucentAddressMsgWaitingEvent | This interface add Avaya-specific methods to the CallCtlAddrMessageWaitingEv interface. |
LucentAgent | The LucentAgent interface extends the ITsapiAgent interface. |
LucentCall | The LucentCall interface extends ITsapiCall with Avaya-specific features. |
LucentCallEx | |
LucentCallInfo | The LucentCallInfo interface provides access methods for Avaya-specific call information. |
LucentConnection | The LucentConnection interface extends ITsapiConnection with Avaya-specific features. |
LucentConnectionID | used to access the contents of a TSAPI ConnectionID as defined by Avaya's TSAPI service implementation. |
LucentConnNetworkReachedEvent | Returns supplementary call progress information from the ISDN Progress Indicator Information Element. |
LucentProvider | LucentProvider adds methods to obtain Avaya-specific switch information. |
LucentRouteSession | The LucentRouteSession interface extends ITsapiRouteSession with Avaya-specific features. |
LucentRouteUsedEvent | This private interface to the RouteUsedEvent helps pre-Avaya JTAPI 3.1 applications which use the JTAPI 1.2 RouteUsedEvent.getRouteUsed() method to be adapted to conform to to the JTAPI 1.4 specification with a one-line code change. |
LucentTerminal | The LucentTerminal interface extends the ITsapiTerminal interface. |
LucentTerminalConnection | The LucentTerminalConnection interface extends ITsapiTerminalConnection with Avaya-specific features. |
LucentTrunk | This interface extends the ITsapiTrunk interface with features specific to DEFINITY G3 PBX Driver Version 6 private data. |
LucentV5Call | The LucentV5Call interface extends ITsapiCall with Avaya-specific features. |
LucentV5CallInfo | The LucentV5CallInfo interface provides access to call information from Avaya DEFINITY switches with PBX Driver Version 5 private data. |
LucentV5Connection | The LucentV5Connection interface extends LucentConnection with features specific to DEFINITY G3 PBX Driver Version 5 private data. |
LucentV5Provider | LucentV5Provider adds the Advice Of Charge feature. |
LucentV5Terminal | The LucentV5Terminal interface extends the LucentTerminal interface. |
LucentV5TerminalConnection | The LucentV5TerminalConnection interface extends LucentTerminalConnection with features specific to DEFINITY G3 PBX Driver Version 5 private data. |
LucentV5TerminalConnectionEx | this interface extends the LucentV5TerminalConnection interface with features specific to DEFINITY G3 PBX Driver Version 5 private data - specifically, with a method that provides the ability to exert more control over how DTMF (dual tone multi-function) tones are generated. |
LucentV5TerminalEx | This interface extends LucentV5Terminal with additional features specific to DEFINITY G3 PBX Driver Version 5 private data. |
LucentV6Agent | This interface extends the LucentAgent interface with features specific to DEFINITY G3 PBX Driver Version 6 private data. |
LucentV6Connection | This interface extends LucentV5Connection with features specific to DEFINITY G3 PBX Driver Version 6 private data. |
LucentV7Agent | This interface extends the LucentV6Agent interface with features specific to DEFINITY G3 PBX Driver Version 7 private data. |
LucentV7Call | The LucentV7Call interface extends LucentV5Call with additional Avaya features exposed through the LucentV7CallInfo interface. |
LucentV7CallInfo | The LucentV7CallInfo interface provides access to call information from ECS DEFINITY switches with PBX Driver Version 7 private data. |
LucentV7Provider | adds queries which give information about the underlying Avaya switching platform. |
LucentV7RouteSession | The LucentV7RouteSession interface extends LucentRouteSession to add the ability to use the Network Call Redirection feature of call routing on Avaya switches. |
Class Summary | |
CallClassifierInfo | Provides information on call classifier port usage. |
ConnectionID | This class exposes the TSAPI ConnectionID, for implementors of other vendors' private data. |
ExtendedDeviceID | A TSAPI Extended Device ID. |
LookaheadInfo | Lookahead interflow is a DEFINITY G3 switch feature that routes some of the incoming calls from one switch to another so that they can be handled more efficiently and will not be lost. |
LucentAgentStateInfo | This is the object that is returned by the query getStateInfo() in LucentAgent. |
LucentAgentStateInfoEx | This is the object that is returned by the query getStateInfo() in LucentAgent. |
LucentBillType | This class defines constants used with the LucentV5Call.setBillRate() method. |
LucentChargeAdviceEvent | |
LucentChargeError | This class defines constants used with the LucentChargeAdviceEvent.getChargeError() method. |
LucentChargeType | This class defines constants used with the LucentChargeAdviceEvent.getChargeType() method. |
LucentEventCause | gives the list of event cause values returned in a number of contexts by the underlying Avaya TSAPI service. |
LucentRedirectType | This class defines constants used with LucentV7RouteSelect to specify Network Call Redirection. |
LucentV5AgentStateInfo | This is the object that is returned by the query getStateInfo in LucentAgent. |
LucentV5TerminalConnectionExImpl | |
LucentV6AgentStateInfo | This is the object that is returned by the query getStateInfo method of the LucentAgent interface, with the DEFINITY G3 Driver supporting and using Private data version 6. |
LucentV6AgentStateInfoEx | This is a new object that will be return by the query getStateInfo method of the LucentAgent interface. |
NetworkProgressInfo | Contains supplementary call progress information from the ISDN Progress Indicator Information Element. |
OriginalCallInfo | Original Call Information is made available in conjunction with the consult() service. |
Q931UserToUserInfo | User-to-user information used specifically for a Q.931/I.451 User-Network Call Control Message. |
TrunkGroupInfo | Provides information on trunk group usage. |
TsapiPeer | TsapiPeer implements JtapiPeer. |
TsapiPrivate | The TsapiPrivate object is used to pass vendor-specific information between an application and the service provider, via the JTAPI data interfaces. |
UserEnteredCode | Contains the code/digits that may have been entered by the caller through the DEFINITY G3 call prompting feature or the collected digits feature. |
UserToUserInfo | User-to-user information is an ISDN feature which allows end-to-end transmission of application data during call setup/teardown. |
V5NetworkProgressInfo | Adds DEFINITY G3V6-specific data to the NetworkProgressInfo event |
V5OriginalCallInfo | This class adds DEFINITY G3 PBX Driver Version 5 private data extensions to OriginalCallInfo. |
V7DeviceHistoryEntry | an entry that represents a connection that was formerly on a call. |
V7OriginalCallInfo | This class adds DEFINITY G3 PBX Driver Version 7 private data extensions to OriginalCallInfo. |
Exception Summary | |
TsapiInvalidArgumentException | TsapiInvalidArgumentException extends Jtapi InvalidArgumentException to add implementation specific errorType and errorCode. |
TsapiInvalidPartyException | TsapiInvalidPartyException extends Jtapi InvalidPartyException to add implementation specific errorType and errorCode. |
TsapiInvalidStateException | TsapiInvalidStateException extends Jtapi InvalidStateException to add implementation specific errorType and errorCode. |
TsapiMethodNotSupportedException | TsapiMethodNotSupportedException extends MethodNotSupportedException to add implementation specific errorType and errorCode. |
TsapiPlatformException | TsapiPlatformException extends Jtapi PlatformException to add implementation specific errorType and errorCode. |
TsapiPrivilegeViolationException | TsapiPrivilegeViolationException extends PrivilegeViolationException to add acs / csta error codes. |
TsapiProviderUnavailableException | TsapiProviderUnavailableException extends Jtapi ProviderUnavailableException to add implementation specific errorType and errorCode. |
TsapiResourceUnavailableException | TsapiResourceUnavailableException extends Jtapi ResourceUnavailableException to add implementation specific errorType and errorCode. |
This package is the Avaya implementation of JTAPI .
Avaya MultiVantage Application Enablement Services (AE Services) JTAPI, Release 3.1.0, supports the JTAPI 1.4 specification. The Avaya Implementation of JTAPI supports the JTAPI 1.4 specification with Observers only, not Listeners. The JTAPI 1.4 specification is a superset of the JTAPI 1.2 specification, and the Avaya implementation of JTAPI 1.4 includes the Observer (1.2) methods.
This section describes general information about JTAPI and then goes into greater detail about the level of support AE Services JTAPI provides for interfaces and associated methods. It includes the following topics:
NOTE: Be sure to read both the JTAPI Client Readme (packaged with the AE Services JTAPI client) and the JTAPI SDK Readme (packaged with the AE Services JTAPI SDK).
The JTAPI Client Release 3.1.0 is backward compatible with the following Servers:
JTAPI Client R 3.1.0 requires Sun Java 2 SDK, Standard Edition, JDK v1.4.2 or higher
For most applications, all that is required is a
re-compile.
There are, however, two source incompatibilities. If these are in your program, you will need to
make source changes
getRouteUsed() in RouteUsed Event (see Replace RouteUsed with LucentRouteUsed)
Change this: (JTAPI 1.2 API code) import javax.telephony.ProviderUnavailableException; catch (ProviderUnavailableException e) { System.out.println("ProviderUnavailableException: returns "+ e.getCause()); }
To this: (JTAPI 1.4 API code)
import javax.telephony.ProviderUnavailableException; catch (ProviderUnavailableException e) { System.out.println("ProviderUnavailableException: returns "+ e.getReason()); }
Change this: (JTAPI 1.2 API code)
Address ad; RouteUsed ev; ad= ev.getRouteUsed();
To this: (JTAPI 1.4 API code)
Address ad; RouteUsed ev; ad= ((LucentRouteUsed)ev).getRouteUsedAddress();
AE Services JTAPI Release 3.1.0 provides enhanced JTAPI tracing and a configurable TCP timeout that allows a timeout before moving to the next AE Services server on the server list.
AE Services JTAPI Release 3.1.0 is now
distributed as a single JAR file. There is no separate debug JAR.
The following list describes the basic steps that are common to virtually all JTAPI applications.
jtapiPeer = JtapiPeerFactory.getJtapiPeer("com.avaya.jtapi.tsapi.TsapiPeer")
String[ ] tlinks = jtapiPeer.getServices();
avaya#cstaserv#csta#aeserver is the tlink nameprovider = tsapiPeer.getProvider("avaya#cstaserv#csta#aeserver;" + "login=user1;" + "passwd=user1pass;")
where
The methods that return addresses (such as getAdresses() on Provider and getRouteableAddresses() on CallCenterProvider) will always return an address for the special string ALL_ROUTE_ADDRESS, which is defined in RouteAddress. However, an application will be able to successfully register a route for the address only if the user, on behalf of whom the application is making the request, is administered in the AE Services SDB with the Routing Services Access Group set to 'Any Device'.
If your application runs with Communication Manager Expert Agent Selection (EAS), use the addAgent method on the javax.callcenter.AgentTerminal interface to log in an EAS agent, and just let the ACDAddress field be null.
The AE Services JTAPI SDK provides the following sample JTAPI applications (or applets) to help you get started. Each application is in a separate directory under SAMPLES. Each directory contains both the source and the executable files. Examine the source files -- *.java and *.html -- for information about the JTAPI interfaces used. The following sections contain high-level descriptions of these applications, along with information about how to configure your system to run them.
Note: These sample applications assume that you are using the ecsjtapia.jar file included (which is a component of the AE Services JTAPI Client) and the Sun appletviewer included in the Java Development Kit (JDK) available from JavaSoft at Sun.
This applet demonstrates using the JTAPI Call Center package. The ACD applet does the following operations: gets the ACDAddresses known to the provider and the agents logged-in at those ACD splits. tries to log-in two agents specified as parameters in the acd.html file.
Follow these steps to run the ACD applet.
This application uses JTAPI along with some of the AE Services extensions to JTAPI to access functionality specific to Communication Manager. The CallLog application has the following purposes:
Follow these steps to run the CallLog application,
Use TSTest to make a call in order to test the installation of the JTAPI client software. TSTest can be executed as an applet or a stand-alone Java application. Follow these steps to set up the environment for TSTest.
Running TSTest as a standalone java application
To run TSTest as a standalone java application, do the following:
Running TSTest as an applet for Internet Explorer
To run TSTest as an applet for Internet Explorer, do the following:
The route applet demonstrates the use of the JTAPI Call Center package. It is a routing application that registers the VDN specified in the route.html for routing. When a call is received by the VDN, the applet requests a route destination. When the route destination is entered, the call is routed to that destination.
Running the Route applet
Follow these steps to run the Route Applet.
- SERVICENAME - Advertised name of the CTI link
- LOGIN - (authentication login)
- PASSWORD - (authentication password)
- VDN - The VDN administered for routing to CTI link
The following sections describes only the JTAPI packages that contain interfaces and methods that have either been specially implemented or are not supported.
Note: The JTAPI Phone Package and the JTAPI Phone Events Package are not supported.
The following table describes the Core Package interfaces and methods that are specially implemented.
Interface | Method | Implementation Notes |
Address | getTerminals | AE Services allows for an instance of the TSAPI Service without the TSAPI Service Security Database. The absence of the AE Services Security Database (SDB) results in the return of a NULL for address.getTerminal and terminal.getAddress because JTAPI depends on the contents of the SDB. Without the SDB, there is no listing of addresses and no information to pass. |
Connection | disconnect | For Communication Manager, the Connection/disconnect method must be called with Connection in the CONNECTED state. |
JtapiPeer | Not applicable | Obtain a JtapiPeer object using the JtapiPeerFactory class. The TsapiPeer class represents this implementation of the JtapiPeer. To obtain TsapiPeer, do:JtapiPeerFactory.getJtapiPeer(com.avaya.jtapi.tsapi.TsapiPeer) |
JtapiPeer | getServices | The JtapiPeer/getServices method returns an array of service names that can be used to build the String needed to be passed to JtapiPeer.getProvider(). These Strings are the AE Server tlink names. |
JtapiPeer | getProvider | The string provided by JtapiPeer/getProvider must contain a AE Services tlink name as well as login and password for user authentication. The format of the String must be:<tlink>;login=<loginID>;passwd=<pw> |
Terminal | getAddresses | AE Services allows for an instance of the TSAPI Service without the TSAPI Service Security Database. The absence of the AE Services Security Database (SDB) results in the return of a NULL for address.getTerminal and terminal.getAddress because JTAPI depends on the contents of the SDB. Without the SDB, there is no listing of addresses and no information to pass. |
JTAPI Call Center Package implementation details
The following table describes the Call Center Package interfaces and methods that either specially implemented or not supported.
Interface | Method | Implementation Notes |
ACDAddress | getOldestCallQueued | Method not supported. |
CDAddress | getRelativeQueueLoad | Method not supported. |
ACDAddress | getQueueWaitTime | Method not supported. |
ACDAddress | getACDManagerAddress | Method not supported. |
ACDManagerAddress | getACDAddresses | Method not supported. |
Agent | getAgentID | The AgentObject/getAgentID method returns a null string for Avaya Communication Manager. |
AgentTerminalObserver | No methods defined. | The AgentTerminalObserver only supports the AgentTermLoggedOnEv and AgentTermLoggedOffEv when the state change is produced through the JTAPI application. In order to monitor agent activity (e.g., agents logging on and off manually), an ACDAddressObserver should be added to the ACDAddress. |
CallCenterCall | connectPredictive | The
CallCenterCall/connectPredictive method is supported for Communication
Manager, but he answeringEndpointType parameter is not supported. The
maxRings and answeringTreatment parameters are supported. If the Call
is observed and the ACDAddress or AgentTerminal is also call observed, then
two unique Call objects will be created that are associated with the same
real call. Other methods must be used to determine that there are two Call
objects representing the same real call:
In any case, both Call objects and all Connections and TerminalConnections in both Calls are valid. Valid requests may be made of any of the objects. |
CallCenterCall | getApplication data | Method not supported. |
CallCenterCall | setApplication data | Method not supported. |
RouteAddress | registerRouteCallback | The RouteAddress/registerRouteCallback method is supported. Only one RouteCallback may be registered for an Address at a time. |
RouteSession | selectRoute | The RouteSession/selectRoute method is supported. Only the first route specified in the routeSelected parameter is used. The subsequent routes are ignored. |
The following table describes the Call Center Events package interfaces and methods that are either specially implemented or not supported.
Interfaces |
Implementation notes |
ACDAddrNotReadyEv |
These events are not supported. They will be generated by the implementation and sent to the application when an explicit state change is requested by the application. |
ACDAddrReadyEv |
|
ACDAddrWorkNotReadyEv |
|
ACDAddrWorkReadyEv |
|
AgentTermBusyEv |
|
AgentTermEv |
|
AgentTermNotReadyEv |
|
AgentTermReadyEv |
|
AgentTermWorkNotReadyEv |
|
AgentTermWorkReadyEv |
|
CallCentCallAppDataEv |
The following table describes the Call Control Package interfaces and methods that are either specially implemented or not supported.
Interface |
Method | Implementation notes |
CallControlAddress |
setForwarding | Avaya supports the FORWARD_UNCONDITIONALLY forwarding type only when used in combination with the ALL_CALLS filter type. |
CallControlAddress | getDoNotDisturb | The following
methods are paired synonyms:
For these methods, there is no distinction between an Address and a Terminal. CallControlAddress.getDoNotDisturb() and CallControlTerminal.getDoNotDisturb() always return equivalent values. |
CallControlAddress | setDoNotDisturb | The following
methods are paired synonyms:
For these methods, there is no distinction between an Address and a Terminal. CallControlAddress.getDoNotDisturb() and CallControlTerminal.getDoNotDisturb() always return equivalent values.
|
CallControlCall |
offHook | Method not supported. |
CallControlCall | transfer(String address) | Method not supported. |
CallControlCall | consult(TerminalConnection termconn) | Method not supported. |
CallControlConnection |
accept | Method not supported. |
CallControlConnection | reject | Method not supported. |
CallControlConnection | addToAddress | Method not supported. |
CallControlConnection | park | Method not supported. |
CallControlTerminal |
getDoNotDisturb | The following
methods are paired synonyms:
For these methods, there is no distinction between an Address and a Terminal. CallControlAddress.getDoNotDisturb() and CallControlTerminal.getDoNotDisturb() always return equivalent values. |
CallControlTerminal | setDoNotDisturb | The following
methods are paired synonyms:
For these methods, there is no distinction between an Address and a Terminal. CallControlAddress.getDoNotDisturb() and CallControlTerminal.getDoNotDisturb() always return equivalent values. |
CallControlTerminal | pickupFromGroup (String pickupGroup, Address terminalAddress) | Method not supported. |
CallControlTerminalConnection |
join | Method not supported. |
CallControlTerminalConnection | leave | Method not supported. |
The following table describes the Call Control Events Package interfaces and methods that are specially implemented.
Interface |
Method | Implementation notes |
CallCtlAddrDoNotDisturbEv |
getDoNotDisturbState | The CallCtrlAddrDoNotDisturbEv event is sent even if DoNotDisturb was changed using CallControlTerminal.setDoNotDisturb(). For DoNotDisturb, there is no distinction between an Address and a Terminal. |
CallCtlConnDialingEv | Not applicable | Interface not supported. |
CallCtlConnOfferedEv | Not applicable | Interface not supported. |
CallCtlTermConnInUseEv | Not applicable | Interface not supported. |
The following table describes the Media Package methods that are not supported.
Interface |
Methods | Implementation notes |
MediaTerminalConnection |
getMediaAvailability | Method not supported. |
MediaTerminalConnection | getMediaState | Method not supported. |
MediaTerminalConnection | useDefaultSpeaker | Method not supported. |
MediaTerminalConnection | useRecordURL | Method not supported. |
MediaTerminalConnection | useDefaultMicrophone | Method not supported. |
MediaTerminalConnection | usePlayURL | Method not supported. |
MediaTerminalConnection | startPlaying | Method not supported. |
MediaTerminalConnection | stopPlaying | Method not supported. |
MediaTerminalConnection | startRecording | Method not supported. |
MediaTerminalConnection | stopRecording | Method not supported. |
MediaTerminalConnection | setDtmfDetection | Method not supported. |
MediaTerminalConnection | generateDtmf | Method not supported. |
Interface |
Implementation notes |
MediaTermConnAvailableEv |
Not supported |
MediaTermConnDtmfEv |
Although the MediaTermConnDtmfEv interface has been defined as a TerminalConnection event, the TerminalConnection field will be null. The Call field will be filled in with the call to which the DTMF digits have been applied.This event is sent only when a DTMF detector is attached to the call and DTMF tones are detected. The tone detector is disconnected when the far end answers or "#" is detected. This event is used in conjunction with the Communication Manager-specific extension LucentRouteSession/selectRouteAndCollect. |
MediaTermConnStateEv |
Not supported. |
MediaTermConnUnavailableEv |
Not supported. |
JTAPI Private Data Package implementation details
The following table describes the JTAPI Private Data package interfaces and methods that are specially implemented.
Interface |
Method | Implementation notes |
PrivateData |
setPrivateData | For this method, the private data Object parameter must be an instance of TsapiPrivate. |
PrivateData | sendPrivateData | For this method, the private data Object parameter must be an instance of TsapiPrivate. |
This information is optional, and it applies to non-standard additions to JTAPI. This package is available only from the Avaya AE Services implementation of JTAPI and is not available from any other implementation of JTAPI. It contains the AE Services extensions to JTAPI that can be used to program applications for any switch that conforms to the CSTA Specification and works in an AE Server environment.
What are the Extensions? There are two types of extensions: extensions to JTAPI exceptions and extensions to JTAPI Provider events. Extensions to JTAPI Exceptions AE Services extensions to the JTAPI exceptions provide more detailed error information than is defined in JTAPI. These extensions consist of the CSTA and ACS error codes provided by TSAPI. For information about Computer-Supported Telecommunications Applications (CSTA) and API Control Services (ACS) error codes, refer to Avaya MultiVantage Application Enablement Services TSAPI Programmer's Reference, 02-300545 Extensions to JTAPI Provider Events AE Services defines additional JTAPI Provider events. These events provide more detailed Provider state changes. These TSAPI Provider states map to JTAPI Provider states as follows:TSAPI Provider State | JTAPI Provider State |
ITsapiProvider.TSAPI_OUT_OF_SERVICE | Provider.OUT_OF_SERVICE |
ITsapiProvider.TSAPI_INITIALIZING | Provider.OUT_OF_SERVICE |
ITsapiProvider.TSAPI_IN_SERVICE | Provider.IN_SERVICE |
ITsapiProvider.TSAPI_SHUTDOWN | Provider.SHUTDOWN |
This section describes non-standard additions to JTAPI. This package is available only from the Avaya implementation of JTAPI and is not available from any other implementation of JTAPI.
This information is optional. It is an intermediate private data package that allows programmers to access private data through Java interfaces rather than through raw private data bytes. It contains the Communication Manager specific feature extensions that support the AE Services implementation of JTAPI intended for applications that operate solely with the Communication Manager software and the AE Services TSAPI Service.
Who should be using these extensions?This section is intended for application programmers with a knowledge of both the Java programming language and JTAPI.
This table summarizes the the Communication Manager features that are available as an extensions to JTAPI.
Feature Name and Description | Class or Interface | Returned/Used by Methods in Class or Interface |
Advice of Charge - Reports network charges incurred by outgoing trunk calls (supported by G3V5) | LucentChargeAdviceEvent | LucentV5Provider |
Agent Work
Mode - Specifies the overriding mode of the
Agent; affects the cycle of the possibly occurring Agents states. G3V5 adds support for: reason code. G3V6 adds support for Pending Work Modes. A JTAPI Application may request to change an Agent's state to Agent.WORK_NOT_READY and Agent.NOT.READY, and to have the state change be held "pending" until all current calls active on the Agent's Agent Terminal are completed. |
Not applicable | LucentAgent
LucentAgentStateInfo LucentTerminal LucentV5Terminal LucentV5TerminalEx LucentV5AgentStateInfo LucentV6Agent LucentV6AgentStateInfo |
Call Classifier Information - Provides information on call classifier port usage Provides information on call classifier port usage | CallClassifierInfo | LucentProvider |
Collect Digits - Allows a route request to wait for a specified number of digits to be collected | Not applicable | LucentRouteSession |
Dial-Ahead Digits - Allows a route request to place digits in a dial-ahead buffer Allows a route request to place digits in a dial-ahead buffer | Not applicable | LucentRouteSession |
Direct Agent Calls - Allows calls to be made to and from specific logged-in ACD Agents Allows calls to be made to and from specific logged-in ACD Agents | Not applicable | LucentCall LucentRouteSession |
Dropping Resources - Allows specific switch resources to be dropped from the call Allows specific switch resources to be dropped from the call | Not applicable | LucentConnection LucentTerminalConnection |
Flexible Billing - Allows changing the billing rate for incoming 900-type calls (supported by G3V5) | Not applicable | LucentV5Call |
Flexible Generation of DTMF Tones - Enables an application to specify tone duration and inter-tone delay duration. | Not applicable | LucentV5TerminalConnectionEx |
Integrated Directory Name - Allows the G3 Integrated Directory Database name to be returned | Not applicable | LucentAddress LucentTerminal |
Look-Ahead Interflow Information - Can be used by a routing server application to determine the proper destination of a call May be used by a routing server application to determine the proper destination of a call | LookaheadInfo | LucentCallInfo LucentCallInfo |
Lucent
Call Information - Provides
Avaya ECS -specific call information on Call and
CallControlCall events; information includes delivering ACD, distributing Address,
originating Trunk, reason for last Call event, and other information. G3V5 adds support for: Universal Call ID, Originator Type, and Flex Billing Flag. Provides Avaya ECS -specific call information on Call and CallControlCall events; information includes delivering ACD, distributing Address, originating Trunk, reason for last Call event, and other information. |
LucentCallInfo LucentV5CallInfo LucentCallInfo LucentV5CallInfo |
Implemented by Lucent call objects, route session objects, and CallControlCall events.LucentCallInfo (extended by LucentCall; extended by LucentV5CallInfo; extended by CallControlCall events) |
Message Waiting Application Information - Indicates which types of applications have enabled message waiting | Not applicable | LucentAddress LucentAddressMsgWaitingEvent |
Network Progress
Information - Contains supplementary call
progress information from the ISDN Progress Indicator Information Element.
G3V5 adds support for: trunk. |
NetworkProgressInfo V5NetworkProgressInfo |
LucentConnNetworkReachedEvent |
Original Call Information
- Contains information about the original call in
conjunction with the Call.consult() service. G3V5 adds support for: Universal Call ID, Originator Type, and Flex Billing Flag. |
OriginalCallInfo V5OriginalCallInfo |
LucentCallInfo LucentV5CallInfo |
Priority Calls - Enables priority calling Enables priority calling. | Not applicable | LucentCall LucentRouteSession |
Selective Listen - Allows control of listen paths between parties on a conference call (supported by G3V5). | Not applicable | LucentV5TerminalConnection |
Single Step Conference - Adds another party to a call (added party does not alert; used mainly for service observing) (supported by G3V5). | Not applicable | LucentV5Call |
Supervisor Assist Calls - Allows logged-in ACD Agents to place calls to a supervisors extension. | Not applicable | LucentCall |
Switch Date and Time Information - Returns the current date and time from Communication Manager. | Not applicable | LucentProvider |
Trunk Group Information
- Provides information on trunk group usage.
Trunk associates group and member information with a connection. If a connection is associated with a trunk party, then the application can get trunk group number and trunk group member information. |
TrunkGroupInfo | LucentProvider
LucentV6 Connection LucentTrunk ITsapiTrunk |
Universal Call ID - A call identifier that is globally unique across switches and the public network (supported by G3V5). | Not applicable | LucentV5CallInfo (extended by LucentV5Call) |
User Entered Code - The code/digits that may have been entered by the caller through the G3 Call Prompting feature of the Collected Digits feature. | UserEnteredCode | LucentCallInfo OriginalCallInfo |
User-to-User Information - An ISDN feature that allows end-to-end transmission of application data during call setup/teardown. UUI can be specified, and will be made available, accommodating string values up to 96 characters long. | UserToUserInfo | LucentCall LucentCallInfo LucentConnection LucentRouteSession LucentTerminalConnection LucentCallInfo |
Network Call
Redirection - The Adjunct Route support for Network Call
Redirection capability allows an adjunct to request that an incoming trunk
call be rerouted using the Network Call Redirection feature supported by
the serving PSTN instead of having the call routed via a tandem trunk
configuration.
The LucentV7RouteSession interface extends LucentRouteSession to add the ability to use the Network Call Redirection feature of call routing on Avaya switches. When a Provider is bound to a ECS switch, this interface may be used to access this additional capability.The route session object which implements this interface also implements the ECSCallInfo interface. |
Not applicable | LucentV7CallInfo
LucentV7RouteSession
|
ISDN Redirecting
Number (Redirecting Number Information Element presented through
DeviceHistory) - The .ISDN
Redirecting Number for ASAI Events. Communication Manager feature will be
used by CTI applications to provide enhanced treatment of incoming ISDN
calls routed over an Integrated Services Digital Network (ISDN) facility.
Device History Entry - The V7DeviceHistoryEntry is an entry that represents a connection that was formerly on a call. This provides equivalent content to the Avaya TSAPI service implementation of CSTA3 DeviceHistory parameter (see ECMA-269 Edition 5, "12.2.13 DeviceHistory"). Note that private interfaces are defined to enable an application to use the TSAPI information (specifically the ConnectionID). |
V7DeviceHistory
V7OriginalCallInfo |
LucentV7CallInfo
LucentV7RouteSession
|
Query Device Name - The private Query DeviceName service allows an application to query the switch to identify the Integrated Directory name assigned to an extension. With this version of private data, when a name has been assigned to an Attendant station extension, then an application can use the getDirectoryName method of the LucentAddress interface to get the configured Integrated Directory name assigned to that attendant extension. | Not applicable | LucentAddress |
Enhanced Get API
Capabilities function -
The GetAPICaps function is enhanced to return
the following information.
|
Not applicable |
LucentV7Provider |
Increased Aux Reason Codes - AE Services supports the full range of Aux reason codes (values 0-99) that Communication Manager provides. | Not applicable | LucentV7Agent |
Expanded universal failure error codes - The list of universal failure codes that can be returned in CSTA UniversalFailure unsolicited events and confirmation events. This is useful, for example, for JTAPI exceptions thrown by the Avaya implementation which returns these values. | Not applicable | ITsapiCSTAUniversalFailure |
User-to-user information used specifically for a Q.931/I.451 User-Network Call Control Message - This form of UUI can be used to send commands out to an ISDN network, and subsequently to an SS7 network if an ISDN/SS7 gateway is used. An object of this type is initialized with a byte array value (see constructor) and its value may be retrieved as a byte array (see UserToUserInfo).This information, when available, is obtained via the LucentCallInfo.getUserToUserInfo() method. An instance so acquired may be classified using 'instanceof'. | Q931UserToUserInfo | LucentCall LucentCallInfo LucentConnection LucentRouteSession LucentTerminalConnection LucentCallInfo |
Connection ID - The LucentConnectionID is used to access the contents of a TSAPI ConnectionID as defined by Avaya's TSAPI service implementation. | Not applicable | LucentConnectionID |
Added Cause Values - The LucentEventCause gives the list of event cause values returned in a number of contexts by the underlying Avaya TSAPI service. Note that 'EC_NONE' through 'EC_VOICE_UNIT_INITIATOR' values are taken from of the ECMA-179 'CSTA 1 Services' specification, and the subsequent cause value extensions, added specifically to expose additional capability, adopted names and values outlined in the CSTA3 service specification (ECMA-269, 'CSTA 3 Services'). | Not applicable | LucentEventCause |
Private interface to RouteUsedEvent returns an Address - This private interface to the RouteUsedEvent helps pre-Avaya JTAPI 3.1 applications which use the JTAPI 1.2 RouteUsedEvent.getRouteUsed() method to be adapted to conform to to the JTAPI 1.4 specification with a one-line code change. The problem is that the JTAPI 1.4 getRouteUsed method no longer returns an Address; instead it now returns a Terminal. In many scenarios this is a problem because no Terminal may be used to represent an off-switch party, so for those 'routes' this will return 'null'. An Address may be returned for off-switch parties. To solve this problem caused by the new return value, this private interface includes a new method that returns what the JTAPI 1.2 method used to use (an Address), so that it can be used as a replacement API call. | Not applicable | LucentRouteUsedEvent |
Access to expanded range of reason codes - This interface extends the LucentV6Agent interface with features specific to DEFINITY G3 PBX Driver Version 7 private data. When a Provider is bound to a DEFINITY switch which supports V7 private data, this interface may be used to access additional capabilities. This interface specifically provides access to the ability to set a broader range of reason codes for the setState() method. Specifically: it is an application-defined reasonCode (1-99) which may be specified when the state is set to Agent.NOT_READY or Agent.LOG_OUT. A zero (0) value is also allowed, meaning "no reason". | Not applicable | LucentV7Agent |
Access to additional call capabilities - The LucentV7Call interface extends LucentV5Call with additional Avaya features exposed through the LucentV7CallInfo interface. When a Provider is bound to a Avaya CM switch with PBX Driver Version 7 private data, that interface may be used to access additional Call capabilities. | Not applicable | LucentV7Call |
Access to call information from DEFINITY with version 7 private data - The LucentV7CallInfo interface provides access to call information from ECS DEFINITY switches with PBX Driver Version 7 private data. These methods are implemented on the call object, the route session object, and on certain call control call events. For example, if a CallControlCallObserver receives a CallCtlConnAlertingEv, it may be cast to LucentV7CallInfo to use the getDeviceHistory() method. These methods may return null if the requested data is not available. | Not applicable | LucentV7CallInfo |
Expanded queries for Avaya Communication Manager - Adds queries which give information about the underlying Avaya switching platform. Introduced with TSAPI service PBX Driver Private Data Version 7, with TSAPI service on Application Enablement Services Server 3.1. | Not applicable | LucentV7Provider |
This section describes nonstandard additions to JTAPI. This package is available only from the Avaya implementation of JTAPI and is not available from any other implementation of JTAPI.
The private data extensions to JTAPI allow application programmers to interpret or use private data when their applications are supplied with private data in its raw form (i.e., without an intermediate private data package.)
The remainder of this section provides guidelines for using or interpreting private data when it is supplied in its raw form.
Some Avaya private interface methods expose raw TSAPI constructs. The ITsapiProviderPrivate interface defines methods that allow raw TSAPI constructs to be converted into their JTAPI equivalents. The following table lists the raw TSAPI constructs that may be converted into their JTAPI equivalents. It lists the TSAPI constructs, the Java version (the Java class) of the TSAPI constructs, the JTAPI objects to which they are converted, and the method to be used for the conversion.
TSAPI Construct | Java Class | JTAPI Object |
Conversion Method in TsapiProviderPrivate |
ExtendedDeviceID_t | ExtendedDeviceID | Address | getAddress() |
ExtendedDeviceID_t | ExtendedDeviceID | Terminal | getTerminal() |
ConnectionID_t | ConnectionID | Connection | getConnection() |
ConnectionID_t | ConnectionID | TerminalConnection | getTerminalConnection() |
callID (field in a ConnectionID_t) | int | Call | getCall() |
TSAPI constructs such as DeviceID may be converted to JTAPI objects via standard JTAPI methods such as Provider.getAddress(String) and Provider.getTerminal(String).
Many TSAPI requests have corresponding JTAPI interfaces and methods, as listed in TSAPI Requests with Associated JTAPI Interfaces and Methods. See TSAPI Requests without Associated JTAPI Mapping for the TSAPI requests that do not have corresponding JTAPI interfaces and methods. Therefore, there is no access to the private data for these TSAPI requests.
Mapping of Possible JTAPI Events to TSAPI Events lists TSAPI events and corresponding JTAPI events that might be in the event array in which the PrivateEvent is delivered.
TSAPI Requests | JTAPI Interfaces | JTAPI Methods |
cstaMakeCall | Call | connect |
cstaClearConnection | Connection | disconnect |
acsEnumServerNames | JtapiPeer | getServices |
acsOpenStream | JtapiPeer | getProvider |
acsCloseStream | Provider | shutdown |
cstaAnswerCall | TerminalConnection | answer |
cstaSetAgentState | AgentTerminal
Agent |
addAgent
setState |
cstaQueryAgentState | Agent | getState |
cstaMakePredictiveCall | CallCenterCall | connectPredictive |
cstaRouteRegisterReq | RouteAddress | registerRouteCallback |
cstaRouteRegisterCancel | RouteAddress | cancelRouteCallback |
cstaRouteSelectInv | RouteSession | selectRoute |
cstaRouteEndInv | RouteSession | endRoute |
cstaSetForwarding | CallControlAddress | setForwarding
cancelForwarding |
cstaQueryForwarding | CallControlAddress | getForwarding |
cstaQueryDoNotDisturb | CallControlAddress | getDoNotDisturb |
cstaSetDoNotDisturb | CallControlAddress | setDoNotDisturb |
cstaQueryMsgWaitingInd | CallControlAddress | getMessageWaiting |
cstaSetMsgWaitingInd | CallControlAddress | setMessageWaiting |
cstaClearCall | CallControlCall | drop |
cstaConferenceCall | CallControlCall | conference |
cstaTransferCall | CallControlCall | transfer |
cstaConsultationCall | CallControlCall | consult |
cstaDeflectCall | CallControlConnection | redirect |
cstaQueryDoNotDisturb | CallControlTerminal | getDoNotDisturb |
cstaSetDnd | CallControlTerminal | setDoNotDisturb |
cstaPickupCall | CallControlTerminal | pickup |
cstaGroupPickupCall | CallControlTerminal | pickupFromGroup |
cstaHoldCall | CallControlTerminalConnection | hold |
cstaRetrieveCall | CallControlTerminalConnection | unhold |
cstaSendPrivateEvent | Private Data | sendPrivateData |
TSAPI Requests that do not have corresponding JTAPI interfaces and methods | |
Call Control Services | cstaAlternateCall, cstaCallCompletion, cstaReconnectCall |
Supplementary Services | cstaQueryLastNumber, cstaQueryDeviceInfo |
Monitor Services | cstaChangeMonitorFilter, FeatureEventReport, CSTACallInfoEvent |
Escape Services | cstaEscapeServiceConf, CSTA_ESCAPE_SVC_REQ |
Maintenance Services | cstaSysStatReq, cstaSysStatStart, cstaSysStatStop, cstaChangeSysStatFilter, cstaSysStatReqConf, cstaSysStatEvent |
TSAPI Events |
Possible JTAPI Event in Array with Private Event |
CSTACallClearedEvent | CallInvalidEv |
CSTAMonitorEndedEvent | CallObservationEndedEv |
CSTADeliveredEvent | ConnAlertingEv |
CSTAEstablishedEvent | ConnConnectedEv |
CSTAConnectionClearedEvent | ConnDisconnectedEv |
CSTAFailedEvent | ConnFailedEv |
CSTADoNotDisturbEvent | CallCtlAddrDoNotDisturbEv |
CSTAForwardingEvent | CallCtlAddrForwardEv |
CSTAMessageWaitingEvent | CallCtlAddrMessageWaitingEv |
CSTAServiceInitiatedEvent | CallCtlConnInitiatedEv |
CSTANetworkReachedEvent | CallCtlConnNetworkReachedEv |
CSTAQueuedEvent | CallCtlConnQueuedEv |
CSTALoggedOffEvent | ACDAddrLoggedOffEv
AgentTermLoggedOffEv |
CSTALoggedOnEvent | ACDAddrLoggedOnEv
AgentTermLoggedOnEv |
CSTANotReadyEvent | ACDAddrNotReadyEv
AgentTermNotReadyEv |
CSTAReadyEvent | ACDAddrReadyEv
AgentTermReadyEv |
CSTAWorkNotReadyEvent | ACDAddrWorkNotReadyEv
AgentTermWorkNotReadyEv |
CSTAWorkReadyEvent | ACDAddrWorkReadyEv
AgentTermWorkReadyEv |
CSTARouteRequestExtEvent | RouteEvent |
CSTAReRouteRequestEvent | ReRouteEvent |
CSTARouteUsedExtEvent | RouteUsedEvent |
CSTARouteEndEvent | RouteEndEvent |
CSTARouteRegisterAbortEvent | RouteCallbackEndedEvent |
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |