×

SUBSCRIBE TO TMCnet
TMCnet - World's Largest Communications and Technology Community

CHANNEL BY TOPICS


QUICK LINKS




 

April 1998


TYING TOGETHER CT’S LOOSE ENDS WITH JAVA

BY DAVID MANDATO

While we may welcome the proliferation of computer telephony products, we abhor the accompanying growth in complexity. We may even wonder if compounding interoperability and portability problems will ultimately slow market expansion, even as the industry produces widget after widget. The challenge, then, is to find a way to resolve these problems; to integrate applications and devices regardless of which vendors created them.

One way to accomplish such integration is to define a standard, platform-independent software framework, along with standardized hardware interfaces. One candidate to serve as this framework is Java, which may yet become a dominant developer programming language, although Java standards are incomplete. If Java succeeds, it will allow computer telephony developers to create plug-and-play capabilities, integrating disparate applications and devices, and ensuring continued growth in the industry.

JAVA PROSPECTS
Java’s appeal, from the developer’s point of view, is its ability to shorten development cycles. It can also lower maintenance costs for CT software applications. With Java, an interpreted, object-oriented computer programming language, developers may write platform-independent and reusable code. Java’s platform-independent code vastly simplifies the need to port and test software applications to devices or platforms.

Thanks to all these advantages, Java has steadily grown in popularity. According to Sun Microsystems, the number of active Java developers has grown to more than 500,000. Furthermore, Java usage, whether in jazzy Web sites or corporate intranets, is expected to double in 1998.

On the other hand, the Java solution is not yet perfect. As an interpreted language, Java is tailored for client/server applications, slowing the applications and lacking the deterministic behavior essential for real-time applications.

Moreover, the Java Virtual Machine (JVM) — the Java interpreter that can run Java applications on multiple operating systems/hardware platform combinations — has its limitations. Specifically, it doesn’t support sophisticated memory management models, complicating development efforts to build custom solutions. The Java operating system (JavaOS) may also undergo changes, possibly merging with the ChorusOS, and JavaProcessors still do not have any commercial implementations. However, the combined JavaProcessor and JavaOS solution and/or Embedded Java platforms should eventually solve these problems. A solution for execution speed is to use native languages for time-critical tasks by using the Java Native Interface. There is also currently a clone of the Java Virtual Machine that features an accurate real-time garbage collection algorithm, deterministic tasking behaviors, and a smaller memory footprint.

JAVA TELEPHONY API (JTAPI)
Java Telephony Application Programming Interface (JTAPI) is a Java API designed to enable portability in the CT market. It is one of the initial steps to help prepare developers and computer and communications equipment manufacturers for the increasing use of Java for both business and personal applications.

The principal goal of JTAPI is to exploit the platform-independent nature of Java technology to enable interoperability and interconnectivity of telephones, computers, and other devices using the Internet and the telephony network. Moreover, because leading Web browsers now support the Java Virtual Machine, JTAPI applets can be easily embedded in HTML files. JTAPI can interface applications/applets directly to underlying CT services provided by the platform used to transfer benefits to businesses and consumers. JTAPI can also act as a Java interface to existing telephony APIs, such as Sun Microsystems’ SunXTL, Intel/Microsoft’s TAPI, Lucent/Novell’s TSAPI, and IBM’s CallPath.

JTAPI AND TAPI
Microsoft’s TAPI was originally developed to accomplish successful integration between Windows-based CT applications and any hardware with Telephony Service Provider driver support. JTAPI takes this goal even further, incorporating the interoperability of Java with the promise of CT integration.

JTAPI can be used in a wide range of equipment, such as call center, service platform, desktop, and mobile phone equipment. JTAPI applications used on these types of equipment can run on any operating system/hardware platform that contains a JVM and an implementation of JTAPI.

As corporations gradually take advantage of Web-based CT applications, JTAPI is not necessarily required to run them, but Java, and therefore JTAPI, ultimately has the potential to significantly reduce interoperability issues that TAPI may not address on its own.

JTAPI APPLICATIONS
Corporations are already looking ways to make use of some JTAPI applications, including the following:

Inbound/Outbound Call Centers
Many enterprises use inbound centers for automating customer sup-port and sales services and to external inquiries to the proper group. For example, they can hotlines for technical support sales agent groups.

Outbound call centers enable services, including predictive dialing and call preview. Predictive dialing services can be automated with CT technologies to initiate multiple simultaneous dials based on a list telephone addresses stored in database and on hit rates, which are used to determine the optimal number of dials to initiate. These hit rates are based on the number of answered/unanswered dials versus the number of agents available to handle the outgoing calls. Call preview services provide an application that automatically dials after previewing information about a per-son and/or organization.

Personal Information Manager
A personal information manager lets you use a browser application to integrate calendar, address book, and expense sheet functionality.

Corporate Directories
These directories take advantage of a Web-based application to access corpo-rate databases. Users can access real-time information from their desktop. Call control functionality also enables call transferring and conferencing.

Unified Messaging
Users can tap into a universal mail-box via a browser. That is, users can consolidate all their e-mail, voice, and facsimile messages, and access them either remotely or on the desktop. Text-to- speech technology can be used to "listen" to e-mail. All forms of mes-sages are managed in a similar fashion, although they often require different physical media.

