JTAPI
Kevin Curran, Computer Lecturer - Magee College

JTAPI

JTAPI is the JavaTM API for telephony call control. It is an extensible API designed to scale for use in a range of domains from first party call control in a consumer device to third party call control in large distributed call centers. 

JTAPI 1.3 is the latest release of the specification and was endorsed by the Enterprise Computer Telephony Forum on July 23, 1999. Please visit the (ECTF home page) for details on this endorsement.

This page is designed to provide a brief technical overview of JTAPI, a summary of changes from the JTAPI 1.2 release, a short history of JTAPI, and the JTAPI definition.   The complete JTAPI specifications are located at:

Overview

JTAPI is the set of classes, interfaces, and principles of operation that constitute a JavaTM extension package in the javax.* name space. JTAPI implementations are the interface between Java TM computer telephony applications and telephony services, whether those services are implemented as software, as in the case of a soft PBX, or hardware.  JTAPI defines the access to one or more of the following areas of functionality: Call Control, Telephone Physical  Device Control, Media Services for Telephony, and Administrative Services for Telephony.

While this site refers you to implementations, you can only find the JTAPI specification in the form of JavaTM interfaces here.  The JTAPI interfaces are structured by use of Java TM packages, with a core package that expresses minimal JTAPI, atomic JTAPI, as it were and other packages that build upon those core features.  These feature packages take the core's simplistic model and extend and specialize it in some way that makes some aspect of the core interfaces better suited for a particular class of applications.  We will leave the details of how the packages extend the core to the documentation that you will find with each of the packages, however, the names of the packages should suffice to give a flavor of their purpose:

The JTAPI 1.3 specification is a successor to JTAPI 1.2, which was authored by a host of partners associated by membership to the Enterprise Computer Telephony Forum (ECTF.)  JTAPI 1.3 is a transitional specification, meant to prepare for a number of significant improvements in the JTAPI 2.0 specification, which will follow later this calendar year (1999.)

The work of writing the JTAPI specification, a process that began in August of 1996, has been structured by a combination of ECTF operating procedures and (then) JavaSoft policies.  With the release of JTAPI 1.3, the JavaTM Community Process  defines the  new open process for designing JavaTM APIs. The the creation and release of JTAPI 2.0 will be fully under that process, with JTAPI 1.3 as a first step in that direction.
 

Changes

JTAPI 1.3 now supports the listener event pattern and contains two new packages: Both the mobile and media packages support only the listener event pattern.

History

The JavaTM Telephony API (JTAPI) was designed by a consortium of industry-leading computer and telecommunications companies interested in designing a portable, object-oriented API for computer-telephony integrated call control. The requirements for this API were that it be simple, easy to implement on top of existing CTI platforms, integrate both first-party and third-party call control models, and be scalable and  extensible. The initial working group consisted of representatives from  Intel , Lucent , NortelNetworks, Novell, and Sun Microsystems, Inc.

After several draft releases, which were made available to licensees and to the public for review, the working group released version 1.0 of  the JavaTM Telephony API specification (JTAPI) on October 30, 1997. The working group was joined by IBM  for a follow-on  version. JTAPI version 1.1 was released January 31, 1997. JTAPI version 1.2 was released in February, 1998.

Following the release of JTAPI v1.1, other companies, who were members of the Enterprise Computer Telephony Forum (ECTF) , worked to help developed the specification, including Dialogic and Siemens.

Work was initiated on the new JTAPI media package (ECTF S.410) in February 1997.  The JTAPI mobile work began in September of 1997.  The two packages are being released for the first time in JTAPI 1.3.

Sun and ECTF are now working as "partner" on JTAPI.   The ECTF is now the lead organization developing JTAPI for developing JTAPI specification.  An important step in solidifying the partnership was the release of the JavaTM Community Process (JCP) by Sun in December 1998.  Starting with the JTAPI 2.0 release, ECTF will follow the JCP.
 

JTAPI Definition

JTAPI is the set of classes, interfaces, and principles of operation that constitute a JavaTM technology extension package in the javax.* name space.  The JTAPI specification defines  the application interface to JavaTM computer telephony applications and telephones or telephone systems. JTAPI provides access to one or more of the following areas of functionality: Call Control, Telephone Physical  Device Control, Media Services for Telephony, and Administrative Services for Telephony.

Applications using the JTAPI interface include (but are not limited to):

Telephony platforms supporting these applications by providing JTAPI include (but are not limited to): JTAPI enables the creation of portable value-add JavaTM software products that can operate on any telephony product that exposes its services through a JTAPI interface. For example, the same JTAPI application can run on a cellular phone and a media server on a VoIP network if both expose a JTAPI interface. JTAPI makes this possible by presenting an abstraction of telephony services that is independent of a given implementation's underlying network and its relationship to that network.

JTAPI provides the following:

JTAPI is used to access the services of a telephone system, however not all the functionality required to implement a telephone system is specified by JTAPI . JTAPI does not expose individual signalling protocols (such as SS7, ISDN, GSM, etc.) and associated features that a particular telephone or telephone system implementation is likely to need internally. Nor does it include non-telephony services that JavaTM-based telephones are likely to need (such as interfaces to draw a telephone user interface on a bitmapped display). Implementation of power management, messaging, web browsing, SNMP support, access to device-specific functions, etc., will require other complementary JavaTM interfaces to do so.

The scope of JTAPI corresponds to the top-most layer of interfaces defined by the ECTF architectural framework and encompasses the functionality of the call control (C.xxx), media services (S.xxx), and administrative services (M.xxx) areas. For further information, refer to the ECTF architectural framework (described in documents available at http://www.ectf.org/ectf/tech/tech.htm).
 
 

Please visit this site for updates to JTAPI 1.3 and documentation improvements. You can monitor and participate in JTAPI development activity by joining the 'jtapi-interest' alias and viewing its archives.

JTAPI specifications and related information.

Download the JTAPI v1.1 Specification
Download the JTAPI v1.2 Specification
Download the JTAPI v1.3 Specification

Documentations and technical information about JTAPI.

JTAPI White Papers (v1.2)
    JTAPI Overview
    Main Overview & Core Package
    Call Control Package Overview
    Call Center Package Overview
    Media Package Overview
    Phone Package Overview
Frequently Asked Questions (FAQ)
Subscribe to the JTAPI Interest Group
View the JTAPI Interest Group Mail Archive


JTAPI background, data sheets, and informational material.

Java TM Telephony Data Sheet
Background and History
JTAPI Implementation Information
Enterprise Computer Telephone Forum (ECTF)



Task

Download JTAPI and attempt to follow the guide that come with it. Get it working, build the introductory code samples, discover basically what it can do, develop a test application and then come to see me or email me and we'll discuss an exact topic for your project.

Home

To contact Author: Email: [email protected].