The Telephony Application Programming Interface ( TAPI ) is a Microsoft Windows API, which provides computer telephony integration and enables PCs running Microsoft Windows to use telephone services. Different versions of TAPI are available on different versions of Windows.
The purpose of the TAPI specification is to provide control of telephony resources to applications. This is used primarily to control either Modems or, more recently, to control business telephone system (PBX) handsets. When controlling a PBX handset, the driver is provided by the manufacturer of the telephone system. Some manufacturers provide drivers that allow the control of multiple handsets. This is traditionally called "third-party control". Other manufacturers provide drivers that allow the control of a single handset. This is called "first-party control". Third-party drivers are designed to allow applications to see and/or control multiple extensions at the same time. Some telephone systems only permit one third-party connection at a time. First-party drivers are designed to allow applications to monitor and/or control one extension at a time. Telephone systems naturally permit many of these connections simultaneously. Modem connections are by nature first-party.
Tapi can also be used to control voice-enabled telephony devices, including voice modems and dedicated hardware such as Dialogic cards.
History
TAPI was introduced in 1993 as the result of joint development by Microsoft and Intel. The first publicly available version of TAPI was version 1.3, which was released as a patch on top of Microsoft Windows 3.1. Version 1.3 drivers were 16-bit only. Version 1.3 is no longer supported, although some MSDN development library CDs still contain the files and patches.
With Microsoft Windows 95, TAPI was integrated into the operating system. The first version on Windows 95 was TAPI 1.4. TAPI 1.4 had support for 32-bit applications.
The TAPI standard supports both connections from individual computers and LAN connections serving any number of computers.
TAPI 2.0 was introduced with Windows NT 4.0. Version 2.0 was the first version on the Windows NT platform. It made a significant step forward by supporting ACD and PBX-specific functionality.
In 1997, Microsoft released TAPI version 2.1. This version of TAPI was available as a downloadable update and was the first version to be supported on both the Microsoft Windows 95 and Windows NT/2000 platforms.
TAPI 3.0 was released in 1999 together with Windows 2000. This version enables IP telephony (VoIP) by providing simple and generic methods for making connections between two (using H.323) or more (using IP Multicast) computers and now also offers the ability to access any media streams involved in the connection.
Windows XP included both TAPI 3.1 and TAPI 2.2. TAPI 3.1 supports the Microsoft Component Object Model and provides a set of COM objects to application programmers. This version uses File Terminals which allow applications to record streaming data to a file and play this recorded data back to a stream. A USB Phone TSP (Telephony Service Provider) was also included which allows an application to control a USB phone and use it as a streaming endpoint. TAPI 3.0 or TAPI 3.1 are not available on operating systems earlier than Windows 2000 and Windows XP respectively.
The Telephony Server Application Programming Interface (TSAPI) is a similar standard developed by Novell for NetWare servers.
TAPI 2.x vs TAPI 3.x
It is a common misconception that TAPI 3.0 (or TAPI 3.1 ) replaces TAPI 2.x .
TAPI 2.x (and all earlier versions) is written in C/C++ and requires applications to make heavy use of C style pointer arithmetic. This makes TAPI 2.x fast and easy to access from C/C++ applications, but it also makes it difficult to use from many other programming languages.
TAPI 3.x was designed with a COM (Component Object Model) interface. This was done with the intent of making it accessible from managed languages such as C# or other environments that provide easy access to COM but don't deal with C-style pointers.
TAPI 3.x has a slightly different set of functionality than TAPI 2.x. The addition of integrated media control was the most significant addition. But TAPI 3.x doesn't include all functionality that TAPI 2.x does, like support for the Phone class.
One very notable issue with TAPI 3.x is the lack of support for managed code (.NET environment). As documented in Microsoft KB Article 841712, Microsoft currently has no plans to support TAPI 3.x directly from .Net programming languages. However, Mark Smith has provided a Managed C++ library called TSP++ 3.0.
One often overlooked reason an application developer might choose between TAPI 2.x and TAPI 3.x should be the hardware vendors recommendation. Even though TAPI provides an abstract model of phone lines, telephony applications are still heavily impacted by the specific behavior of the underlying hardware. Troubleshooting behavior issues usually requires both software and hardware vendors to collaborate. Because there is almost a 1:1 relationship between the TAPI Service Provider (TSP) interface and the TAPI 2.x interface, collaboration is often easier if the application is designed using TAPI 2.x. Experience with TAPI 3.x varies significantly between hardware vendors .
TAPI compliant hardware
Telephony hardware that supports TAPI includes most voice modems and some telephony cards such as Dialogic boards.
The following telephone systems provide Tapi drivers. Many of these drivers are licensed and thus incur a charge to use:
Aastra (WOW Edition)
Alcatel OXO
Alcatel OXE
AltiGen
Avaya Index
Avaya IP Office
Cisco Call Manager
Cisco Call Manager Express (First-party)
Elmeg
InterTel Axxess (First-party)
LG LDK
Mitel 3300 (discontinued)
NEC-Philips iS3000
NEC Aspire
NEC XN120 (Topaz)
Nortel BCM
Nortel CS
Nortel Meridian
Nortel Norstar
Panasonic KX-TD
Panasonic KX-TDA
Panasonic KX-TDE
Panasonic NCP
Samsung OfficeServ
Siemens 3000 (First-party)
Tadiran
Toshiba CT (First-party)
See also
- TSAPI
- JTAPI (Java Telephony API)
- Microsoft NetMeeting
- Telephony Service Provider
- H.323
Panasonic KX-T7436 Phone - Athq.com
Panasonic KXT7436 Phone, KX-T7436W, 6-Line 24 Character LCD Readout with 3 Soft Keys, Hands-Free Speakerphone, Auto Answer/Mute - Athq.com
Panasonic Cordless Digital DECT Phones, Fax Machines, Multi-Line ...
Buy Cheap Panasonic Cordless Phones from PMC Telecom today, we carry a full range in stock, including KT-TG7100, KX-TG7120, KX-TG8100, KX-TG8120, KX-TG9120, and KX-TCD820. We also ...
Panasonic KX-TG1032S Cordless Phone - Yahoo! Shopping
Yahoo! Shopping is the best place to comparison shop for Panasonic KX-TG1032S - Cordless Phone. Compare products, compare prices, read reviews and merchant ratings...
KX-T2375MX | Corded Phone / Integrated Telephone Systems ...
16-Digit LCD with Clock Hands-Free Speakerphone 30-Station One-Touch / Speed Dialer
KX-T2371MX | Corded Phone / Integrated Telephone Systems ...
13-Station One-Touch / Speed Dialer Data Port / Redial Ringer Indicator
Panasonic KX-TG1033S Cordless Phone - Yahoo! Shopping
Yahoo! Shopping is the best place to comparison shop for Panasonic KX-TG1033S - Cordless Phone. Compare products, compare prices, read reviews and merchant ratings...
Panasonic KX-TA82461 Door Phone Card - Athq.com
Panasonic KX-TA82461 Door Phone DOOR OPEN CARD card allows you to connect up to 4 door intercoms - Athq.com
Panasonic KX-T7433 KX-TD 7433 Phone
The Panasonic KX-TD 7433 is 24 button 3 line character display speakerphone. Compatible with KX-TD, KX-TDA, KX-TD308, KX-TD816, and KX-TD1232.
Panasonic KX - DPT/System Phones and terminals for Panasonic telephone ...
Panasonic KX. DPT/System Phones and terminals for Panasonic telephone systems and much more...
Panasonic : KX-TG8422EB DECT Phone
Panasonic eshop, buy direct online & get special offers on latest plasma, LCD, digital cameras, DVD recorders,HD ,Home cinema, breadmaker, Mp3 player, memory cards, camcorders, DVD ...