Telephony API (TAPI) provides a standard programming interface that allows applications developers to take advantage of the capabilities and services of different telephone systems, analog PSTN, digital ISDN, PBXes, and key systems. TAPI removes the need for programmers to develop different drivers for different communications systems. Vendors of communications hardware write hardware-specific SPI (Service Provider Interface) drivers -- a separation that is similar to the way printer or display drivers work under Windows.
Significant benefits are TAPI's call-control facilities and ease of modem installation. In principle, TAPI does no more than replace the ATDT dial string and the ATH disconnect string with fu
nction calls. However, without this functionality, the application would grab control of the port and wouldn't release it until after the program was closed.
Unfortunately, other AT commands must still be handled by the application and remain hardware-dependent. Automatic installation of modems, which is done via Windows 95's modem database, is associated with the UniModem TAPI driver. Communications software vendors, such as Delrina, report that around 95 percent of their hot-line calls concern modem-setup problems, so automatic identification and configuration would be a big help for users.
Advanced computer telephony integration (CTI) applications need media control, such as storing incoming faxes directly to disk, and handling complex function calls, such as faxing files. Applications developers expect these functions to be in the TAPI DLL by next year.
In the meantime, some hardware vendors recommend using TAPI for call control, and the Signal Computing System Architecture (SCSA) for me
dia control. For software developers, the main question that remains is whether they should produce hardware-independent applications based on TAPI or design more sophisticated, media-controlled programs that are hardware dependent.