Voice API Programming Guide — June 2005 35
Application Development Guidelines
To specify an additional timeout if subsequent digits are not received, use the DX_IDDTIME
(interdigit delay) termination condition and the TF_FIRST flag in the DV_TPT structure. The
TF_FIRST flag specifies that the timer will start after the first digit is received; otherwise the timer
starts when the dx_getdig() function is called.
6.1.4 Clearing Structures Before Use
Two library functions are provided to clear structures. dx_clrcap() clears DX_CAP structures and
dx_clrtpt( ) clears DV_TPT structures. See the Voice API Library Reference for details.
It is good practice to clear the field values of any structure before using the structure in a function
call. Doing so will help prevent unintentional settings or terminations.
6.1.5 Working with User-Defined I/O Functions
Two library functions are provided to enable you to install user-defined I/O functions (also called
user I/O functions or UIO): dx_setuio( ) and dx_setdevuio( ). For details on these functions, see
the Voice API Library Reference.
The following cautions apply when working with user I/O functions:
•Do not include sleeps, critical sections, or any other delays in the user I/O function.
•Do not call any other Intel Dialogic function inside the user I/O function. One exception is the
ec_getblkinfo() function which is called from within a user I/O function. For more
information on this function, see the Continuous Speech Processing API Library Reference.
The reason for these cautions is as follows. On Springware boards, while the user I/O function is
executing, the Standard Runtime Library (SRL) is blocked and cannot process further messages
from the driver. Data will be lost if the driver cannot hand off messages to the SRL. On DM3
boards, you may see chopped audio or underruns. On all boards, be aware that the risk of underruns
increases as density rises.
6.2 Fixed and Flexible Routing ConfigurationsOn DM3 boards, the voice library supports two types of routing configuration as follows:
Note: The routing configuration supported for a board depends on the software release in which the board
is used. See the Release Guide for the software release you are using to determine the routing
configuration supported for your board. See also the Configuration Guide for your product family
for information about media load configuration file sets and routing configuration supported.
fixed routing configuration
This configuration is primarily for backward compatibility with System Release 5.0. The fixed
routing configuration applies only to DM3 boards. With fixed routing, the resource devices
(voice/fax) and network interface devices are permanently coupled together in a fixed
configuration. Only the network interface time slot device has access to the TDM bus. Each
voice resource channel device is permanently routed to a corresponding network interface time
slot device on the same physical board. The routing of these resource and network interface