Telephony Application Programming Interface

Telephony Application Programming Interface

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.

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 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.

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 fast and easy to access from C/C++ applications, but it also makes it difficult to use from many other programming languages.

On the other hand, 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 like Java 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 [http://support.microsoft.com/default.aspx?scid=kb;en-us;841712 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 [http://www.julmar.com/tapi/ 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.

ee also

*JTAPI (Java Telephony API)
*Microsoft NetMeeting
*Telephony Service Provider
*H.323

External links

* MSDN [http://msdn2.microsoft.com/en-us/library/ms950407.aspx Library about TAPI]
* [http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm Andreas Marschall's TAPI and TSPI FAQ]
* [http://www.tapi.info www.tapi.info Wiki Site about TAPI]
* [http://www.kaed.com/kdtele/index.html KDTele Tools - Programming Library for TAPI from Kaed Systems]
* [http://www.julmar.com/_Media/tspv3053.exe TSP++ 3.0 - .NET managed Library for TAPI from Mark Smith]
* [http://www.deepsoftware.com/nrcomm/index.html nrComm Lib Delphi/C++Builder component library with TAPI support]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Telephony Application Programming Interface — Das Telephony Application Programming Interface (TAPI) ist eine Programmierschnittstelle für Telefonieanwendungen. Sie wurde 1993 von Microsoft und Intel eingeführt. Beispielsweise enthält das Betriebssystem Microsoft Windows (ab Version NT 5.0,… …   Deutsch Wikipedia

  • Telephony Services Application Programming Interface — Telephony Services Application Programming Interface,   TSAPI …   Universal-Lexikon

  • Windows Application Programming Interface — Windows API (application programming interfaces) общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом… …   Википедия

  • Common ISDN Application Programming Interface — Das Common ISDN Application Programming Interface (CAPI) ist eine ISDN konforme standardisierte Programmierschnittstelle. Mit Hilfe der CAPI Schnittstelle kann Computer Software für die Nutzung von ISDN bereitgestellt werden, ohne dass Kenntnisse …   Deutsch Wikipedia

  • Speech Application Programming Interface — The Speech Application Programming Interface or SAPI is an API developed by Microsoft to allow the use of speech recognition and speech synthesis within Windows applications. To date a number of versions of the API have been released, which have… …   Wikipedia

  • Messaging Application Programming Interface — (MAPI) is a messaging architecture and a Component Object Model based API for Microsoft Windows. MAPI allows client programmes to become (e mail) messaging enabled, aware, or based by calling MAPI subsystem routines that interface with certain… …   Wikipedia

  • List of Microsoft Windows application programming interfaces and frameworks — The following is a list of Microsoft APIs and frameworks. Contents 1 APIs 1.1 Current 1.2 Deprecated 2 Frameworks 2.1 …   Wikipedia

  • Application server — In n tier architecture an application server is a server that hosts an API to expose Business Logic and Business Processes for use by other applications [ [http://mediaproducts.gartner.com/reprints/microsoft/vol3/article2/article2.html Magic… …   Wikipedia

  • Telephony over Internet Protocol — Voix sur réseau IP Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • Transpo …   Wikipédia en Français

  • Computer telephony integration — For the telephony API in Microsoft Windows, see Telephony Application Programming Interface. Computer telephony integration, also called computer–telephone integration or CTI, is a common name for any technology that allows interactions on a… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”