Telephony Application Programming Interface
Encyclopedia
The Telephony Application Programming Interface (TAPI) is a Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

, which provides computer telephony integration
Computer telephony integration
Computer telephony integration, also called computer–telephone integration or CTI, is a common name for any technology that allows interactions on a telephone and a computer to be integrated or coordinated...

 and enables PC
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

s running Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 to use telephone
Telephone
The telephone , colloquially referred to as a phone, is a telecommunications device that transmits and receives sounds, usually the human voice. Telephones are a point-to-point communication system whose most basic function is to allow two people separated by large distances to talk to each other...

 services. Different versions of TAPI are available on different versions of Windows. TAPI allows applications to control telephony functions between a computer and telephone network for data, fax, and voice calls. It includes basic functions, such as dialing, answering, and hanging up a call. It also supports supplementary functions, such as hold, transfer, conference, and call park found in PBX, ISDN, and other telephone systems.

TAPI 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
Dialogic Corporation
Dialogic Corporation is a designer, developer and manufacturer of communication products. It was founded in 1984 in Montreal, Canada. Dialogic products are sold worldwide through a large network of distributors and resellers, and supplied to OEMs....

 cards.

History

TAPI was introduced in 1993 as the result of joint development by Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 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
Microsoft Developer Network
The Microsoft Developer Network is the portion of Microsoft responsible for managing the firm's relationship with developers and testers: hardware developers interested in the operating system , developers standing on the various OS platforms, developers using the API and scripting languages of...

 development library CDs still contain the files and patches.

With Microsoft Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

, 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
Local area network
A local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...

 connections serving any number of computers.

TAPI 2.0 was introduced with Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

 4.0. Version 2.0 was the first version on the Windows NT platform. It made a significant step forward by supporting ACD
Automatic call distributor
In telephony, an Automatic Call Distributor , also known as Automated Call Distribution, is a device or system that distributes incoming calls to a specific group of terminals that agents use. It is often part of a computer telephony integration system.Routing incoming calls is the task of the 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
Windows 2000
Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...

. This version enables IP telephony (VoIP) by providing simple and generic methods for making connections between two (using H.323
H.323
H.323 is a recommendation from the ITU Telecommunication Standardization Sector that defines the protocols to provide audio-visual communication sessions on any packet network...

) or more (using IP Multicast
IP Multicast
IP multicast is a method of sending Internet Protocol datagrams to a group of interested receivers in a single transmission. It is often employed for streaming media applications on the Internet and private networks. The method is the IP-specific version of the general concept of multicast...

) computers and now also offers the ability to access any media streams
Streaming media
Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a streaming provider.The term "presented" is used in this article in a general sense that includes audio or video playback. The name refers to the delivery method of the medium rather...

 involved in the connection.

Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

 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
Telephony Service Provider
A telephony service provider, as defined in Microsoft's TAPI specification, is a software interface to a physical telephony device that can be accessed programmatically to perform actions such as dialing a phone number or logging a call. TSPs can be thought of as a TAPI specific driver for a...

) 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
Telephony Server Application Programming Interface
TSAPI, short for Telephony Server Application Programming Interface, was a computer telephony integration standard developed and promoted by Novell and AT&T. It consisted of a number of call control commands for switching calls, voice mail and call logging using Netware servers...

 (TSAPI) is a similar standard developed by Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...

 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++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 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 language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s.

TAPI 3.x was designed with a COM
Component Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

 (Component Object Model) interface. This was done with the intent of making it accessible to higher level applications such as developed in VB
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

 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 ITAPI3 and other developers such as Mondago provide .Net libraries to work indirectly with TAPI enabled PBXs.

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
Telephony
In telecommunications, telephony encompasses the general use of equipment to provide communication over distances, specifically by connecting telephones to each other....

 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. In other cases, drivers are available for separate purchase from iQ NetSolutions, Estos and Mondago
Mondago
Mondago Ltd, founded in 2001 as Tiger Software Ltd, offers various Computer Telephony software products for supply across Europe. Their products serve small, medium and national multi-location companies across various industries....

:
  • 3Com NBX (First and third party)
  • Aastra 800 (Third party by Mondago)
  • Aastra Intelligate (First and third party)
  • Aastra MD Evolution
  • Alcatel OXO (Third party)
  • Alcatel OXE (Third party)
  • Allworx 6x, 10x, & 24x (using Call Assistant license)
  • AltiGen
  • Aastra Communication Manager/Definity (Third party by Mondago)
  • Avaya Index (Third party)
  • Avaya IP Office (First and third party)
  • BroadSoft BroadWorks (Third party by ESTOS/Mondago)
  • Cisco Call Manager (First and third party)
  • Cisco Call Manager Express (First-party by Cisco and Third Party by ESTOS/Mondago)
  • Elmeg
  • InterTel Axxess (First-party and third party by Mondago)
  • Innovaphone
  • LG LDK (Third party)
  • LG-Ericsson IPLDK-20 (First and third party)
  • LG-Ericsson IPLDK-50/100/300/600 (First and third party)
  • LG-Ericsson iPECS release 5.5 (First and third party)
  • Mitel 3000 (Third party by Mondago)
  • Mitel 3300ICP (TAPI Gateway by iQ NetSolutions, ESTOS and Mondago)
  • Mitel 5000 (Third party by Mondago)
  • NEC-Philips iS3000
  • NEC Aspire / Philips IPC500 (Third party and first party)
  • NEC XN120/Topaz / Philips IPC100 (Third party and first party)
  • NEC SV8100 (Third party and first party)
  • Nitsuko DXE600 (Third party)
  • Nortel BCM (First and third party)
  • Nortel CS
  • Nortel Meridian
  • Nortel Norstar (First party)
  • Panasonic KX-TD (Third party)
  • Panasonic KX-TDA (Third party)
  • Panasonic KX-TDE (Third party)
  • Panasonic NCP (Third party)
  • Samsung OfficeServ (First and third party)
  • Selta SAMIP (First and third party)
  • Siemens 3000 (First & Third-party by Siemens and Third Party by ESTOS/Mondago)
  • Siemens HiPath 4000
  • Siemens HiPath 8000
  • Siemens Open Office/HOOME (First & Third-party by Siemens and Third Party by Mondago)
  • Siemens TC35i
  • Shoretel
  • Splicecom Maximiser (Third party)
  • Tadiran
  • Tekelec (First-party)
  • Teltronics Cerato IP
  • Toshiba CT (First-party and Third party by Mondago)
  • Way 2 Call
  • ZyXEL X6004/X2002 PBX

See also

  • TSAPI
  • JTAPI
    Java Telephony API
    The Java Telephony API supports telephony call control. It is an extensible application programming interface designed to scale for use in a range of domains, from first-party call control in a consumer device to third-party call control in large distributed call centers.-External links:*****...

      (Java Telephony API)
  • Microsoft NetMeeting
    Microsoft NetMeeting
    Microsoft NetMeeting was a VoIP and multi-point videoconferencing client included in many versions of Microsoft Windows . It used the H.323 protocol for video and audio conferencing, and was interoperable with OpenH323-based clients such as Ekiga, and Internet Locator Service as reflector...

  • Telephony Service Provider
    Telephony Service Provider
    A telephony service provider, as defined in Microsoft's TAPI specification, is a software interface to a physical telephony device that can be accessed programmatically to perform actions such as dialing a phone number or logging a call. TSPs can be thought of as a TAPI specific driver for a...

  • H.323
    H.323
    H.323 is a recommendation from the ITU Telecommunication Standardization Sector that defines the protocols to provide audio-visual communication sessions on any packet network...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK