The starting point for all CTI development is a set of basic services, which include call control, call monitoring, and feature activation. There are two recognized industry standards (CSTA (computer supported telecommunication applications) and SCAI (switch to computer applications interface)) for performing these functions as well as several dozen proprietary designs.
Switching software is the core technology enabling CTI to provide an outside application with some form of control over switch functions. The outside application is offered or can access a set of commands; for example, make call, answer call, and transfer call. When a command is issued, the switch tries to complete its assigned task and reports back to the application with a result. That result might mean complete success (the call went through), progress has been made (the other end is now ringing), or failure (the dialed number is busy or goes unanswered). This information has to be provided on a real time basis as events occur. The application design must allow for communications situations that occur in real life in call centers, such as peak times when all the lines are busy or power users who switch back and forth between several calls on hold. Users have come to expect almost instantaneous response times from their telephone systems; the CTI application designer must now deliver on that expectation. In this simple model, call control expects the application to act as if it were a telephone set (anything that a telephone could do, the application can now do). By extending that model to include the features of a modern business telephone (multiline, speed call, displays, etc.), the power of this basic service becomes apparent.
There are two approaches to call control:
First-party call control
Third-party call control
The basic premise of first-party call control is that the CTI application is acting on behalf of one user. In this model, the application is running on the user's desktop PC, and there is an actual physical connection between the application, the user's PC, and the user's telephone line. Through an application, the user can control the telephone call. Examples of these applications include the following:
Personal answering machine
Personal call accounting
The basic premise of third-party call control is that the CTI application acts on behalf of any of the clients in a workgroup or department. In this model, the application is running on a shared server and there is no direct physical connection between the user's PC and the telephone line. Instead, there is a "logical" connection: The user's PC application communicates with the server, which in turn controls the switch. The server provides a coordination point for all calls being handled in the workgroup. This makes possible a much more powerful (or useful) level of call control. The central server-based application can handle the distribution of all calls to the members of the workgroup, including activities like call screening or back-up answering. This has been a key element in the application of CTI—the potential for breakthrough productivity gains when used in high-performance workgroups.
Both of the call control models described previously expect the application to act like a telephone. This is helpful in explaining call control, but it clearly ignores the range of capabilities of a PC. Recognizing this, the designers of CTI built in services, such as call monitors, that capitalize on the strengths of the PC.
The application can set a call monitor in the PBX (private business exchange) to collect information on almost any activity. For example, by setting a monitor on a single user's telephone set, the application can watch every button pushed, every digit dialed, every picking up or replacing of the handset. Similarly, by monitoring any trunk, the application can see each incoming call, collect ANI or DNIS data, watch where the call was directed, and know when and where it was answered. By selectively monitoring telephones, groups of telephones, or trunks, the application can get as detailed a picture of the PBX activities as required to make the application work. This is especially valuable in generating management reporting and performance measurement statistics.
The last of the basic CTI services described in this section is feature activation. Modern PBX systems provide over 200 features to improve call handling, although the majority of users never use more than 4 of them. The use of PC-based applications (which can be set to the user's preferences) unlocks the power already built into the telephone system by allowing simple computer screen-based control of features, such as arranging a conference call by clicking on the names of the parties involved.
In this application, commands are provided that activate, suspend, or turn off features within the switch. For example, the personal organizer application could set up call forwarding for a user who is away from the office and turn off the same call forwarding when the user returns. Similarly, a CTI application could modify call screening by a secretary on behalf of a workgroup. It would be turned off at the end of the business day and the calls would be automatically redirected to an answering service.