TAPI Application Development

A version of this page is also available for

Windows Embedded CE 6.0 R3


Windows Mobile supports a subset of the Microsoft Telephony API (TAPI) 2.0 and some parts of TAPI 2.1. TAPI is a set of APIs that simplify and abstract the details of making telephony connections between two or more devices. TAPI abstracts call-control functionality to allow different, and seemingly incompatible, communication protocols to expose a common interface to applications through its support of telephony service providers (TSPs).

Windows Mobile ships with one TSP, the Unimodem service provider, which supports AT-command-based modems. Windows Mobile supports installable service providers, which enables independent software vendors (ISVs), original equipment manufacturers (OEMs), and independent hardware vendors (IHVs) to add additional TSPs under TAPI — for example VoIP, such as H323 and session initiation protocol (SIP), Integrated Services Digital Network (ISDN), cell phones, and so on.

Windows Mobile, through the addition of TAPI 2.0, brings inbound call support for both data and voice. Supplementary services (call forward, hold, park, conferencing, and so forth) and support for multiple calls are added also. In addition, support for call-center management is enhanced, with modeling of predictive dialing ports and queues, associating data with calls, controlling message waiting lights, and controlling music on hold and centralized event timing. Furthermore, application message notification is improved significantly in TAPI 2.0. As with previous versions of TAPI, the availability of this functionality depends upon the underlying TSP and hardware.

You can use TAPI 2.0 to bring telephony functionality to any Windows Mobile–based application, such as a database manager, spreadsheet, word processor, personal information manager, or any other application that can benefit by sending and receiving data through the telephone network.

TAPI 2.0 provides a set of tools for incorporating this functionality into your application:

  • Connect directly to the telephone network, instead of relying on a separate communications application.
  • Dial telephone numbers automatically.

With TAPI 2.0, a user can make a telephone call through a Windows Mobile–based device, set up a conference call, or connect to a remote host computer to download data at predetermined times. TAPI applications also can determine whether or not the mobile terminal supports advanced functionality, such as call waiting or faxing.

The Windows Mobile implementation of TAPI 2.0 supports a set of APIs that let you create various types of applications that implement telephony functionality. Windows Mobile also supports the TAPI telephone device API set.

The Tapi.dll library file exports all of the TAPI functions that can be used to create TAPI applications. TAPI function prototypes, as well as TAPI structures, are defined in the Tapi.h header file.

In This Section

  • Phone Device
    Describes the elements of a telephone device.
  • TAPI Migration
    Provides information about issues to consider during migration to a newer version of the operating system.
  • TAPI Reference
    Provides information on programming elements available for TAPI.
  • TSPI Reference
    Provides information on programming elements available for TSPI.

See Also


General Architecture of TAPI 2.0
Line Device
Phone Device
Establishing a Modem Connection
Telephony Service Provider Interface
TAPI Registry Settings