Windows Telephony Overview

Media Access via Existing APIs

While TAPI was designed from the ground up for call control, it has no facility for direct access to the media available on a call, address, line or phone. The media is the data available, e.g. modem, fax, network, voice, et cetera. The designers of TAPI had a choice to make when they decided how to provide access to media via TAPI. One option was to add whole sub-sets of functionality to the API for each kind of media. This would require ISVs to learn these media access sub-APIs. It would also require that TAPI be updated every time a new kind of media appeared.

Another option - the one they chose - was to provide a way of getting at a specific API handle for use with an existing or future media API. The API handle could then be used in subsequent calls to the media API. This doesn't require ISVs to learn new APIs nor does it require TAPI to change when a new media type is developed. Instead, if a device supports a specific kind of media, it simply provides an API handle for that media type when asked.

Media types are described by device classes. A device class is a description of a device that provides access to a specific type of media. A device class name is simply a string identifying a specific device class. The device classes defined for TAPI are:

comm Communications port.
comm/datamodem Modem through a communications port.
wave/in Wave audio device for input only.
wave/out Wave audio device for output only.
midi/in Midi sequencer for input only.
midi/out Midi sequencer for output only.
tapi/line Line device.

Phone device.

ndis Network device.
tapi/terminal Terminal device.

If a telephony device doesn't support a specific class of media, it will simply fail when asked to provide an API handle. If a telephony vendor wants to support a device class other than those shown here, it can do so and provide documentation for that device class.

Back | Top | Next