The Microsoft Windows foundation and TAPI 2.0 combine to provide the flexibility and scalability upon which a rich and diverse CTI industry can thrive. With TAPI, developers can create applications ranging from simple desktop telephony helpers to complex call-center packages that support thousands. In addition to supporting the widest array of call models, TAPI allows users to run several telephony applications simultaneously on a client or server PC. Of course, at the heart of TAPI 2.0 is the abstraction of the hardware layer.
One of the major problems in connecting the computer to the telephone is the enormous complexity and diversity found in the underlying telephone network. Virtually all of the telephony APIs in the industry today have been promulgated by an individual switch manufacturer, and require use not only of their PBX but also of interface hardware or server software sold by the same manufacturer. Other APIs, while available on a variety of hardware platforms, have nevertheless been generally restricted to a single networking environment, such as PBXs or ISDN, and are not portable to other environments such as "Plain Old Telephone Service" (POTS) or Centrex. This has meant that the market for any particular application written in conformance to these APIs has been small, since different versions (often with quite different user interfaces) were required for each switch or network.
The Windows Telephony API abstracts the vast array of proprietary hardware and provides standard programming interfaces that allow users and application developers to take advantage of the many capabilities and services of different telephone systems. TAPI is designed to permit the implementation of drivers that work with any network topology and call model, isolating the application from the complexities of any particular network (for example, Q.931 signaling in ISDN).
This means application developers are isolated from the complexity and variability of the underlying telephone network and no longer have to "hard-code" their applications to a particular system's signaling or message set requirements. Telephone network providers can tap into a broad range of applications, thereby driving network utilization. Customers can develop or purchase applications and protect their investment as applications are used with different phone systems, in different offices, or even at employee homes.
Figure 1. The Telephony API approach—abstract the hardware from the software.
Applications developers write to the Applications Programming Interface (API), while network providers write to the Service Provider Interface (SPI). This separation, similar to the way printer or display drivers work under Windows, allows developers to focus on their application and not the plumbing required to connect to a specific network. Developers can focus on their primary task, namely developing the application itself. As a result of network independence, TAPI supports PBXs, key telephone systems, ISDN, the analog PSTN, cellular, Centrex, and other types of telephone networks.
There are four basic ways to integrate a PC and a phone. TAPI supports all of the models, ensuring maximum flexibility for how applications are deployed. Again, customers may have different configurations for different employees in different offices—even for use in homes. The same application can be used in different configurations, because the application vendor doesn't have to assume a particular configuration is being used. TAPI hides the actual connection from the application (similar to the fact that whether a printer is local or network connected is irrelevant to a Windows application that prints). This allows TAPI to enable a universal telephony client. Figure 2 shows various ways in which a computer can be connected to the telephone network—and TAPI supports them all.
Figure 2. Connection model independence.
This model involves an external adapter or telephone that is connected through the PC's serial port. It is easy to configure, but may be limited in how much information and control it supports from the PC. The new generation of modems support voice in addition to data and fax (the AT+V or IS-101 standard), which will allow external modems to serve as a telephone designed as a PC peripheral. Voice modems are the cheapest, highest volume hardware to bridge the PC and the phone. While this configuration works well for a single user or a small group, it is not usually the most economical configuration path for a larger group or entire enterprise because of the expense of special CTI-enabling hardware at every desktop that is dedicated to each PC-to-telephone combination.
In this model the phone line terminates on a card in the PC or on the motherboard itself. Many new PCs come with a phone jack built-in. This model maximizes the information and control delivered to the PC. As signal processing capabilities become more and more common, this functionality will be increasingly standard on every PC. One example of this configuration is the evolution of the multimedia audio card into a multimedia communications card with support for standards like UniModem V. In addition to the audio capabilities delivered today, these cards also support voice, data, and fax communications for about the same price as today's audio board. This configuration, like the previous setup, works well for one person or a small group, but does not necessarily scale well to large groups or across an enterprise due to the hardware at each desktop.
Whereas the first two models involve a physical connection between the PC and phone at the desktop, in this model there is only a logical connection between them, established via the LAN. There is a physical connection, but in this case, it is between the phone system and a server operating on the LAN. This model is applicable to PBXs and key systems, though it has limited application for public networks like analog, ISDN, Centrex, and cellular, as well. The "switch-to-host" link is an intelligent link which provides real-time status on calls handled by the PBX or key system to a server connected by this special link. The server can process this information and control the PBX based on events it monitors, such as an incoming call. The server can control the phone system on behalf of individual PCs.
This model allows calls to be controlled, but has no provision for moving information from the PC out over the phone network, such as a fax or desktop conferencing session. This model is primarily suited to today's call center market, where being able to transfer a call to a supervisor is sufficient. This configuration also allows, for example, a customer database record to be instantly placed on the PC screen at the same time a call is routed to the agent's phone as a means to reduce the amount of time to handle a reservation or other customer service action. This enables a business to handle more calls with fewer agents at a lower cost while delivering better customer service, so the business impact is substantial.
Because of the historically-high costs associated with these solutions, they have typically been found rarely outside very large corporations or mission-critical call centers where the investment and customization was warranted. Now, with an increasing number of off-the-shelf CTI solutions, this type of configuration becomes much more affordable allowing an organization to economically deliver the time savings and other benefits of CTI to a broader population of users within an enterprise. The primary challenge most IS and telecom managers experience in this configuration is due to the complexity associated with setting up on the PBX or key system some of the parameters to make the intelligent link work properly. The hardware abstraction of TAPI 2.0 makes it easy to do incremental upgrades. Businesses can add value to their current legacy phone system by adding CTI enablers and applications.
This model is also a logical connection, but instead of, or in addition to, a special switch-to-host link, ordinary phone lines are used between the server and the PBX or key system. With this setup, information can be routed to the server via the LAN and can then be transmitted over the phone network. Fax servers and voice mail systems use this configuration, and it will become increasingly common with the move away from the "mainframe"-like switch-to-host model because the voice server is more flexible and supports a greater variety of applications. The switch-to-host link model, covered in the previous paragraphs, is limited to simple signaling, so that when an application requiring access to the media stream is desired, one of the these other connection models has to be layered on top, resulting in a redundant infrastructure. The voice server model is the "PC" approach to the switch-to-host link's "mainframe" model.
The voice server model offers some rich possibilities to extend CTI support throughout an enterprise economically and with less complexity. In contrast to the switch-to-host set-up covered previously, in which a significant portion of effort and expense can be invested in making the intelligent link actually work; in the voice server model, those dollars can be applied to a more integrated server-based solution using well understood and less expensive voice trunks or lines to connect the phone system to the server. In some cases, this configuration—including the server hardware—can be less expensive for a total solution than the switch-to-host link setup, yet yield far more applications flexibility and tighter, inherent integration between the voice applications and other applications.
TAPI's extensibility includes the Internet, as the figure below indicates. One of the more recent changes impacting CTI is the role the Internet can play in adding value to CTI applications. TAPI's architecture does not relegate it to supporting only public switched telephone network (PSTN) based solutions. Some of the more innovative uses of the Internet with telephony involve the weaving together of the Internet, the PSTN, and legacy phone systems for a range of applications, such as, sending fax or voice messages across the Internet or enabling a call management application to route a call over either the PSTN or via the Internet based upon user or administrative preferences.
Figure 3. TAPI can be used to enable applications which work with Internet or PSTN.
TAPI, because it is network independent, allows the Internet to be used for telephony functions. Microsoft sees this as becoming increasingly relevant in the future, as companies try to make more use of the Internet for virtual private networking. Quality of service improvements that are coming, with QoS-based routers, operating systems, and such, will enhance the ability to do real-time telephony across the Internet even prior to the advent of full ATM switching. Because ATM is inherently QoS-based, it will provide even greater support for TAPI-enabled real-time applications. So the Internet will increasingly become a carrier service for companies to take advantage of for virtual private networking—for both data and voice.
The Universal Serial Bus (USB) is a new 12-megabit per second capacity bus structure which will soon be built into every Intel motherboard shipping in the near future. It replaces the standard serial port, providing plug-and-play and daisychain functionality that will free users from having to open their computers to install peripheral cards, set jumpers, and change dip switch settings. The USB, an open industry standard, was developed in part to accommodate the host of new peripheral products coming to market—including those for telephony. In all, USB can connect up to 127 different devices to a single PC.
The USB provides a very good way of interconnecting the phone and PC, particularly at the desktop, and because it supports up to 12 megabits per second of instantaneous bandwidth, it will be more than sufficient for voice telephony.
There is a variety of applications that can vie for use of the phone system. TAPI provides a mechanism for these applications to coexist and share a single phone line or multiple phone lines. Thus, one application could be waiting for incoming faxes while another wants to dial out to an on-line service. Historically, the presence of the first application would prevent the second from using the phone line and result in the dreaded "Sorry, COMM Port X is in use by another application" message. Yet the device connected to the phone line is actually only in use when another application is on a call. Because TAPI resides at the operating system level, as long as the fax application is not actually in the middle of receiving a call, the on-line session can be established.
Making telephony support an operating system-level service becomes even more important when the incoming call problem is considered. When the phone rings, there is no way to determine if it is a voice call, data call or fax call. TAPI provides a mechanism for calls to be handed off to the right application based on the type of call once that call type has been quickly determined upon answer.
TAPI-enabled applications benefit from the solid multipurpose Windows platform, including the rich set of Windows APIs and the power and flexibility of ActiveX Controls.
Windows NT 4.0 is a state-of-the-art operating system with 32-bit preemptive multitasking, multithreading, excellent security, support for a variety of processors and system configurations, integrated administration, and other complementary APIs and tools.
Windows offers a rich set of services desired by developers, and there is a broad array of available development tools which can be used to develop and test Windows NT applications. Windows is a portable operating system, which ensures applications can be easily migrated to whatever CPU architecture offers the best price performance. Similarly, with built-in support for symmetrical multiprocessing, applications can start on a single CPU machine and grow as processing requirements grow without modification to the application.
Because TAPI 2.0 is an integrated service of the Windows NT 4.0 operating system, Windows NT 4.0 can function as either a telephony client or a telephony server. In fact, Windows 95 and Windows NT Workstation 4.0 are now the only client operating systems and Windows NT Server 4.0 is the only network operating system with built-in telephony support. There is no extra charge for this telephony support with Windows.
Because an application can only be as secure as the operating system upon which it runs, Windows NT was designed from its very core to be a secure system. The National Computer Security Center has determined Windows NT security to have satisfied all specified requirements for a rating of C2. Windows NT provides a secure platform for protecting telephony applications, yet the security features are easy to use and unobtrusive, so they don't impede users.
Windows NT offers a rich set of "applications building blocks" developers can exploit to provide value-added solutions. This is one of the factors creating the strong momentum Windows NT has earned in the marketplace. These are high-volume, world-class, affordable, off-the-shelf software and hardware products that are readily available for use with Windows NT and Windows 95. For example, Microsoft SQL Server™, a powerful client/server database application, Microsoft Exchange, a messaging and scheduling application, and Microsoft SNA Server, a leading mainframe-to-server integration application, all provide a broader platform upon which third-party developers can add value and integration with computer telephony. Other application building blocks are also available from other companies.
Similarly, off-the-shelf, PC-based voice processing components for Windows NT are available from a variety of vendors. The result is that developers and customers can exploit the favorable cost curves and competition found in the PC industry. This speeds time to market and offers more efficiency and innovation than is found in a market built on proprietary systems.