TAPI applications interface directly with the Cisco CME call processing software to control the call processing signaling events that apply to an IP phone. For example, a TAPI application can answer a call on behalf of a phone, make the phone go off-hook, or disconnect a call. Windows-based screen-pop applications typically use TAPI.
XML applications interface directly with the IP phone and leverage its HTTP capabilities. The phone has one or more URLs as part of its software load that it accesses when buttons such as the services or directory keys are pressed. The XML application renders some text or graphics on the phone's display. Cisco CME call processing is not involved in this application interchange. XML applications control the phone display while the phone is idle (that is, not on a call).
Figure 12-1 shows how TAPI and XML applications interface with Cisco CME and its IP phones. The left side of the figure depicts a TAPI application. An employee has an IP phone and PC on the desktop. The PC runs a productivity application, such as a contact management application, that provides a screen pop based on caller ID whenever a call starts ringing. All messaging between the application and the phone passes through Cisco CME and is interpreted by the Cisco CME software. On the right side of the figure is an XML application. The phone has a URL that points to a server. The server application writes to the phone display using HTTP.
Figure 12-1. TAPI and XML Application Architecture