Telephony Application Programming Interface (TAPI) provides a uniform set of commands for any supported telephony device that is connected to your computer. TAPI is implemented in Windows Vista and Windows Server 2008 by the Telephony service. Programs that are compliant with TAPI do not have to know the specific hardware you are using to communicate. The Telephony service and the appropriate telephony service provider do all of the translating and interacting with the hardware on the application's behalf.
How telephony works
When you use a Windows Vista or Windows Server 2008 family program to send faxes, connect to a telephone, or perform other TAPI-supported activities, there are three layers of software that enable you to use a telephony device: a TAPI-compliant program, the Telephony service, and a telephony service provider:
A telephony program enables you to make phone calls, or send and receive data or faxes. Microsoft and independent software vendors provide programs that incorporate TAPI-compliant functionality. For example, dial-up networking, included with Windows Vista and Windows Server 2008, uses the Telephony service to interact with your modem or ISDN hardware to dial phone numbers.
The Telephony service receives TAPI requests from the program, and provides common functions to those applications, such as dialing a modem.
A telephony service provider translates the commands for a specific telephony device or telephony protocol. Telephony service providers for modems and several telephony protocols are installed with Windows Vista and Windows Server 2008, and others are provided by independent hardware vendors.
The three layers of telephony on Windows
How telephony works with telephony hardware
In place of proprietary solutions that are difficult and expensive to implement, TAPI defines a single set of commands allowing hardware and software to come from different sources. When a telephony program requests an action, the Telephony service determines which telephony service provider supports the device, and then the service provider sends the appropriate commands to the device.
For example, the Unimodem (Universal Modem) 5 service provider is installed with the Windows Vista and Windows Server 2008 operating systems. When a program on the client computer initiates the dialing of a phone number, the Telephony service sends the appropriate commands to the Unimodem 5 Service Provider, and it sends the correct sequence of commands for dialing the number on the particular modem attached to the client computer. The program does not need to know anything about the modem.
With the Telephony service and its telephony service providers, the Windows provides a telephony platform. Windows Vista and Windows Server 2008 serve as the operator that interconnects computer and telephony resources to direct and manage calls. TAPI-compliant telephony program can provide solutions ranging from complete small office systems or home office systems to a PBX client interface that integrate the computer and telephone networks of an organization.
How telephony makes resources available to users
Network users make calls over lines. They may also use phones for call management and control. These calls are supported by the telephony service providers. A telephony administrator makes telephony resources on a server, such as lines and phones, available to users.
In telephony, a line is any media stream (data, voice, or video) supported by a telephony service provider. For a modem, the line represents an actual telephone line. For other devices, it can represent another media stream, such as a gateway to the Internet. Calls are made by using a line provided by a telephony service provider. A single line can support more than one call at a time, such as with call waiting and conferencing. The telephony service provider determines how physical devices are represented by telephony lines.
A phone in telephony represents terminal equipment that is supported by a telephony service provider. In telephony, a "phone" closely models a physical telephone, but might not be actual hardware. It includes the concepts of a hookswitch, handset, speaker, microphone, display, lamps, and programmable buttons. As with an actual telephone on your desk, a phone may be used without actually making calls to someone else. For example, you can use a telephone handset to listen to or retrieve voice mail messages.
A phone does not have to represent actual hardware; it can be emulated in software. For instance, this type of phone might be a program that uses TAPI or a telephony service provider. A physical phone is not required to manage a media stream and, although all telephony service providers support lines, not all telephony service providers support phones.
How TAPI supports telephony
The Windows Vista and Windows Server 2008 operating systems support computer-telephony integration, from simple small office or home-based solutions to full-scale, enterprise-wide solutions. Low-level telephony solutions enable an individual to:
Use a computer as an answering machine or voice mailbox.
Use a computer to send and receive faxes.
Use a microphone and speaker or a speakerphone connected to a multimedia computer as a phone system.
Log on to a computer from a remote location.
These solutions are typically supported by a direct connection from a desktop computer to a phone line with a modem. Enterprise-wide solutions rely on a network and enable an organization to:
Use a computer either as a multiline phone system or as a multifunction PBX controller.
Provide a voice mail system across your entire enterprise.
Provide a fax system across your entire enterprise.
Provide on-demand audio information services that allow callers to retrieve pre-recorded or computer-generated text-to-speech information.
Fax information to customers on demand, based on touch-tone keys or other input.
Implement automatic, list-based dialing for telemarketing.
Deliver database information related to a call (such as a customer profile or account information) at the same time it is switched to a desktop.
Create a single, easy-to-use client program to manage all communications, such as voice, pager, e-mail, and conferencing.
Provide dial-up access to the network.
On a network, a hardware interface adapter on a server connects the LAN to a public or private telephone network. The adapter is supported by a telephony service provider. Programs running on the server provide calling features such as conferencing, transferring, forwarding, holding, and automatic redialing. The server controls the calls going through the network and out onto the PBX.
Client programs provide voice, video, fax, and data communications for the user. The Telephony service on the client uses the Windows Remote Service Provider to communicate over the network with the telephony service providers on the server, and the actual telephony services are provided by the telephony service providers managing telephony devices on the server.