![]() |
![]() |
![]() |
The EZTapiAPI is a Software Library that exports a set of easy to use C functions for developing telephony applications that work with voice modems in computers running Microsoft Windows Operating Systems.
To use the EZTapiAPI interface, the developer must first initialize the EZTapiAPI engine. This is accomplished through the function EZTapiInitialize. After the EZTapiAPI engine has been initialized, a phone line must then be opened using the function EZOpenLine.
With the EZTapiAPI engine successfully initialized and a valid EZLine device successfully opened, the developer can then initiate outgoing calls with the function EZMakeCall or answer incoming calls using either EZWaitForCall or EZAnswerCall. Caller Id extraction is supported by the EZTapiAPI SDK for voice modems that support this feature. Caller Id is a subscriber call feature that must be provisioned on a phone line. This feature many times has an associated fee. For more information on Caller Id support the developer should contact their local telephone company.
Once an active call has been established over an EZLine device, the developer can then use any of the other exported EZTapiAPI functions for controlling the call. With these functions the developer is able to play and record wave file voice prompts, and collect and send DTMF and Pulse digits.
Most functions in the EZTapiAPI library can be called either synchronously or asynchronously. If the user wishes to make a function call asynchronously, the EZTapiAPI engine must be initialized with a valid pointer to a callback function that the user must define. Asynchronous results are posted back from the EZTapiAPI to the client application through this callback interface. For a list of EZTapiAPI Event messages see Appendix A.
For functions called synchronously, the user does not need to provide this callback interface. Function calls will block until the operation completes either successfully or in error. Appendix B contains a list of EZTapiAPI Errors and their meanings.
The user is free to make calls both synchronously and asynchronously within the same application. The figure below is a state chart diagram that helps to explain the EZTapiAPI SDK interface. This diagram shows the EZLine state transitions in response to EZTapiAPI function calls.