Simple Telephony

Simple telephony provides telephony-enabled applications with an easy mechanism for making phone calls without requiring the developer to become fully telephony literate. Two simple telephony services are provided.

Request the establishment of a voice call between the user and a remote party specified by its phone number. The request is made to the Telephony API which passes the request on to an application that has registered with the API as a recipient of such requests. This usually is the user's call control application. A basic sample call control application is provided as part of the developer's toolkit. If desired, the user can replace this application with a more functional one. After the simple telephony application has made the request, the call is totally controlled from the call control application; the simple telephony app is unable to manage the call in any way. Applications such as word processors, spreadsheets, schedulers, personal information managers, etc. can become telephony aware via the tapiRequestMakeCall function. Since the complexity of the full Telephony API and all user interface aspects of telephony are handled by the call control app, the telephony-enabled applications need not be modified in any substantial way. In fact, apps that allow this operation to be invoked from their built-in script language may not need to be modified at all.

Request the establishment of a media call with the intent of accessing the corresponding media stream (voice, fax, data, etc.) via the appropriate media API. As in the previous case, the request is made to the Telephony API which passes the request on to an application that has registered with the API as a recipient of such requests. After the simple telephony application has made the request via tapiRequestMediaCall, the app is informed about the success or failure of the call establishment via the TAPI_REPLY Windows message. Once the call is established, the media stream can become active and is under control of the application. The only other operation on the call is tapiRequestDrop which requests that the call be dropped. Applications can use this service if they are primarily interested in managing media streams, but want to leave the details and user interface aspects of call setup to a call control application.