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 101
Recording and Playback
• It does not make sense to use the same DTMF digit as a termination condition on a play and as
the pause/resume condition.
• To end a paused play, use dx_stopch( ).
8.12 Echo Cancellation Resource
The echo cancellation resource (ECR) feature is not supported on DM3 boards.
The echo cancellation resource (ECR) feature is a functional component of a voice channel. ECR is
discussed in more detail in the following topics:
• Overview of Echo Cancellation Resource
• Echo Cancellation Resource Operation
• Modes of Operation
• Echo Cancellation Resource Application Models
8.12.1 Overview of Echo Cancellation Resource
The ECR feature lets you use echo cancellation on signals external to the voice channel. The echo
cancellation capability becomes a system-wide resource that may be applied to any time-division
multiplexing (TDM) bus PCM stream. The addition of the ECR feature allows the application to
dynamically configure a voice channel as either an echo cancellation device (ECR mode) or as a
standard voice processing channel (SVP mode). In ECR mode, the voice channel can dynamically
perform echo cancellation on any TDM bus time slot signal external to the voice channel. In ECR
mode, a portion of the standard voice functionality remains available while another portion of it
becomes unavailable.
Note: The ECR feature has been replaced with the continuous speech processing (CSP) API. CSP is the
preferred method for echo cancellation and should be used where available. For more information,
see the Continuous Speech Processing API Programming Guide and Continuous Speech
Processing API Library Reference.
Prior to the implementation of the ECR feature in the voice library, each voice channel device had a
single transmit (TX) TDM bus time slot assigned to it for data communication across the TDM bus.
To connect one device to another across the TDM bus, an application would call xx_listen( )
(where xx_ is ag_, dt_, dx_, or ms_) on one voice or network device to connect to a second device’s
transmit channel. Any signal transmitted by the second device on its transmit channel (TX channel)
would be received by the first device’s receive channel (RX channel). For a full-duplex connection,
the second device would then call xx_listen( ) to connect its receive channel to the first device’s
transmit channel.
Throughout this section, reference is made to echo cancellation-specific terminology. See the
glossary for definitions of ECR terminology.