148 Voice API Programming Guide — June 2005
Global Tone Detection and Generation, and Cadenced Tone Generation
DTMF set (0-9, a-d, *, and #), and the standard MF set (0-9, a-c, and *). GTD works
simultaneously with DTMF and MF tone detection.
When GTD detects a tone, it responds by producing either a tone event on the event queue or a
digit on the digit queue. The particular response depends on the GTD tone configuration.
13.1.2 Global Tone Detection on DM3 Boards versus Springware BoardsOn DM3 boards, tone templates are managed internally on a board basis, while on Springware
boards, tone templates are managed internally on a channel basis.
On DM3 boards, once a tone template is defined, it can be added to any number of channels for
global tone detection on a physical board. The tone template is stored only once on the physical
board. A counter in the tone template tracks the number of channels that are using this template; the
template remains active until the very last channel of the physical board deletes the template.
On DM3 boards, the memory available for all tone templates (including call progress analysis tones
and user-defined tones) is pre-allocated and fixed. It does not vary by board. Each tone template
takes up the same amount of memory. However, a limitation exists on the number of tone templates
that can be active at one time on a channel, due to the number of events that are generated. See
Section 13.1.10, “Guidelines for Creating User-Defined Tones”, on page153 for more information.
On Springware boards, once a tone template is defined, it can be added to any number of channels
for global tone detection as well. However, the tone template is stored for each channel that uses it.
The memory available for tone templates on Springware boards is described in Section13.1.8,
“Maximum Amount of Memory for Tone Templates”, on page152.
13.1.3 Defining Global Tone Detection TonesGTD tones can have an associated ASCII digit (and digit type) specified using the digit and
digtype parameters in the dx_addtone( ) function. When the tone is detected, the digit is placed in
the DV_DIGIT buffer and can be retrieved using the dx_getdig() function. When the tone is
detected, either the tone event or the digit associated with the tone can be used as a termination
condition to terminate I/O functions.
Termination conditions are set using the DV_TPT data structure. To terminate on multiple tones (or
digits), you must specify the terminating conditions for each tone in a separate DV_TPT data
structure.
For details on voice functions and data structures, see the Voice API Library Reference.
13.1.4 Building Tone TemplatesWhen creating a tone template, you can define the following:
•single frequency or dual frequency (300 - 3500 Hz)
•optional ASCII digit associated with the tone template