User ManualTable of ContentsContents3Figures9Tables10Revision History11About This Publication13Purpose13Applicability13Intended Audience13How to Use This Publication14Related Information151. Product Description171.1 Overview171.2 R4 API171.3 Call Progress Analysis181.4 Tone Generation and Detection Features181.4.1 Global Tone Detection (GTD)181.4.2 Global Tone Generation (GTG)191.4.3 Cadenced Tone Generation191.5 Dial Pulse Detection191.6 Play and Record Features191.6.1 Play and Record Functions201.6.2 Speed and Volume Control201.6.3 Transaction Record201.6.4 Silence Compressed Record201.6.5 Streaming to Board201.6.6 Echo Cancellation Resource211.7 Send and Receive FSK Data211.8 Caller ID211.9 R2/MF Signaling211.10 TDM Bus Routing222. Programming Models232.1 Standard Runtime Library232.2 Asynchronous Programming Models232.3 Synchronous Programming Model233. Device Handling253.1 Device Concepts253.2 Voice Device Names254. Event Handling274.1 Overview of Event Handling274.2 Event Management Functions275. Error Handling296. Application Development Guidelines316.1 General Considerations316.1.1 Busy and Idle States316.1.2 Setting Termination Conditions for I/O Functions326.1.3 Setting Termination Conditions for Digits346.1.4 Clearing Structures Before Use356.1.5 Working with User-Defined I/O Functions356.2 Fixed and Flexible Routing Configurations356.3 Fixed Routing Configuration Restrictions376.4 Additional DM3 Considerations376.4.1 Call Control Through Global Call API Library386.4.2 Multithreading and Multiprocessing386.4.3 DM3 Media Loads396.4.4 Device Discovery for DM3 and Springware396.4.5 Device Initialization Hint396.4.6 TDM Bus Time Slot Considerations406.4.7 Tone Detection Considerations416.5 Using Wink Signaling416.5.1 Setting Delay Prior to Wink416.5.2 Setting Wink Duration416.5.3 Receiving an Inbound Wink427. Call Progress Analysis437.1 Call Progress Analysis Overview437.2 Call Progress and Call Analysis Terminology447.3 Call Progress Analysis Components447.4 Using Call Progress Analysis on DM3 Boards467.4.1 Call Progress Analysis Rules on DM3 Boards467.4.2 Overview of Steps to Initiate Call Progress Analysis477.4.3 Setting Up Call Progress Analysis Parameters in DX_CAP487.4.4 Executing a Dial Function487.4.5 Determining the Outcome of a Call497.4.6 Obtaining Additional Call Outcome Information507.5 Call Progress Analysis Tone Detection on DM3 Boards517.5.1 Tone Detection Overview517.5.2 Types of Tones517.5.3 Ringback Detection527.5.4 Busy Tone Detection537.5.5 Fax or Modem Tone Detection537.5.6 SIT Frequency Detection537.6 Media Tone Detection on DM3 Boards557.6.1 Positive Voice Detection (PVD)557.6.2 Positive Answering Machine Detection (PAMD)557.7 Default Call Progress Analysis Tone Definitions on DM3 Boards567.8 Modifying Default Call Progress Analysis Tone Definitions on DM3 Boards577.8.1 API Functions for Manipulating Tone Definitions577.8.2 TONE_DATA Data Structure587.8.3 Rules for Modifying a Tone Definition on DM3 Boards597.8.4 Rules for Using a Single Tone Proxy for a Dual Tone597.8.5 Steps to Modify a Tone Definition on DM3 Boards607.9 Call Progress Analysis Errors607.10 Using Call Progress Analysis on Springware Boards607.10.1 Overview of Steps to Initiate Call Progress Analysis617.10.2 Setting Up Call Progress Analysis Features in DX_CAP617.10.3 Enabling Call Progress Analysis627.10.4 Executing a Dial Function627.10.5 Determining the Outcome of a Call637.10.6 Obtaining Additional Call Outcome Information647.11 Call Progress Analysis Tone Detection on Springware Boards657.11.1 Tone Detection Overview667.11.2 Types of Tones667.11.3 Dial Tone Detection677.11.4 Ringback Detection677.11.5 Busy Tone Detection687.11.6 Fax or Modem Tone Detection687.11.7 Loop Current Detection687.12 Media Tone Detection on Springware Boards697.12.1 Positive Voice Detection (PVD)707.12.2 Positive Answering Machine Detection (PAMD)707.13 Default Call Progress Analysis Tone Definitions on Springware Boards717.14 Modifying Default Call Progress Analysis Tone Definitions on Springware Boards717.15 SIT Frequency Detection (Springware Only)727.15.1 Tri-Tone SIT Sequences737.15.2 Setting Tri-Tone SIT Frequency Detection Parameters737.15.3 Obtaining Tri-Tone SIT Frequency Information757.15.4 Global Tone Detection Tone Memory Usage767.15.5 Frequency Detection Errors767.15.6 Setting Single Tone Frequency Detection Parameters777.15.7 Obtaining Single Tone Frequency Information777.16 Cadence Detection in Basic Call Progress Analysis (Springware Only)787.16.1 Overview787.16.2 Typical Cadence Patterns787.16.3 Elements of a Cadence797.16.4 Outcomes of Cadence Detection817.16.5 Setting Selected Cadence Detection Parameters827.16.6 Obtaining Cadence Information868. Recording and Playback878.1 Overview of Recording and Playback878.2 Digital Recording and Playback888.3 Play and Record Functions888.4 Play and Record Convenience Functions888.5 Voice Encoding Methods898.6 G.726 Voice Coder918.7 Transaction Record928.8 Silence Compressed Record938.8.1 Overview938.8.2 Enabling938.8.3 Encoding Methods Supported948.9 Recording with the Voice Activity Detector958.9.1 Overview958.9.2 Enabling968.9.3 Encoding Methods Supported968.10 Streaming to Board978.10.1 Streaming to Board Overview978.10.2 Streaming to Board Functions978.10.3 Implementing Streaming to Board988.10.4 Streaming to Board Hints and Tips988.11 Pause and Resume Play998.11.1 Pause and Resume Play Overview998.11.2 Pause and Resume Play Functions1008.11.3 Implementing Pause and Resume Play1008.11.4 Pause and Resume Play Hints and Tips1008.12 Echo Cancellation Resource1018.12.1 Overview of Echo Cancellation Resource1018.12.2 Echo Cancellation Resource Operation1028.12.3 Modes of Operation1048.12.4 Echo Cancellation Resource Application Models1059. Speed and Volume Control1139.1 Speed and Volume Control Overview1139.2 Speed and Volume Convenience Functions1139.3 Speed and Volume Adjustment Functions1149.4 Speed and Volume Modification Tables1149.5 Play Adjustment Digits1189.6 Setting Play Adjustment Conditions1189.7 Explicitly Adjusting Speed and Volume11810. Send and Receive FSK Data12110.1 Overview of ADSI and Two-Way FSK Support12110.2 ADSI Protocol12210.3 ADSI Operation12310.4 One-Way ADSI12310.5 Two-Way ADSI12410.5.1 Transmit to On-Hook CPE12410.5.2 Two-Way FSK12410.6 Fixed-Line Short Message Service (SMS)12510.7 ADSI and Two-Way FSK Voice Library Support12510.7.1 Library Support on DM3 Boards12610.7.2 Library Support on Springware Boards12710.8 Developing ADSI Applications12710.8.1 Technical Overview of One-Way ADSI Data Transfer12810.8.2 Implementing One-Way ADSI Using dx_TxIottData( )12810.8.3 Technical Overview of Two-Way ADSI Data Transfer13010.8.4 Implementing Two-Way ADSI Using dx_TxIottData( )13110.8.5 Implementing Two-Way ADSI Using dx_TxRxIottData( )13210.9 Modifying Older One-Way ADSI Applications13311. Caller ID13511.1 Overview of Caller ID13511.2 Caller ID Formats13511.3 Accessing Caller ID Information13711.4 Enabling Channels to Use the Caller ID Feature13811.5 Error Handling13811.6 Caller ID Technical Specifications13812. Cached Prompt Management14112.1 Overview of Cached Prompt Management14112.2 Using Cached Prompt Management14112.2.1 Discovering Cached Prompt Capability14112.2.2 Downloading Cached Prompts to a Board14212.2.3 Playing Cached Prompts14212.2.4 Recovering from Errors14212.2.5 Cached Prompt Management Hints and Tips14312.3 Cached Prompt Management Example Code14413. Global Tone Detection and Generation, and Cadenced Tone Generation14713.1 Global Tone Detection (GTD)14713.1.1 Overview of Global Tone Detection14713.1.2 Global Tone Detection on DM3 Boards versus Springware Boards14813.1.3 Defining Global Tone Detection Tones14813.1.4 Building Tone Templates14813.1.5 Working with Tone Templates15013.1.6 Retrieving Tone Events15113.1.7 Setting GTD Tones as Termination Conditions15213.1.8 Maximum Amount of Memory for Tone Templates15213.1.9 Estimating Memory15213.1.10 Guidelines for Creating User-Defined Tones15313.1.11 Global Tone Detection Application15513.2 Global Tone Generation (GTG)15513.2.1 Using GTG15513.2.2 GTG Functions15613.2.3 Building and Implementing a Tone Generation Template15613.3 Cadenced Tone Generation15713.3.1 Using Cadenced Tone Generation15713.3.2 How To Generate a Custom Cadenced Tone15713.3.3 How To Generate a Non-Cadenced Tone16013.3.4 TN_GENCAD Data Structure - Cadenced Tone Generation16013.3.5 How To Generate a Standard PBX Call Progress Signal16013.3.6 Predefined Set of Standard PBX Call Progress Signals16113.3.7 Important Considerations for Using Predefined Call Progress Signals16614. Global Dial Pulse Detection16914.1 Key Features16914.2 Global DPD Parameters17014.3 Enabling Global DPD17014.4 Global DPD Programming Considerations17114.5 Retrieving Digits from the Digit Buffer17114.6 Retrieving Digits as Events17214.7 Dial Pulse Detection Digit Type Reporting17214.8 Defines for Digit Type Reporting17214.9 Global DPD Programming Procedure17314.10 Global DPD Example Code17315. R2/MF Signaling17515.1 R2/MF Overview17515.2 Direct Dialing-In Service17615.3 R2/MF Multifrequency Combinations17615.4 R2/MF Signal Meanings17715.5 R2/MF Compelled Signaling18315.6 R2/MF Voice Library Functions18515.7 R2/MF Tone Detection Template Memory Requirements18616. Syntellect License Automated Attendant18716.1 Overview of Automated Attendant Function18716.2 Syntellect License Automated Attendant Functions18816.3 How to Use the Automated Attendant Function Call18817. Building Applications18917.1 Voice and SRL Libraries18917.2 Compiling and Linking19017.2.1 Include Files19017.2.2 Required Libraries19017.2.3 Run-time Linking19117.2.4 Variables for Compiling and Linking191Glossary193Index201Size: 1.46 MBPages: 208Language: EnglishOpen manual