ITworld.com
  Search  
ITworld Home Page ITworld Webcasts ITworld White Papers ITworld Newsletters ITworld News ITworld Topics Careers ITworld Voices ITwhirled Changing the way you view IT
Method Calls for Telephone Calls The JTAPI objects enable you to do call-control work
JAVA IN THE ENTERPRISE --- 09/17/2002

David Wall

Lots of Java's enterprise applicability has to do with Enterprise JavaBeans, but the usefulness of the language extends far beyond multi-tiered client-server applications with persistent storage mechanisms at their back ends. The Java Telephony API (JTAPI) is becoming increasingly important as organizations work toward combining their voice and data communications onto a single network infrastructure. 

On this topic

By putting voice and data on one network, even if it's just internally (i.e., inter-site traffic still goes over the public switched telephone network), significant savings in cost and complexity -- they're one and the same, really -- can be realized. JTAPI is nicely put together, and is robust enough that many big-name companies are using it. JTAPI is used particularly frequently with Voice-over-IP solutions.

JTAPI is concerned with call control, which is to say not the actual encoding and decoding of voice but rather the process of establishing a call, maintaining it as long as its parties remain engaged, and tearing it down when it's done. Call control also has to do with special connection tricks like conferencing multiple parties together and transferring a call from one party to another.

JTAPI also supports a set of events that are useful to developers of applications that need to be integrated with telephones. A Customer Relationship Management (CRM) application, for example, might need to know where a particular call was directed so as to pop the appropriate record on the answering party's workstation. A voicemail application could use JTAPI events to detect "ring out" on a telephone and grab the call for recording.

In Java, JTAPI is encoded in the javax.telephony.* packages. It provides for the instantiation of a Provider object (representing the switch that connects endpoints), an Address object (representing a termination point identifier -- a phone number, in other words), a Call object (representing a phone call itself), a Connection object (a connection is the termination of a call at some station -- a Call usually has two or more associated Connections). Once you have a call, you can use such methods as connect() and disconnect() to set up and tear down a voice link.

 

David Wall works as a freelance writer, programmer, lecturer, and consultant. Based near Washington, D.C., David has written and co- written several books, including Graphics Programming with JFC. David can be reached at David.Wall@itworld.com.



Advertisements
Sponsored links
Top 5 Reasons to Combine App Performance and Security
KODAK i1400 Series Scanners stand up to the challenge
Bring harmony to your mix of UNIX-Linux-Windows computing environments
Locate Hidden Software on business PCs with this free tool
 Home   Newsletters  JAVA IN THE ENTERPRISE
www.itworld.com    open.itworld.com     security.itworld.com     smallbusiness.itworld.com
storage.itworld.com     utilitycomputing.itworld.com     wireless.itworld.com

 
Contact Us   About Us   Privacy Policy    Terms of Service   Reprints  

CIO   Computerworld   CSO   GamePro   Games.net   IDG Connect   IDG World Expo   Industry Standard   Infoworld   ITworld   JavaWorld   LinuxWorld  MacUser   Macworld   Network World   PC World   Playlist  

Copyright © Computerworld, Inc. All rights reserved

Reproduction in whole or in part in any form or medium without express written permission of Computerworld Inc. is prohibited. Computerworld and Computerworld.com and the respective logos are trademarks of International Data Group Inc.