Telephony hardware and software components interact using a set of routines and functions called the API set. If you write your own software to work with telephony functions, you can use either a toolkit or an API set to communicate with the telephony subsystem. For example, you can use an API set and write a C-language program to open a phone line and dial out.

There are several API sets to choose from. At first, they appear to be in competition, but each API set has its own unique orientation. Ideally, CTI will evolve to support a single API set, but that's clearly not the case today. The three primary API sets you are likely to encounter are:

  • The telephony hardware vendor's API set--This set is normally part of the driver software that accompanies the telephony hardware interface. It often includes routines to accommodate low-level hardware functions and is intended for the professional telephony software-development community. Customer-developed applications should use one of the other two API sets or a telephony toolkit that simplifies the level of the interface.
  • The Microsoft/Intel Telephony API set--TAPI addresses the integration of telephony services into the Windows operating environment. Released in 1993, it is oriented toward integration at the desktop and has no specific dependencies on underlying network protocols or server configurations. TAPI is, however, currently being revised to take advantage of Microsoft's client/server computing architecture.
  • The Novell/AT&T Telephony Services API set--TSAPI allows NetWare clients to access telephony services installed on a Novell NetWare server. The server-based telephony functions are enabled through one or more NetWare Loadable Modules (NLMs) which communicate with telephony-interface adapters installed on the server. TSAPI also was introduced in 1993.

Although each API set has its own niche, many CTI industry observers predict that TAPI will emerge as the standard for "open" CTI solutions.