User's Manual
Table Of Contents
- Contents
- Figures
- Tables
- Revision History
- About This Publication
- 1. Product Description
- 2. Programming Models
- 3. Device Handling
- 4. Event Handling
- 5. Error Handling
- 6. Application Development Guidelines
- 7. Call Progress Analysis
- 7.1 Call Progress Analysis Overview
- 7.2 Call Progress and Call Analysis Terminology
- 7.3 Call Progress Analysis Components
- 7.4 Using Call Progress Analysis on DM3 Boards
- 7.5 Call Progress Analysis Tone Detection on DM3 Boards
- 7.6 Media Tone Detection on DM3 Boards
- 7.7 Default Call Progress Analysis Tone Definitions on DM3 Boards
- 7.8 Modifying Default Call Progress Analysis Tone Definitions on DM3 Boards
- 7.9 Call Progress Analysis Errors
- 7.10 Using Call Progress Analysis on Springware Boards
- 7.11 Call Progress Analysis Tone Detection on Springware Boards
- 7.12 Media Tone Detection on Springware Boards
- 7.13 Default Call Progress Analysis Tone Definitions on Springware Boards
- 7.14 Modifying Default Call Progress Analysis Tone Definitions on Springware Boards
- 7.15 SIT Frequency Detection (Springware Only)
- 7.15.1 Tri-Tone SIT Sequences
- 7.15.2 Setting Tri-Tone SIT Frequency Detection Parameters
- 7.15.3 Obtaining Tri-Tone SIT Frequency Information
- 7.15.4 Global Tone Detection Tone Memory Usage
- 7.15.5 Frequency Detection Errors
- 7.15.6 Setting Single Tone Frequency Detection Parameters
- 7.15.7 Obtaining Single Tone Frequency Information
- 7.16 Cadence Detection in Basic Call Progress Analysis (Springware Only)
- 8. Recording and Playback
- 8.1 Overview of Recording and Playback
- 8.2 Digital Recording and Playback
- 8.3 Play and Record Functions
- 8.4 Play and Record Convenience Functions
- 8.5 Voice Encoding Methods
- 8.6 G.726 Voice Coder
- 8.7 Transaction Record
- 8.8 Silence Compressed Record
- 8.9 Recording with the Voice Activity Detector
- 8.10 Streaming to Board
- 8.11 Pause and Resume Play
- 8.12 Echo Cancellation Resource
- 9. Speed and Volume Control
- 10. Send and Receive FSK Data
- 11. Caller ID
- 12. Cached Prompt Management
- 13. Global Tone Detection and Generation, and Cadenced Tone Generation
- 13.1 Global Tone Detection (GTD)
- 13.1.1 Overview of Global Tone Detection
- 13.1.2 Global Tone Detection on DM3 Boards versus Springware Boards
- 13.1.3 Defining Global Tone Detection Tones
- 13.1.4 Building Tone Templates
- 13.1.5 Working with Tone Templates
- 13.1.6 Retrieving Tone Events
- 13.1.7 Setting GTD Tones as Termination Conditions
- 13.1.8 Maximum Amount of Memory for Tone Templates
- 13.1.9 Estimating Memory
- 13.1.10 Guidelines for Creating User-Defined Tones
- 13.1.11 Global Tone Detection Application
- 13.2 Global Tone Generation (GTG)
- 13.3 Cadenced Tone Generation
- 13.3.1 Using Cadenced Tone Generation
- 13.3.2 How To Generate a Custom Cadenced Tone
- 13.3.3 How To Generate a Non-Cadenced Tone
- 13.3.4 TN_GENCAD Data Structure - Cadenced Tone Generation
- 13.3.5 How To Generate a Standard PBX Call Progress Signal
- 13.3.6 Predefined Set of Standard PBX Call Progress Signals
- 13.3.7 Important Considerations for Using Predefined Call Progress Signals
- 13.1 Global Tone Detection (GTD)
- 14. Global Dial Pulse Detection
- 14.1 Key Features
- 14.2 Global DPD Parameters
- 14.3 Enabling Global DPD
- 14.4 Global DPD Programming Considerations
- 14.5 Retrieving Digits from the Digit Buffer
- 14.6 Retrieving Digits as Events
- 14.7 Dial Pulse Detection Digit Type Reporting
- 14.8 Defines for Digit Type Reporting
- 14.9 Global DPD Programming Procedure
- 14.10 Global DPD Example Code
- 15. R2/MF Signaling
- 16. Syntellect License Automated Attendant
- 17. Building Applications
- Glossary
- Index

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
Boards
On 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 page 153 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 Section 13.1.8,
“Maximum Amount of Memory for Tone Templates”, on page 152.
13.1.3 Defining Global Tone Detection Tones
GTD 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 Templates
When 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