TAPI Architecture

All components of Win32 Telephony (other than components provided for backward compatibility), including service providers, are implemented in 32 bits.

Existing 16-bit applications link to Tapi.dll. In Microsoft® Windows® 3.1 and Windows 95, Tapi.dll is the core of Windows Telephony, but with TAPI 2.0 and later, Tapi.dll is simply a thunk layer (or translation layer) to map 16-bit addresses to 32-bit addresses, and pass requests along to Tapi32.dll.

Existing 32-bit applications link to Tapi32.dll. In Windows 95, Tapi32.dll is a thunk layer to TAPI. With TAPI 2.0 and later, Tapi32.dll is a thin marshaling layer, that transfers function requests to Tapisrv.exe and, when needed, loads and invokes service provider user interface DLLs in the application's process.

Tapisrv.exe is the core of TAPI. It runs as a separate service process, in which all Telephony Service Providers execute. Service providers can create threads in the TAPISRV context as needed to do their work.

Key components of TAPI 3.0 architecture include:

  • TAPI 3.0 COM API

  • TAPI Server Process

  • Telephony Service Providers

  • Media Service Providers