JSRs: Java Specification Requests
JSR 43: JTAPI 1.4 Specification
Section 1: Identification
Primary Contacts at ECTF:
Companies endorsing this JSR:
ECTF / JCP Process AlignmentThe 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:
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:
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.
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:
The optional extension packages are:
Possible platform dependencies
JTAPI 2.0 will require a JDK 1.1 or later release to support event listeners.
None. JTAPI will not incorporate security features.
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.
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.
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.