|This article is based on NT 5.0, Beta 3.
How TAPI makes resources available to users
Other TAPI Applications
How TAPI supports telephony
What do most corporate employees have on their desks these days?
Chances are apart from the still obligatory pen and paper they will all have
a PC and a telephone.
Both will be connected to a network of one kind or another. The PC will be connected to
the data network, the centre of which is the file server. The telephone will be connected
to the voice network, the centre of which is the PBX. With so many of us using both
devices constantly, wouldnt it be nice if they could be tied together somehow? For
instance, as a call comes in to your telephone, it would be nice to see the number of the
caller pop-up on your PC screen. Even better if a telephony application on your PC used
that number to look-up in your customer database, find a match, and display the relevant
customer record automatically as the phone begins to ring.
As telephony and call control become more common in the desktop computer, a general
telephony interface is needed to enable applications to access all the telephony options
available on any machine. Additionally, it is imperative that the media or data on a call
is available to applications in a standard manner. IP Telephony is a demand poised for
explosive growth, as organisations begin an historic shift from expensive and inflexible
circuit-switched public telephone networks to intelligent, flexible and inexpensive IP
networks. Windows 2000 includes a robust computer telephony infrastructure that is now in
its third major version. The Telephony Application Programming Interface (TAPI) provides a
uniform set of commands for any supported telephony device that is connected to your
TAPI 3.0 is an architecture that provides simple and generic methods for making
connections between two or more machines, and accessing any media streams involved in that
connection. It abstracts call-control functionality to allow different, and seemingly
incompatible communication protocols to expose a common interface to applications. When
you use a Windows program to send faxes, connect to a telephone, make a call using IP,
join a conference, or perform other TAPI-supported activities, there are three layers of
software that enable you to use a telephony device: the application program, TAPI, and a
TAPI service provider.
- The application program enables you to make phone calls, send and
receive data or faxes, or join conferences. Examples include Phone Dialler, HyperTerminal,
and Microsoft Fax. In contrast to TAPI 2.1, the TAPI 3.0 API is implemented as a suite of
Component Object Model (COM) objects. Moving TAPI to the object-oriented COM model allows
component upgrades of TAPI features. It also allows developers to write TAPI-enabled
applications in any language, such as Java, Visual Basic, or C/C++.
- TAPI provides telephony functions for application programs, such as
- A TAPI service provider translates the commands for a specific
computer telephony device.
Microsoft and independent software vendors provide application
programs that incorporate TAPI functionality. These are the TAPI service providers
installed with Windows and other service providers provided by independent hardware
vendors for specific telephony devices. In place of proprietary solutions that are
difficult and expensive to implement, TAPI provides a single set of commands allowing
hardware and software to come from different sources. When a telephony application
requests an action, TAPI determines which TAPI service provider supports the device, and
the service provider sends the appropriate commands to the device.
For example, the Unimodem 5 Service Provider is installed with Windows 2000. When a
program wants to dial a phone number, TAPI sends the appropriate commands to the Unimodem
5 Service Provider, and the service provider sends the correct sequence of commands for
dialling the number on the particular modem attached to the computer. The application
program does not need to know anything about the modem.
As with OS/2 before it, Windows NT has always been a popular platform for telephony
applications. With TAPI, Windows 2000 provides an even more advanced telephony platform.
Windows is the operator that interconnects computer and telephony resources to direct and
manage calls. TAPI-based software can provide solutions ranging from complete small or
home office systems to PBX front ends integrating an organisations computer and
How TAPI makes resources available to users
On a Windows 2000 network, a hardware interface adapter on a server connects the LAN to a
public or private telephone network. The adapter is supported by a TAPI service provider.
Programs running on the server provide calling features such as conferencing,
transferring, forwarding, holding, and automatic redialling. The server controls the calls
going through the network and out onto the PBX. Network users make calls using lines. They
may also use phones for call management and control, and these are both supported by the
TAPI service providers. A telephony administrator makes telephony resources on a server,
such as lines and phones, available to users.
Lines - In Telephony, a line is any media stream (data, voice, or video) supported by a
TAPI 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 using a line provided by a TAPI service provider. A single line can support
more than one call at a time, such as with call waiting and conferencing. The TAPI service
provider determines how physical devices are represented by TAPI lines.
Phones - A phone in TAPI represents terminal equipment that is supported by a TAPI service
provider. In TAPI, a "phone" closely models a physical telephone, but may not be
actual hardware. It includes the concepts of a hook switch, 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, but can be emulated in software. For
instance, this type of phone might be an application that uses TAPI or a TAPI service
provider. A physical phone is not required to manage a media stream and, although all TAPI
service providers support lines, not all TAPI service providers support phones.
Other TAPI Applications
Besides supporting classic telephony providers, TAPI 3.0 supports standard H.323
conferencing and IP multicast conferencing. TAPI 3.0 utilises the Windows 2000 Active
Directory service to simplify deployment within an organisation, and it supports quality
of service (QoS) features to improve conference quality and network manageability.
H.323 - This is a comprehensive International Telecommunications Union (ITU) standard for
multimedia communications (voice, video, and data) over connectionless networks that do
not provide a guaranteed quality of service, such as IP-based networks and the Internet.
It provides for call control, multimedia management, and bandwidth management for
point-to-point and multipoint conferences.
H.323 allows multimedia streaming over current packet-switched networks. To counter the
effects of LAN latency, H.323 uses as a transport the Real-time Transport Protocol (RTP),
an IETF standard designed to handle the requirements of streaming real-time audio and
video over the Internet.
IP Multicast This is an extension to IP that allows for efficient group
communication. IP Multicast arose out of the need for a lightweight, scalable conferencing
solution that solved the problems associated with real-time traffic over a datagram,
"best-effort" network. There are many advantages to using IP Multicast:
scalability, fault tolerance, robustness, and ease of set-up.
Quality of Service - In contrast to traditional data traffic, multimedia streams, such as
those used in IP Telephony or videoconferencing, may be extremely bandwidth and delay
sensitive, imposing unique quality of service (QoS) demands on the underlying networks
that carry them. Unfortunately, IP, with a connectionless, "best-effort"
delivery model, does not guarantee delivery of packets in order, in a timely manner, or at
all. In order to deploy real-time applications over IP networks with an acceptable level
of quality, certain bandwidth, latency, and jitter requirements must be guaranteed, and
must be met in a fashion that allows multimedia traffic to coexist with traditional data
traffic on the same network.
QoS in TAPI 3.0 is handled through the DirectShow RTP filter, which negotiates bandwidth
capabilities with the network based on the requirements of the DirectShow codecs
associated with a particular media stream.
How TAPI supports telephony
Through TAPI, Windows 2000 supports computer-telephony integration, from simple small
office or home-based solutions to full-scale, enterprise-wide solutions. Low-level
solutions enable an individual to use telephony, for instance, 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 organisation to:
- Use a computer either as a multi-line phone system or as a
multifunction PBX controller.
- Provide a voice-mail system across the enterprise.
- Provide a fax system across the 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
- Implement automatic, list-based dialling 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 application to manage all
communications, such as voice, pager, email, and conferencing.
- Provide dial-up access to the network.
[an error occurred while processing this directive]