CTI, or Computer Telephony Integration, is the art of making computer systems interface with the telephony world. With more and more PBXs (and, for that matter, managed "virtual call centre" services) supporting CTI, the potential to exploit these interfaces to add value to business applications is immense.
First off, let's get it straight that CTI and CLI (Calling Line Identification) are not synonymous. CLI is merely one of many features of the average national telecoms infrastructure although the information it provides is most certainly useful to a CTI developer. CLI tells the recipient of a call the telephone number of the originator of that call, and so this can be used by the recipient's computer to (say) pop up the electronic business card of the caller.
The main problem with CLI is that it can't be relied upon. With the increasing paranoia among the general public regarding privacy, many people simply tell their phone company to turn off CLI, which results in the recipient of each call seeing simply: "Number withheld". And in many cases, someone calling from a PBX-originated handset (as opposed to a dedicated line supplied by the phone company) may in fact have a number other than their own advertised as the CLI so all calls originating from a particular company might be stamped with the company's main switchboard number.
CLI is, however, only half of the story, number-wise. In a modern digital telephone exchange, the infrastructure uses ISDN technology and the header information that is transported with each call setup includes both the CLI and one other number. Unless you've asked the phone company to do otherwise, they'll generally set this second field to be the number the caller dialled. So if you rent ten phone numbers, and you print a different number on each of your catalogues, you can figure out which catalogue a customer is reading simply by getting your PC to look up the number they dialled to call you.
There's more to life in CTI than numbers, though. Although the header information of calls is of huge interest to us, we're also extremely interested in the various actions that happen within the PBX. In a typical call centre, for example, it's normal for an incoming call to divert to an automated call distributor (ACD), then after the caller has done the "press 1 for sales" bit, for the call to be diverted to an operator. The operator might look up some products, they might have to put the caller on hold, or they may even transfer them somewhere else.
CTI allows us both to monitor these activities and to generate activities ourselves. On the monitoring side, you'll certainly want to keep track of events you'll care enormously if you discover that 50 of calls are dropped when they hit the ACD system, for example, because you're losing business. Similarly, if some operators in a department are averaging 30 seconds for calls and others are averaging five minutes, you'll want to ask yourself why (and you'll probably want to tie this information up to your sales figures, to see whether the revenue comes from the quick sales or the operators who take the time to sweet-talk the customer).
On the control side, by allowing programs to influence the behaviour of the call centre, we can reduce the workload of the staff and improve their efficiency; if we give them a button on their PC that allows them to forward a call to some other department and develop the system so that it handles all the issues such as finding a free operator, this improves efficiency and reduces operator hassle.
CTI is a strange beast when it comes to actually doing it, because there aren't any standards as such. The closest one gets to a standard is TAPI (the Telephony Application Programmer Interface), which is widely accepted but is actually a Microsoft-derived concept, not an officially recognised standard. Fortunately, most telephony suppliers regard it as the closest thing they'll get to a standard, and thus adopt TAPI as their chosen interface in their systems.
TAPI can be complicated, though, and so some vendors implement their own proprietary interfaces instead (or even as well). Inter-Tel, for instance, uses a mechanism that allows any client computer to make a simple text-based TCP/IP connection into the PBX (or a separate box if you want to unload the main switch) and which passes simple-to-parse event information to anyone who's listening.
There are as many uses for CTI as there are people wanting to use it. Although support was slow to get off the ground in the 1990s, the growth in demand for CRM packages and the like which work best when integrated with the phone system means that the majority of vendors provide CTI interfaces with their equipment. The final caveat, though, is: although some manufacturers regard CTI capabilities as a feature that should be standard, others see it as a value-add revenue stream, and set the prices accordingly.