Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesBuilding Bridges with TAPI and TSAPI


February 1997 / State Of The Art / CTI, Piece by Piece / Building Bridges with TAPI and TSAPI

Your computer network and your phone network were not designed to work together. You can link the two systems at the application level, but first you need a common interface with which to build the applications. The two most significant of these interfaces are Telephony API (TAPI) and Telephony Server API (TSAPI). Both perform essentially the same function -- they enable the construction of PC-based telephony applications that operate independently of the telephone network. Both are independent of the method of connection -- direct serial link, add-in board, voice server, or switch-to-host link -- between computer and phone system. ( See the table for a comp arison of features.)

They attain that independence by abstracting the hardware layer, thus sidestepping the need to write code specific to each proprietary switch (and there are many) while taking advantage of each system's unique capabilities. This pleases developers, but it also allows customers to keep thei r existing equipment. And both provide a means for extending the specification. Beyond these points, however, each takes a different approach.

TAPI

Microsoft and Intel were the primary developers of the originally client-based TAPI. TAPI 2.0, however, is built into both the Windows NT Server 4.0 and the Windows NT Workstation 4.0, which allows the OS to function as either a telephony client or server. (Windows 95 currently has built-in support for TAPI 1.4 applications, which are compatible with TAPI 2.0.)

In practice, TAPI 2.0 is focused on the desktop -- a PC and a phone. That is, TAPI assumes the desktop to be one end point of each call. It preserves the ability to do third-party call control (calling from one desktop on behalf of another). The specification allows for several telephony applications to run simultaneously -- over either a single or multiple phone lines -- on a client or server PC. It provides a means to distinguish different media streams (data, voice, fax) and route calls to the appropriate application or device. Incoming faxes, for example, go to the fax application or machine.

TAPI is part of the Windows Open Services Architecture (WOSA). Like other WOSA services, such as those for printing or display, TAPI has two interfaces. The first is the API for developers writing the software. The second is the service provider interface, which provides a means of connection to a specific device -- in TAPI's case, the telephone network. With TAPI 2.0, you can build applications for Public Switched Telephone Network (PSTN), ISDN, PBX, and IP networks. Want your applications to reach out over the Intern et? TAPI can handle that, too. It essentially sees the Internet as just another service provider. Other TAPI features include support for Unicode, ActiveX controls, and Intel's universal serial bus (USB), a 12-Mbps port that can connect up to 127 devices to a single PC.

Microsoft has announced several planned enhancements for TAPI 2.0. They include a remote-service provider, intended to speed development of client/server telephony applications; remote administrative tools to aid with client/server configuration issues and reports; and Windows Telephony Service extensions for client access. (The company expects these features to appear in the next beta version of Memphis. At about the same time, Windows 95 will gain TAPI 2.0 support.) TAPI is closed: Microsoft controls it, which makes developers of telephony products nervous. Microsoft claims that since many other companies (more than 40) have contributed to the TAPI specification, it is effectively industry-defined and, therefore, open. However, where in dependent organizations define and approve other industry standards, Microsoft remains the final arbiter of what TAPI is.

TSAPI

Server-based TSAPI, developed by Novell and AT&T, is designed to integrate PBX or Centrex phone systems with Netware networks. The only physical link in the system is between the NetWare file server and the phone network. Applications built with TSAPI have a logical link between the PC and the desktop phone. You can control calls through the applications from either end of the connection or hand off that control to a third party. A server telephony model also eliminates the need for additional hardware to connect desktop PC to phone. This can save a lot of money in a large organization, but there is a trade-off. Because there's no physical connection between the PC and the phone, TSAPI applications cannot identify different media streams as TAPI can. Thus, with TSAPI, you cannot automatically route a fax to a fax application, for example.

The TSAPI s pecification has wide industry support, especially among PBX and Centrex vendors, virtually all of which offer NetWare drivers for their systems. Just as important, TSAPI supports all the major OSes, including Windows (all versions), the Mac OS, OS/2, and Unix. This, obviously, appeals to companies building cross-platform telephony applications. Unlike Microsoft with TAPI, Novell and AT&T have handed over the TSAPI specification to the European Computer Manufacturers Association (ECMA), which developed the Computer-Supported Telecommunication Applications (CSTA) standard on which TSAPI is based. ECMA is currently working on Phase II of the CSTA specification, due to roll out sometime this spring. Slated improvements to TSAPI include access to voice services, so that you can perform all functions of your phone system (e.g., play or record a message) from within a TSAPI application. Phase II will also allow TSAPI applications to transfer data with calls, so that, for example, help-desk personnel can take in formation from a customer and transfer that data and customer to another person. In addition, Novell is working with Sun Microsystems to support its initiative for JTAPI, the API for building Java-based telephony applications.

Pros and Cons

TAPI is by far the more popular interface for telephony applications. For many companies, its tight integration with Windows is a plus, but more important is the fact that both client and server components come bundled with the OS. Novell charges $26,995 for a 250-seat TSAPI implementation (including a NetWare run-time module). For businesses with NT-based networks, TAPI is a no-brainer for a server-based telephony model. It also makes sense for small companies that tend to use a direct connection between the PC and phone.

Thanks to its multiplatform support, TSAPI is better suited for more diverse environments running on a NetWare backbone. And despite its cost, TSAPI actually is cheaper to implement in non-Windows NT environments. The alterna tive there is client-based TAPI 1.3, which requires an add-in board on each PC.


TAPI vs. TSAPI


                               TAPI 2.0            TSAPI

Server- or client-based        Both                Server

Required server                Windows NT          NetWare

Supported OSes                 Windows NT,         Windows (all),
                               Windows 95
1
         Unix, Mac, OS/2

32-bit support                     *                  *

16-bit support                     *
2
                 *

Call-center support                *                  *

High-speed bus support            USB                N/A
3


Third-party call support           *                  *

Media stream routing               *     

Connection types supported     ISDN, PBX, PSTN,    PBX, Centrex
                               IP

Extensible                         *                  *


1
 Release to coin
cide with next 
    beta release of Memphis.

2
 Applications must be based on Win 16 and 
    be fully TAPI 1.3-compliant.

3
 Because TSAPI uses only the server model, 
    bus support on the desktop is irrelevant.
* = yes



TAPI, the Mediator

illustration_link (19 Kbytes)

TAPI provides hooks into applications and communications systems.


Michael Nadeau is a freelance author who writes extensively about communications, the Internet, and storage technologies. You can contact him at m_nadeau@conknet.com.editors@bix.com .

Up to the State Of The Art section contentsGo to previous article: Building Bridges with TAPI and TSAPIGo to next article: Link PCs to Phone NetworksSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network