The user's desktop computer may have access to multiple devices that can be individually selected and used to conduct interactive phone conversations. One of these devices is the telephone itself, complete with lamps, buttons, display, ringer, and a voice I/O device (handset, speakerphone, or headset). The user's computer may also have a separate voice I/O device (such as a headset, or microphone/speaker combination attached to a sound card) for use with phone conversations. TAPI enables the user to select where to route the information sent by the switch over the line, address, or call. The switch normally expects this destination to be one of its phone sets, and sends ring requests, lamp events (for stimulus phones), display data, and voice data as appropriate.
The phone in turn sends hookswitch events, button press events (for stimulus phones), and voice data back to the switch. The line portion of TAPI makes lamp events, display events, and ring events available, either as functional return codes to TAPI's various operations or as unsolicited functional call-status messages sent to the application. TAPI's implementation is responsible for mapping the functional API level to the underlying stimulus or functional messages used by the telephony network. In functional telephony environments, TAPI's functions are mapped to the functional protocol.