Platform SDK: TAPI

TAPI Service Provider Overview

TAPI service providers are an abstraction layer between TAPI applications and the underlying hardware and transport protocols. A Telephony Service Provider (TSP) supplies call controls and a Media Service Provider (MSP) supplies detailed control over the media of a call. A TSP/MSP pair can implement the capabilities needed for applications ranging from basic telephony to IP multicast multimedia conferencing.

TAPI applications reside in their own process space. TAPI applications load the Tapi32.dll or Tapi3.dll into their process, and TAPI communicates with Tapisrv.exe through a private RPC interface. A TSP runs in the context of TAPISRV. A given TSP may reside on a machine other than the user's machine and is accessed using a remote TSP. Tapisrv.exe is implemented as a service process within SVCHOST. An MSP lives within the process space of the application and is always local.

A TSP/MSP pair can be regarded as having a virtual private communication path. Information can be sent between the two using opaque buffers that are not interpreted by either TAPISRV or the TAPI DLL.

Some service providers implement operations specific to the hardware involved. TAPI 2.x provides access to such operations through the lineDevSpecific or phoneDevSpecific function. TAPI 3.x exposes provider-specific Interfaces.

The following diagram illustrates the flow of controls and information, showing one stand-alone TSP (Unimodem) and one TSP/MSP pair (H.323).