HOME

TheInfoList



OR:

The Telephony Application Programming Interface (TAPI) is a Microsoft Windows API, which provides
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 coordinated. The term is predominantly used to describe deskto ...
and enables PCs running Microsoft Windows to use
telephone A telephone is a telecommunications device that permits two or more users to conduct a conversation when they are too far apart to be easily heard directly. A telephone converts sound, typically and most efficiently the human voice, into el ...
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 Integrated Services Digital Network (ISDN) is a set of communication standards for simultaneous digital transmission of voice, video, data, and other network services over the digitalised circuits of the public switched telephone network. Wor ...
, 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 cards.


History

TAPI was introduced in 1993 as the result of joint development by
Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
and
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
. 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 (MSDN) was the division of Microsoft responsible for managing the firm's relationship with developers and testers, such as hardware developers interested in the operating system (OS), and software developers developing ...
development library CDs still contain the files and patches. With Microsoft
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufactu ...
, 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 Lan or LAN may also refer to: Science and technology * Local asymptotic normality, a fundamental property of regular models in statistics * Longitude of the ascending node, one of the orbital elements used to specify the orbit of an object in sp ...
connections serving any number of computers. TAPI 2.0 was introduced with
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Wi ...
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 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was official ...
. This version enables IP telephony (
VoIP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Interne ...
) by providing simple and generic methods for making connections between two (using H.323) or more (using
IP multicast IP multicast is a method of sending Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission. It is the IP-specific form of multicast and is used for streaming media and other network applications. It uses speci ...
) computers and now also offers the ability to access any media stream (MSP driver) involved in the connection.
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
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 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 ...
) is a similar standard developed by
Novell Novell, Inc. was an American software and services company headquartered in Provo, Utah, that existed from 1980 until 2014. Its most significant product was the multi- platform network operating system known as Novell NetWare. Under the l ...
for
NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product i ...
servers.


Telephone address format

TAPI uses Microsoft canonical address format for telephone numbers to make phone calls. It is a derivative of E.123 international notation. The canonical address is a text string with the following format: +Country␣(AreaCode)␣ SubscriberNumber , Subaddress ^ Name CRLF. Area code, subaddress and name are optional; the latter can carry extension number for direct inward dialing and calling party name, as used by
ISDN Integrated Services Digital Network (ISDN) is a set of communication standards for simultaneous digital transmission of voice, video, data, and other network services over the digitalised circuits of the public switched telephone network. Wor ...
/ E1/ T1 telecommunication protocols. Dialing rules are used to transform the canonical phone number into a dialable calling sequence for the
modem A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by modulating one or more c ...
, depending on the user's location. The dialing rules include variable-length dialing for area code, trunk access and international access prefixes, as well as central office access and
calling card ''Calling Card'' is the sixth studio album and eighth album overall by Irish singer/guitarist Rory Gallagher. A 1976 release, it was his second of four albums released on Chrysalis Records in the 1970s. Deep Purple/Rainbow bass guitarist Roger ...
/
credit card A credit card is a payment card issued to users (cardholders) to enable the cardholder to pay a merchant for goods and services based on the cardholder's accrued debt (i.e., promise to the card issuer to pay them for the amounts plus the o ...
numbers. The calling sequence can contain dialable numbers such as digits 0-9 and
DTMF Dual-tone multi-frequency signaling (DTMF) is a telecommunication signaling system using the voice-frequency band over telephone lines between telephone equipment and other communications devices and switching centers. DTMF was first developed ...
tones ABCD*#, formatting characters ␣ . -, and control characters ! P T , W @ $ ? ; which correspond to the Dial command of the Hayes AT command set. The following control characters are defined: :! - hookflash, i.e. half second on-hook followed by half second off-hook; :P -
pulse dialing Pulse dialing is a signaling technology in telecommunications in which a direct current local loop circuit is interrupted according to a defined coding system for each signal transmitted, usually a digit. This lends the method the often used nam ...
mode; :T - tone dialing mode; :, - pause dialing (duration specified by the device); :W - wait for
dial tone A dial tone is a telephony signal sent by a telephone exchange or private branch exchange (PBX) to a terminating device, such as a telephone, when an off-hook condition is detected. It indicates that the exchange is working and is ready to init ...
; :@ - wait for "quiet answer", i.e. the ringback tone followed by several seconds of silence; :$ - wait for a billing signal, such as credit card prompt tone; :? - indicates that the user is to be prompted before continuing (results in an application error since the API has no means to implement a user prompt); :; - the number is not complete and will be finished later (only valid in a dialable number).


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 earlier versions were written in C; the API uses pointers to structures. Consequently, TAPI 2.x is easy to access from C or C++ applications, but it can be awkward to use from many other
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming l ...
s. TAPI 3.x was designed with a Component Object Model (COM) interface. This was done with the intent of making it accessible to higher level applications such as developed in VB 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 Articl
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 a 2.x wrapper for .NET. Other developers provide 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

