Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Telephony Application Programming Interface
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==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 (programming language)|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]]s.<ref>{{Citation |last=Smith |first=Mark |title=markjulmar/atapi.net |date=2025-03-24 |url=https://github.com/markjulmar/atapi.net |access-date=2025-03-24}}</ref> 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 [[Visual Basic|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 ([[Microsoft .NET|.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 ITAPI3<ref>{{Cite web|url=https://github.com/markjulmar/itapi3|title = ITAPI3 - Managed TAPI 3.0 .NET wrapper|website = [[GitHub]]|date = 15 March 2021}}</ref> and a 2.x wrapper for .NET.<ref>{{Cite web|url=https://github.com/markjulmar/atapi.net|title=ATAPI.NET - Managed library for TAPI development with .NET|website=[[GitHub]]|date=12 November 2021}}</ref> Other developers provide libraries to work indirectly with TAPI enabled PBXs.<ref>{{Cite web|url=https://sourceforge.net/projects/siptapi/|title = Siptapi}}</ref> 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.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Telephony Application Programming Interface
(section)
Add topic