Voice API Programming Guide — June 2005 31
6
6.Application Development
Guidelines
This chapter provides programming guidelines and techniques for developing an application using
the voice library. The following topics are discussed:
General Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Fixed and Flexible Routing Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Fixed Routing Configuration Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Additional DM3 Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Using Wink Signaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.1 General Considerations

The following considerations apply to all applications written using the voice API:
Busy and Idle States
Setting Termination Conditions for I/O Functions
Setting Termination Conditions for Digits
Clearing Structures Before Use
Working with User-Defined I/O Functions
See feature chapters for programming guidelines specific to a feature, such as call progress
analysis, recording and playback, and so on.

6.1.1 Busy and Idle States

The operation of some library functions are dependent on the state of the device when the function
call is made. A device is in an idle state when it is not being used, and in a busy state when it is
dialing, stopped, being configured, or being used for other I/O functions. Idle represents a single
state; busy represents the set of states that a device may be in when it is not idle. State-dependent
functions do not make a distinction between the individual states represented by the term busy.
They only distinguish between idle and busy states.
For more information on categories of functions and their description, see the Voice API Library
Reference.