Telephony API

Telephony is a technology that integrates computers with telephone networks. With telephony, people can use their computers to take advantage of a wide range of communications features and services over a telephone line.

The Telephony API (TAPI) allows programmers to develop applications that provide personal telephony to users. TAPI supports both speech and data transmission, and allows for a variety of terminal devices. It supports complex connection types and call-management techniques such as call conferencing, call waiting, and voice mail. TAPI allows all elements of telephone usage, from the simple dial-and-speak call to international e-mail, to be controlled within applications developed for Microsoft® Win32® application programming interfaces.

Many applications can utilize telephony:

  • Multicast multimedia IP conferencing.

  • Voice calls over the Internet.

  • Call center applications capable of tracking multiple agents.

  • Basic voice calls on the Public Switched Telephone Network (PSTN).

  • Private Branch Exchange (PBX) control.

  • Interactive voice response (IVR) systems.

  • Voice mail.

Figure B.14 shows the major components of the TAPI architecture.


Figure B.14 TAPI Architecture

TAPI 3.0 COM API    The TAPI 3.0 API is implemented as a suite of Component Object Model (COM) interfaces. This allows developers to write TAPI-enabled applications in any COM-aware language, such as Java, Microsoft® Visual Basic, or Microsoft® Visual C++®. TAPI 3.0 supports two classes of service providers: telephony and media.

TAPI 2.1 COM API    TAPI 2.1 COM API provides compatibility with TAPI 3.0. TAPI 2.1 is a translation layer that maps 16-bit addresses to 32-bit addresses and passes requests along to Tapi32.dll.

Tapi32.dll    Tapi32.dll is a thin marshaling layer, that transfers function requests for Tapisrv.exe. When needed, it loads and calls service provider user interface DLLs.

TAPI Server    TAPI server is implemented by Tapisrv.exe, the core component of TAPI. TAPI server runs as a separate service process in which all telephony service providers run. API functions communicate with the TAPI server to send service requests to telephony service providers.

Telephony Service Providers    Telephony service providers are dynamic-link libraries that carry out low-level and device-specific actions needed to complete telephony tasks through hardware devices such as fax adapters, ISDN adapters, telephones, and modems. Applications link to and call functions in the TAPI dynamic-link library only; they never call the service providers directly.

Media Service Providers    The Microsoft H.323 Telephony Service Provider and its associated Media Service Provider (MSP) allow TAPI-enabled applications to engage in multimedia audio/video sessions with any H.323-compliant terminal on a local area network (LAN) or the Internet. Examples include:

  • The multicast conference service provider. Uses IP multicast techniques to provide efficient multiparty audio and video conferencing facilities over IP networks, intranets and the Internet.

  • The NDIS Proxy Service Provider. Offers a TAPI interface to wide area network (WAN) devices, such as ISDN or ATM.

  • TAPI, which has a Remote Service Provider to support client/server telephony. The Remote SP provides TAPISRV telephony service extensions for client access to TAPI devices that reside on networked server machines.

  • The TAPI Kernel-Mode Service Provider. Communicates with NDIS components in order to provide a TAPI interface to NDISWAN drivers.

  • Unimodem 5. A Telephony Service Provider that provides an abstraction for modem devices so that applications can operate transparently across a wide variety of modems.

  • Third-party hardware and software vendors. Can write Telephony Service Providers that are compatible with TAPI for additional applications.

For more information about TAPI, see "Telephony Integration" in the Windows   2000 Internetworking Guide .