JSR-043: JTAPI-1.4

Java Telephony API (JTAPI) Specification
Version 1.4
(Final Release)

See:
          Description

Packages
javax.telephony The Java Telephony API (JTAPI) is a portable, object-oriented application programming interface for Java-based computer-telephony applications.
javax.telephony.callcenter The JTAPI Call Center package extends the core JTAPI package with additional interfaces supporting call routing, automatic call distribution, predictive dialing and application data.
javax.telephony.callcenter.capabilities The JTAPI Call Center Capabilities package provides the interfaces for applications to query which features are included in the current JTAPI implementation and are available.
javax.telephony.callcenter.events The JTAPI Call Center Events package defines the call center specific event transitions.
javax.telephony.callcontrol The JTAPI advanced Call Control package provides more detailed information about the core call model and supplies an extended set of states for the Connection and TerminalConnection objects.
javax.telephony.callcontrol.capabilities The JTAPI Call Control Capabilities package provides the interfaces that inform the an application about which features were included in the current JTAPI implementation and which features are currently valid throughout a call transaction.
javax.telephony.callcontrol.events The JTAPI Call Control Events package defines the specific Call Control state transition events.
javax.telephony.capabilities The JTAPI Core Capabilities package provides an interface to query the current JTAPI implementation to see which features are currently accessible.
javax.telephony.events The JTAPI Core Events package defines the core call model state transistions in setting up and monitoring call progress.
javax.telephony.media The JTAPI Media package defines the MediaService and Resource APIs for utilizing the media streams of calls.
javax.telephony.media.async Defines asynchronous methods, events and Listeners for the media package.
javax.telephony.media.capabilities The [deprecated] JTAPI Media Capabilities package provides an interface to query a JTAPI 1.2 MediaTerminalConnection implementation about which features are implemented and available for use in media applications.
javax.telephony.media.connection Defines the MediaConnection interface which is used to control the connection of media streams between MediaService objects.
javax.telephony.media.connection.async Asynchronous methods, events and Listeners for MediaConnection package.
javax.telephony.media.container Defines the Media ContainerService and Media DataObject interfaces for the media package.
javax.telephony.media.container.async Asynchronous methods, events and Listeners for the Container interfaces.
javax.telephony.media.events The [deprecated] JTAPI Media Events package defines the media events for the [deprecated] JTAPI-1.2 media interface.
javax.telephony.media.messaging Defines the means to communicate to and exchange information with other media application services.
javax.telephony.media.provider A reference implementation, MediaPeer and MediaProvider developer's toolkit and interoperability framework for the media package.
javax.telephony.mobile The JTAPI Mobile package extends the core capabilities of a JTAPI implementation with capabilities specific to mobile networks.
javax.telephony.phone The JTAPI Phone package provides objects that model the physical characteristics of the terminal, such as, speakerphone,microphone, display, buttons, ringer, handset, and lamp.
javax.telephony.phone.capabilities The JTAPI Phone Capabilities package defines the optional features that may be present as part of the JTAPI implementation.
javax.telephony.phone.events The JTAPI Phone Events package defines the specific event transitions associtaed with the physical terminal characteristics.
javax.telephony.privatedata The JTAPI Private Data package provides an extension mechanism for vendor specific telephony objects.
javax.telephony.privatedata.capabilities The JTAPI Private Data Capabilities package provides the extension mechanism for vendor specific private data.
javax.telephony.privatedata.events The JTAPI Private Data Events package defines the vendor specific private data event transitions.

 

Overview of the Java Telephony API: JTAPI Version-1.4

The Core and Call Control aspects of JTAPI are documented in the JTAPI core Overview. This API is suitable for applications doing detailed call control, monitoring/routing calls in a PBX (or other switching system), managing a call center, controlling a phone terminal, and other activities concerned with call states and signalling.

The Media package of JTAPI is documented in the JTAPI Media Overview. JTAPI Media is suitable for applications doing content processing, independent of the call setup, signalling and routing. For example, this API is designed to simplify applications that implement interactive voice response (IVR) systems, auto-attendant or robotic agents (versus live operators), voice mail, speech recognition, text-to-speech, fax, integrated messaging, etc.

Overview of JSR #043: the Java Telephony API; JTAPI version 1.4

Target Java Platform

J2EETM, J2SETM, and J2METM platforms.

JTAPI makes it possible to add telephony functionality to Java enabled equipment, from web phones and smart mobile phones to network call center and computer-telephony server equipment.

Needs of Java Community Addressed

JTAPI brings telephony functionality to Java. It allows applications to run on a variety of telephony operating systems and hardware platforms that are deployed in a variety of telephony networks.

JTAPI is intended to be a simple API as well. JTAPI still requires application developers to be knowledgeable about telephony, but reduces the amount of implementation-specific knowledge required to develop applications.

The range of "targets" for JTAPI ranges from the largest call centers, to desktop systems, to network computers, to network telephones to wireless smart phones.

JTAPI has provisions for both first-party and third-party call control plus media stream control.

JTAPI isn't just another telephony API - although JTAPI can be implemented without existing telephony APIs, it was also designed to allow implementers to build on top of existing telephony APIs (e.g. TAPI, TSAPI).

Why this need is not already addressed

JTAPI 1.x is already succesfully addressing many of the needs of the telephony application development community. JTAPI 1.3, in particular, was defined to meet the needs of mobile telephony, and to start the process of bringing JTAPI into conformance with the Sun JDK 1.1 event delivery model (the Listener pattern).

For two large domains - call center applications & softphone applications - the work started in JTAPI 1.3 remains incomplete. Such applications require the extension packages callcontrol, callcenter and phone; work on these was deferred for a subsequent release.

The JTAPI 1.3 media package established the paradigm and patterns for call management and resource operations. However, there are other resources and media services that need to be defined in the Java domain.

Specification to be developed

JTAPI 1.4 extends and enhances the current JTAPI specification. It will:

JTAPI 1.4 will leverage the core-plus-extension architecture and draw on the experience of its existing application base to establish a mature, robust specification for use in commercial telephony platform implementations and for development of portable telephony applications.

Underlying technologies.

JTAPI 1.4 will build upon the previous JTAPI 1.2 and 1.3 releases.

Proposed package names

The package names and naming conventions will remain the same as for JTAPI 1.3.

The the core JTAPI interfaces and classes are contain in the package:

The optional extension packages are:

Possible platform dependencies

JTAPI 1.4 will require a JDK 1.1 or later release to support event listeners.

Security implications

None. JTAPI will not incorporate security features.

Internationalization implications.

The JTAPI does not deal with the display of information.  It provides mechanisms for accessing the services of its host telephony platform: making calls, transferring calls, answering calls, and handling of telephony media streams.

These APIs rely on Java's built-in capability to manipulate locale-independent data, such as strings using Unicode multi-byte character set, and will hence allow the development of fully internationalized JTAPI-based applications.

Localization implications.

None.

Risk assessment

JTAPI is not a required part of an existing Java platform. Therefore it does not jeopardize existing platforms and extensions or any other Java standardization project.

Risk on the deliverable specifications are minimal since the technology already proven in  JTAPI 1.x and JTAPI 1.4 is building on what exists.

Existing specifications that might be rendered obsolete or deprecated by this work.

This version of JTAPI renders JTAPI 1.3 obsolete.


JSR-043: JTAPI-1.4

Send comments to: JSR-43@ectf.org