TAPI Hardware ConsiderationsTAPI Hardware Considerations
In this chapter, you'll learn the differences
between the three primary types of telephony hardware for pcs:
- Basic data modems
- Voice-data modems
- Telephony cards
These three types of interface cards provide a wide range of telephony
service for desktop workstations. You'll learn the advantages
and limits of each of the interface card types and how you can
use them in your telephony applications.
Basic data modems can support Assisted Telephony services (outbound
dialing) and usually are able to support only limited inbound
Voice-data modems are a new breed of low-cost modems that provide
additional features that come close to that of the higher-priced
telephony cards. These modems usually are capable of supporting
the Basic Telephony services and many of the Supplemental services.
The key to success with voice-data modems is getting a good service
provider interface for your card.
Finally, telephony cards offer the greatest level of service compatibility.
Telephony cards usually support all of the Basic Telephony and
all of the Supplemental Telephony services, including phone device
control. Most telephony cards also offer multiple lines on a single
card. This makes them ideal for supporting commercial-grade telephony
You'll also get a quick review of how modems work and how Win95
and WinNT use modem drivers to communicate with hardware devices.
All TAPI services are routed through some type of modem. These
modems also depend on the Windows operating system to supply device
drivers to communicate between programs and the device itself.
While a detailed discussion of device drivers is beyond the scope
of this book, it is a good idea to have a general understanding
of how Windows uses device drivers and how modems work. In this
section you'll get a quick review of modem theory and a short
discussion of the Universal Modem Driver that ships with Win95
Before getting into the details of how the three types of telephony
hardware differ, it is important to do a quick review of how modems
work. If you've seen all this before, you can skip to the next
Sending computer data over voice-grade phone lines is a bit of
a trick. All data stored on a pc (documents, programs, graphics,
sound and video files, and so on) is stored as 1s and 0s-binary
data. However, standard telephone lines are not capable of sending
binary data-only sounds. That means that any information sent
over the telephone line has to be in the form of sound waves.
In order to accomplish this feat, hardware was invented to convert
digital information into sound (that is, to modulate it),
then back again from sound into digital information (demodulate
it). This process of modulating and demodulating is how the device
got its name: mo-dem (modulate-demodulate).
Sending data over phones lines involves three main steps. First,
a connection must be established between two modem devices over
a telephone line. This is typically done by having one modem place
a telephone call to the other modem. If the second modem answers
the telephone call, the two modems go through a process of determining
if they understand each other called handshaking. If that
is successful, then information can be passed.
In the second step, the digital information is modulated into
sound and then sent over the voice-grade telephone line to the
second modem. In the last step, the modem at the other end of
the call converts (demodulates) the sound back into digital information
and presents it to the computer for processing (view the graphic,
save the file, play the video or audio, and
TAPI requires each workstation to have not just a TAPI-compliant
application, but also a Telephony Service Provider Interface
(TSPI). This interface talks directly to the hardware to
convert your TAPI service requests into commands understood by
the hardware. The TSPI is usually supplied by the hardware vendor,
but Microsoft Win95 ships with a simple TSPI called the UniModem
Driver (Universal Modem Driver). The UniModem driver is designed
to support Assisted Telephony and some Basic Telephony. You can
build simple applications that allow users to place and receive
voice and data calls using basic data modems and the UniModem
driver that ships with Win95 and WinNT.
Microsoft has released a modem driver that supports additional
voice features including playing and recording audio files. This
driver is called the UniModemV Driver (Universal Modem
for Voice). This driver supports the use of voice commands along
with recording and playing back voice files. It can also handle
caller ID and some other added service features. Exactly what
the UniModemV driver can do is also dependent on the hardware.
The telephony hardware must recognize any advanced features and
be able to communicate them to the driver.
The most basic type of hardware that supports TAPI is
the basic data modem. This type of modem is designed to
use analog phone lines to send digital data. Any computer
that can access online services (BBS, Internet, commercial
information services, and so on) has at least this level
of modem hardware. You can get basic data modems with speeds
of 14,400 to 56,000bps (bits per second).
Almost all basic data modems recognize a common set of
control codes. This set of control codes is called the Hayes
or AT command set. This set of controls was developed
by the makers of the Hayes modem. The first command in the
set (AT) is the "attention"
command. This tells the device you are about to send control
codes directly to the hardware. The command set is known
by the original author's name ("Hayes") or by
the first command in the set ("AT").
Basic data modems support Assisted Telephony services without
any problem (that is, placing outbound calls). Most basic modems
are capable of supporting some of the Basic Telephony services,
including accepting inbound calls. However, if you want to perform
any of the more advanced TAPI services, such as playing or recording
audio files, you'll need more advanced hardware. Also, if you
want to access advanced features available for voice telephones
such as caller ID, call hold, park, forward, and so on, you'll
need more than a basic data modem. Figure 25.1 shows the TAPI
service levels and telephony hardware classes. The highlighted
areas give you an idea of how basic data modems do in supporting
If you are designing applications that allow users to
select names or phone numbers and then place outbound voice
or data calls, basic modems will work just fine. In fact,
unless you are planning to add voice recording, playback,
or other advanced telephony features to your application,
the basic modem will provide all your TAPI needs.
Figure 25.1 : Basic modem support for TAPI
There is a new type of modem available that offers all the services
of a data modem, but also has added support for voice services.
These modems are often called voice-data modems (or data-voice
modems). This hardware has additional programming built into the
chips that will support advanced telephone features such as caller
ID, call hold, park, forward, and so on. Just as basic data modems
use the AT command set, the voice-data modems use an extension
of that set called the AT+V command set (AT plus Voice).
AT+V modems cost a bit more than basic data modems. You can find them in the
U.S. packaged with sound cards and other multimedia hardware.
Voice-data modems also require a TAPI-compliant modem driver in
order to work with TAPI services. This driver is usually supplied
by the hardware vendor. Microsoft also supplies a modem driver
that supports voice services-the UniModemV driver. If your modem
does not ship with a TAPI-compliant driver, you might be able
to install the UniModemV driver to enable your voice features.
A word of caution is in order when purchasing a voice-data
modem. There are several modems on the market that offer
voice, voice-mail, telephone answering, and other TAPI-like
services for pcs. The thing to keep in mind is that many
of them are not TAPI-compliant. While you may get a modem
that can do all the things you want, it may not do it using
the TAPI calls and you many not be able to program it using
As of the writing of this book, there are a handful of voice-data
modem vendors that have announced the release of TAPI-compliant
hardware. Here is a list of some vendors currently offering TAPI-compliant
- Compaq Presario Systems
- Creative Labs Phone Blaster
- Logicode 14.4 pcMCIA
- Diamond Telecommander 2500
- Cirrus Logic
- Aztech Systems
Voice-data modems with supporting TAPI drivers offer a wide range
of access to TAPI services. You can use voice-data modems to perform
both outbound and inbound call handling, play and record voice
files, and (if the feature is available on the telephone line)
support caller ID and other advanced services for single-line
phones. Figure 25.2 shows how voice-data modems shape up in their
support of TAPI services.
Figure 25.2 : Voice-data
modem support for TAPI services
The most advanced level of hardware you can get for TAPI services
on a desktop pc is a dedicated telephony card. This is a piece
of hardware dedicated to handling telephone services. Most telephony
cards are designed to handle more than one line at a time, too.
If you are planning an application that must answer several phone
lines or perform any line transfers, and so on, you'll need a
Most telephony cards are sold as part of a kit. You can get software
development tools, cards for the pc, cables, and documentation
all for one price. This price usually starts at around $1000 U.S.
and can easily climb depending on the number of lines you wish
to support. Even though the price is a bit high, if you are doing
any serious TAPI work, you'll need this kind of equipment.
As with other telephony hardware, telephony cards need an accompanying
TAPI driver in order to recognize TAPI calls from your program.
While most telephony card vendors are working on TAPI drivers,
not all of them supply one as of this writing. It is important
to check the specifications of the hardware and supporting materials
before you buy.
It is also important to point out that there are lots of very
sophisticated hardware and software tools for handling telephony
services that are not TAPI-based. It is possible that you will
be able to find the right hardware and software to meet your needs
without using TAPI services at all. The only drawback is that
you'll be using a proprietary system that may (or may not) become
obsolete in the future. If it is possible, it is a good idea to
use TAPI-compliant products since the power of Microsoft and the
Windows operating system is likely to support interfaces like
TAPI for quite some time.
Telephony cards (along with TAPI drivers to match) offer the greatest
access to TAPI services. You can support all the Assisted TAPI
and Basic TAPI functions along with access to Supplemental TAPI
services. Also, if the driver supports it, you will be able to
use Extended TAPI services to gain access to vendor-specific functions
unique to the installed hardware. Figure 25.3 shows how telephony
cards support all levels of TAPI services.
Figure 25.3 : Telephony
cards can support all levels of TAPI services
In this chapter you learned the differences between the three
types of hardware options and how they rate in offering support
for TAPI services on pc workstations:
- Basic data modems support Assisted Telephony services
(outbound dialing) and can support only limited inbound call handling.
Use this type of hardware if you are building simple outbound
- Voice-data modems are capable of supporting the Assisted
Telephony and Basic Telephony services and many of the Supplemental
services. Use this type of hardware if you want to provide both
inbound and outbound services on a single-line phone.
- Telephony cards support all of the Basic Telephony
and all of the Supplemental Telephony services, including phone
device control. Most telephony cards also offer multiple lines
on a single card. This make them ideal for supporting commercial-grade
You also got a quick review of modems and modem drivers. You learned
that Win95 and WinNT rely on the UniModem or UniModemV modem drivers
to communicate between the telephony hardware and your program.
You also learned that, no matter what hardware you purchase, you
will need a TAPI-compliant TSPI (Telephony Service Provider
Interface) that matches the hardware you purchased. Hardware
vendors may recognize the UniModem or UniModemV drivers, or ship
their own TSPI drivers with their hardware.