TAPI Hardware Considerations:
Here you'll learn the differences between the three primary types of telephony hardware for PCs:
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 call handling.
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 applications.
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 and WinNT.
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 section.
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 9600 to 14,400bps (bits per second) for $100 U.S. or less. You can get data modems that can handle 28,800bps for a bit more.
It is not easy to find data modems for PCs that are rated beyond 28.8Kbps. The primary reason for this is that voice-grade telephone lines cannot handle error-free throughput at speeds much faster than 28.8Kbps. Although there are now some 33.3 modems on the market, your local lines may not be able to handle those speeds. You can contact your local telephone service provider to get an idea of the line quality in your area. Usually, if you want to use speeds faster than 28.8, you'll need to purchase special lines from your local telephone service provider.
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 TAPI services.
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.
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. Generally the cost is about $250 U.S. If the modem is part of a bundled multimedia kit, you could end up paying twice that amount.
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 TAPI services.
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 voice-data modems:
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.
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 telephony card.
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.
Send mail to email@example.com with questions or comments about this web site.