Find JSRs
Submit this Search

Ad Banner

Summary  |  Proposal  |  Detail (Summary & Proposal)
JSRs: Java Specification Requests
JSR 43: JTAPI 1.4 Specification

Stage Access Start Finish
Final Release Download page 29 Jul, 2002  
First Release Download page 17 Aug, 2001  
Public Review Download page 18 Jun, 2001 18 Jul, 2001
Participant Review Login page 26 Apr, 2001 28 May, 2001
CAFE   30 Nov, 1999 11 Jan, 2000
JSR Approval   23 Nov, 1999 29 Nov, 1999
Status: Final
JCP version in use: 1.0
Java Specification Participation Agreement version in use: 1.0

JTAPI 1.4 extends and enhances the current Java Telephony specification.

Please direct comments on this JSR to the Spec Lead(s)

Specification Leads
  Jeff Peck Dialogic
  Richard J. Pennenga Avaya
Expert Group
  8x8 Avaya Burcher, Greg
  Dialogic IBM Motorola
  Nortel Oracle Sun Microsystems, Inc.
  Telcordia Technologies, Inc.

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1: Identification

Submitting Participant:

Enterprise Computer Telephony Forum (ECTF) (

Primary Contacts at ECTF:

Companies endorsing this JSR:

ECTF / JCP Process Alignment

The ECTF proposes to develop the JTAPI 2.0 specification using defined ECTF specification development processes (contact the ECTF for a copy of their process rules). We welcome comments on this matter.

ECTF processes will align with the Java Community Process (JCP) as follows:

  • ECTF has signed a JSPA as a non-commericial organization and is therefore a Participant in the JCP.
  • The ECTF TGPAPI Convener will take on the role of Specification Lead for the JTAPI 2.0 specification should this JSR be approved for development.
  • All other JCP Participants are eligible to nominate themselves to work on the JTAPI 2.0 specification within the context of the ECTF. Nominations will be carried out through the CAFE associated with this JSR. Participants who respond to the CAFE who are selected by the ECTF to join in the specification work will be identified as "Content Experts" within the ECTF process.
  • When the draft JTAPI 2.0 specification is completed by the ECTF, it will be put forward for a combined Participant/Public review that will last at least 30 days as per the Java Community Process guidelines. The draft will be circulated to the Participants in the Java Community Process and will be made available for download and review by the public from the JCP web site.
  • The completed specification will be made available for download from a Sun public web site in the same way that all of Java technology specifications are made available to the public by Sun.
  • The ECTF requests a variance for the JTAPI 2.0 specification to not include the Reference Implementation (RI) or Compatibility Tests Suites (CTS). Justification: the JTAPI specification is targeted at many different types and categories of telephony platforms including mobile phones, PBXes, IVR (interactive voice response systems), computer telephony servers, ACD (automatic call distributors), and call centers. These platform types have widely differing capabilities that require them to implement one or more optional sets of JTAPI packages and/or methods within a package in order to achieve the functionality desired by the industry. Many RIs and CTS, each customized to each telephony platform category, would need to be written to adequately cover all the target platform types. A comprehensive RI and CTS that covers and tests all combinations of optional JTAPI functionality would be exceedingly difficult to achieve in practice and be of questionable usefulness to implementers.

Section 2: Request

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 successfully addressing many of the needs of the telephony application development community. As the community used JTAPI, they identified additional needs including support for IP telephony and intelligent networks. JTAPI also needs to be brought up to date with the latest in Java technology, particularly the listener event model.

Specification to be developed

JTAPI 2.0 is a major enhancement of the current JTAPI specification. It will:

  • Bring JTAPI up to date with current Java technology, particularly the listener event model.
  • Add support for IP telephony and Intelligent networks
  • Enhance existing telephony media stream capabilities
  • Add support for multimedia calls
  • Add new supplemental service methods to strengthen call control, call center and mobile packages

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

Underlying technologies.

JTAPI 2.0 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:

  • javax.telephony

The optional extension packages are:

  • javax.telephony.callcenter
  • javax.telephony.callcontrol
  • javax.telephony.privatedata
  • javax.telephony.ip (under consideration, internet telephony)
  • (under consideration, intelligent network)

Possible platform dependencies

JTAPI 2.0 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.


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 2.0 is building on what exists.

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

This version of JTAPI will rendered JTAPI 1.3 obsolete.

Existing specifications that might need revisions as a result of this work.


Section 3: Contributions

Detailed list of existing documents, specifications, or implementations that describe the technology.

  • An Introduction to JTAPI (Java Telephony API) Release 1.2 Rev. 0.7
  • JTAPI White Papers (v1.2)
  • Main Overview & Core Package
  • Call Control Package Overview
  • Call Center Package Overview
  • Media Package Overview
  • Phone Package Overview

Explanation of how these items might be used as a starting point for the work.

The documents describe what JTAPI is and how it is used.