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

Voice API Programming Guide — June 2005 151
Global Tone Detection and Generation, and Cadenced Tone Generation
dx_deltones( )
Removes all tone templates previously added to a channel with dx_addtone( ). If no tone
templates were previously enabled for this channel, the function has no effect.
dx_deltones( ) does not affect tones defined by build-tone template functions and tone
templates not yet defined. If you have added tones for call progress analysis, these tones are
also deleted.
dx_distone( )
Disables detection of a user-defined tone on a channel as well as the DE_TONEON and/or
DE_TONEOFF events for that tone. Detection capability for user-defined tones is enabled on a
channel by default when dx_addtone( ) is called.
dx_enbtone( )
Enables detection of a user-defined tone that was previously disabled by dx_distone( ). Also
enables detection of DE_TONEON and/or DE_TONEOFF events for that tone. Detection
capability for user-defined tones is enabled on a channel by default when dx_addtone( ) is
called.
13.1.6 Retrieving Tone Events
Tone-on events (DE_TONEON) and tone-off events (DE_TONEOFF) are call status transition
(CST) events. Retrieval of these events is handled differently for asynchronous and synchronous
applications. Table 15 outlines the different processes for retrieving tone events.
You can optionally specify an associated ASCII digit (and digit type) with the tone template. In this
case, the tone template is treated like DTMF tones. When the digit is detected, it is placed in the
digit buffer and can be used for termination. When an associated ASCII digit is specified, tone
events will not be generated for that tone.
Note: Cadence tone on events are reported differently on DM3 boards versus Springware boards. On
DM3 boards, if a cadence tone occurs continuously, a DE_TONEON event is reported for each
on/off cycle. On Springware boards, a DE_TONEON event is reported for the first on/off cycle
only. On both types of boards, a DE_TONEOFF event is reported when the tone is no longer
present.
Table 15. Asynchronous/Synchronous Tone Event Handling
Synchronous Asynchronous
Call dx_addtone( ) or dx_enbtone( ) to
enable tone-on/off detection.
Call dx_addtone( ) or dx_enbtone( ) to
enable tone-on/off detection.
Call dx_getevt( ) to wait for CST event(s).
Events are returned in the DX_EBLK data
structure.
Use Standard Runtime Library (SRL) to
asynchronously wait for TDX_CST event(s).
N/A Use sr_getevtdatap( ) to retrieve DX_CST
data structure.
Note: These procedures are the same as the retrieval of any other CST event, except that
dx_addtone( ) or dx_enbtone( ) are used to enable event detection instead of
dx_setevtmsk( ).