On
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
, TAPI support was almost universal in
telephony Telephony ( ) is the field of technology involving the development, application, and deployment of telecommunication services for the purpose of electronic transmission of voice, fax, or data, between distant parties. The history of telephony is i ...
hardware such as
voice modem A voice modem is an analog telephone data modem with a built-in capability of transmitting and receiving voice recordings over the phone line. Voice modems are used for telephony and answering machine applications. Similar to the Hayes command s ...
s (both internal and external) and computer expansion boards such as
Dialogic telephony cards Dialogic telephony cards was a line of PC expansion cards developed in 1990s by Dialogic Inc., at the time Media & Signaling Division of Intel Corporation, for computer telephony applications. The cards are currently produced today by Sangoma Tech ...
. The only notable exception who never natively supported TAPI was the Avaya Communication Manager, which relied solely on the
TSAPI 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 ...
interface for connectivity. Many PBX systems provide TAPI-compliant modem interfaces. TAPI compatible PBX solutions include Aastra (400/800), Aastra (MX-ONE), Alcatel (OXO/OXE),
Avaya Avaya Holdings Corp., often shortened to Avaya (), is an American multinational technology company headquartered in Durham, North Carolina, that provides cloud communications and workstream collaboration services. The company's platform inc ...
(BCM, IP Office),
Cisco Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational corporation, multinational digital communications technology conglomerate (company), conglomerate corporation headquartered in San Jose, California. Cisco develo ...
(Call Manager), Ericsson-LG (eMG80, iPECS, ipLDK), NEC-Philips (iS3000, IPC100/500), NEC (SL1000, SV8100/9100), Nitsuko (DXE600/328),
Panasonic formerly between 1935 and 2008 and the first incarnation of between 2008 and 2022, is a major Japanese multinational conglomerate corporation, headquartered in Kadoma, Osaka. It was founded by Kōnosuke Matsushita in 1918 as a lightbulb ...
(KX-TDA/TDE/NCP, KX-NS1000),
Samsung The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean multinational manufacturing conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affiliated businesses, most of them united under the ...
(OfficeServ), Unify (3000/4000, Openscape Office), ShoreTel, and ZyXEL (X6004/X2002). Third party drivers are often available for the telephone systems that don't have drivers made by the manufacturers.


See also

*
TSAPI 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 ...
*
JTAPI The Java Telephony API (JTAPI) supports telephony call control. It is an extensible application programming interface (API) designed to scale for use in a range of domains, from first-party call control in a consumer device to third-party call contr ...
(Java Telephony API) * Microsoft NetMeeting *
Microsoft telephone number format E.123 is an international standard by the standardization union (ITU-T), entitled ''Notation for national and international telephone numbers, e-mail addresses and Web addresses''. It provides guidelines for the presentation of telephone numbers, e ...
* Telephony Service Provider * H.323


References


External links

*
MSDN Microsoft Developer Network (MSDN) was the division of Microsoft responsible for managing the firm's relationship with developers and testers, such as hardware developers interested in the operating system (OS), and software developers developing ...
br>Library about TAPI


{{Microsoft APIs Telephony Microsoft application programming interfaces