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

154 Voice API Programming Guide — June 2005
Global Tone Detection and Generation, and Cadenced Tone Generation
analysis creates 8 GTD tones; this uses 17 memory blocks on each channel on which it is
activated.
• On Springware boards, if you use call progress analysis to identify tri-tone special information
tone (SIT) sequences, call progress analysis creates GTD tones, which reduces the number of
user-defined tones you can create. Call progress analysis creates one GTD tone template for
each single frequency tone that you define in the DX_CAP structure. For example, if detecting
the SIT sequences per channel (3 frequencies), the GTD memory will be reduced by 5 blocks.
• On Springware boards, if you initiate call progress analysis and there is not enough memory to
create the GTD tones, you will get an EDX_MAXTMPLT error. This indicates that you are
trying to exceed the maximum number of GTD tones.
• On Springware boards, if you use a build tone function (such as dx_blddt( ) or
r2_creatfsig( )) to define a user-defined tone that alone or with existing user-defined tones
exceeds the available memory, you will get an EDX_MAXTMPLT error.
• On Springware boards on Linux, call progress analysis SIT detection releases GTD memory
when call progress analysis has completed. The other features do not release GTD memory
until a dx_deltones( ) is performed.
• On Springware boards on Linux, if you initiate call progress analysis and there is not enough
memory to create the SIT sequences internally, you will get a T_CAERROR event and the
evtdata field will contain MEMERR. On Springware boards on Windows, if you initiate call
progress analysis and there is not enough memory to create the SIT sequences internally, you
will get a CR_MEMERR.
• The dx_deltones( ) function deletes all user-defined tones from a specified channel and
releases the memory that was used for those user-defined tones. When an associated ASCII
digit is specified, tone events will not be generated for that tone.
• If you create R2/MF user-defined tones using r2_creatfsig( ), the voice boards are usually able
to create all 15 R2/MF user-defined tones due to the overlap in frequencies for the R2/MF
signals. If these boards do not have sufficient memory, they may be able to support R2/MF
signaling through a reduced number of R2/MF user-defined tones.
The r2_creatfsig( ) function is not supported on DM3 boards.
• Voice boards support a full set of inbound or outbound R2/MF signals, or the complete Socotel
signal set.
Table 18 lists the maximum number of tone templates for dual tones available on Springware
boards.
For information on maximum amount of memory available for tone templates on Springware
boards, see Table 16, “Maximum Memory Available for User-Defined Tone Templates
(Springware)”, on page 152 and Table 17, “Maximum Memory Available for Tone Templates for
Tone-Creating Voice Features (Springware)”, on page 152.
Table 18. Maximum Tone Templates for Dual Tones (Springware)
Hardware
Tone Templates
Per Board
Tone Templates
Per Channel
D/41JCT-LS 33 8