14 Voice API Programming Guide — June 2005
About This Publication
•Independent Software Vendors (ISVs)
•Value Added Resellers (VARs)
•Original Equipment Manufacturers (OEMs)
How to Use This PublicationThis document assumes that you are familiar with and have prior experience with Windows or
Linux operating systems and the C programming language. Use this document together with the
following: the Voice API Library Reference, the Standard Runtime Library API Programming
Guide, and the Standard Runtime Library API Library Reference.
The information in this guide is organized as follows:
•Chapter1 , “Product Description” introduces the key features of the voice library and provides
a brief description of each feature.
•Chapter 2, “Programming Models” provides a brief overview of supported programming
models.
•Chapter3 , “Device Handling” discusses topics related to devices such as device naming
concepts, how to open and close devices, and how to discover whether a device is Springware
or DM3.
•Chapter 4, “Event Handling” provides information on functions used to handle events.
•Chapter 5, “Error Handling” provides information on handling errors in your application.
•Chapter6 , “Application Development Guidelines” provides programming guidelines and
techniques for developing an application using the voice library. This chapter also discusses
fixed and flexible routing configurations.
•Chapter7 , “Call Progress Analysis” describes the components of call progress analysis in
detail. This chapter also covers differences between Basic Call Progress Analysis and
PerfectCall Call Progress Analysis.
•Chapter8 , “Recording and Playback” discusses playback and recording features, such as
encoding algorithms, play and record API functions, transaction record, and silence
compressed record.
•Chapter9 , “Speed and Volume Control” explains how to control speed and volume of
playback recordings through API functions and data structures.
•Chapter1 0, “Send and Receive FSK Data” describes the two-way frequency shift keying
(FSK) feature, the Analog Display Services Interface (ADSI), and API functions for use with
this feature.
•Chapter1 1, “Caller ID” describes the caller ID feature, supported formats, and how to enable
it.
•Chapter1 2, “Cached Prompt Management” provides information on cached prompts and how
to use cached prompt management in your application.
•Chapter 13, “Global Tone Detection and Generation, and Cadenced Tone Generation”
describes these tone detection and generation features in detail.
•Chapter 14, “Global Dial Pulse Detection” discusses the Global DPD feature, the API
functions for use with this feature, programming guidelines, and example code.