THE JTAPI SPECIFICATION
Sun Microsystems, Lucent, Nortel, Novell, Intel, and IBM have collaborated on a JTAPI specification, even though the Java programming language is not yet mature and is still under review by the International Organization for Standardization (ISO). JTAPI is the reference specification (C.100) adopted by the Portable API Task Group of the Enterprise Computer Telephony Forum (ECTF), which is also involved in developing hardware interface specifications. The JTAPI specification was first released in October 1996, and, at the time of this article, is in its 1.3 revision, which is not yet publicly available.

JTAPI is a set of APIs that include a basic "core" API and several additional "standard extension" APIs. The core API provides an object-oriented framework to model telephone calls and basic telephony features. For example, it enables initiation, answering, and releasing of phone calls. The standard extension APIs provide additional functionality.

JTAPI CORE API AND BASIC CALL MODEL

The JTAPI core API provides the capability to design simple telephony applets/applications, such as adding telephone capabilities to a Web page. The JTAPI Basic Call Model abstracts the logical/physical entities involved in a phone call as objects.

In a normal point-to-point call, each of the call’s parties will be connected via a single Call object, two Address objects, and two Connection objects. In the more general case of a point-to-multipoint call, the number of Connection and Address objects increases proportionally to the number of parties. One or more Address objects can be associated with a Terminal object, which in turn is associated with only one Terminal Connection object.

JTAPI STANDARD EXTENSION APIS
The standard extension APIs provide additional functionality to the core API. Standard extension APIs available in JTAPI version 1.1 are as follows:

  • Call control provides a detailed telephone call and advanced call control features, including telephone call transfer, call holding, and call conferencing.
  • Call center provides advanced features for managing large call centers. It uses features such as predictive calling, routing, and automated call distribution (ACD).
  • Media enables applications/applets to access a telephone call as a media stream. It also has touch-tone, DualTone MultiFrequency (DTMF), and non-DTMF tone detection and generation functionality.
  • Phone provides applications/applets with control of the telephone device’s physical features. Certain JTAPI implementations may model these physical terminals as individual features that each has an individual interface.
  • Capabilities package extends applications/ applets capabilities to check both the static and dynamic capabilities that a particular JTAPI implementation supports.
  • Private data enables applications/ applets to exchange data directly with the underlying hardware switch. This capability also allows the applications/ applets to perform actions, such as instructing a switch to perform a switch-specific action.

JTAPI NETWORK/DESKTOP CONFIGURATIONS
JTAPI always resides between the software application and the Java Run-Time environment. The platform-specific implementation of this interface is either a local (desktop) or distributed (network) configuration.

In a local configuration , the complete JTAPI implementation resides locally and makes use of dedicated CT hardware resources. In a distributed configuration, a client side JTAPI implementation resides on the client (either a dumb terminal or a desktop). The client is remotely connected to a server, where a corresponding daemon program handles the clients’ requests to access the shared CT hardware resources.

These configurations interconnect. For example, a desktop JTAPI implementation can connect a user application to another application running on a client terminal of a remote system.

COMMERCIAL JTAPI IMPLEMENTATIONS
Commercial JTAPI implementations are crucial to the success of JTAPI in the CT industry. Standardization, although often a long process, eventually creates the environment for commercial implementations to flourish. At the time this article was written, two commercial implementations of the JTAPI specification were available: The recent versions of IBM’s CallPath, and Lucent Technologies’ Passageway Telephony Services.

IBM’s CallPath supports the JTAPI network configuration and also leverages JavaBeans technology for improving code reuse and customization (CallPath Telephony Beans). It implements JTAPI version 1.2 early-access specification and enables two types of beans: basic and customizable. Lucent Technologies’ Passageway Telephony Services provides the JTAPI mapping to the TSAPI standard. It is designed to allow users to migrate to an object-oriented programming environment without losing legacy investments.

SUMMARY
JTAPI has the potential to significantly reduce interoperability issues in the CT market. It is important to the growth of the CT industry, mainly because of the platform-independent and object-oriented nature of the Java programming language, which helps to simplify portability.

As developers increasingly require faster time-to-market cycles and reduced maintenance costs to compete, they need standards to help answer interconnectivity and interoperability questions. Corporations, in a search to cut costs and leverage legacy systems, are driving both the ECTF and JTAPI. IBM and Lucent have already introduced commercial implementations, confirming the strength of the JTAPI solution and providing a direction for the CT market over the next few years.

The ultimate impact of CT, however, is certain. Integration will continue, and Java, through its platform-independence and the JTAPI commercial implementations, is one of the most likely technologies to enable it.

David Mandato is a senior member of technical staff in the Emerging Technologies Department at Trillium Digital Systems, Inc., a leading provider of communications software solutions. Mandato, who earned an electronic engineering degree from Universita’ degli Studi di Padova, has worked for more than seven years in the telephony industry. He can be reached at [email protected].  







Technology Marketing Corporation

2 Trap Falls Road Suite 106, Shelton, CT 06484 USA
Ph: +1-203-852-6800, 800-243-6002

General comments: [email protected].
Comments about this site: [email protected].

STAY CURRENT YOUR WAY

© 2026 Technology Marketing Corporation. All rights reserved | Privacy Policy