Voice API Programming Guide
Total Page:16
File Type:pdf, Size:1020Kb
Voice API Programming Guide June 2005 05-2377-002 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. This Voice API Programming Guide as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without express written consent of Intel Corporation. Copyright © 2004-2005, Intel Corporation BunnyPeople, Celeron, Chips, Dialogic, EtherExpress, ETOX, FlashFile, i386, i486, i960, iCOMP, InstantIP, Intel, Intel Centrino, Intel Centrino logo, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Inside, Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Xeon, Intel XScale, IPLink, Itanium, MCS, MMX, MMX logo, Optimizer logo, OverDrive, Paragon, PDCharm, Pentium, Pentium II Xeon, Pentium III Xeon, Performance at Your Command, skoool, Sound Mark, The Computer Inside., The Journey Inside, VTune, and Xircom are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. * Other names and brands may be claimed as the property of others. Publication Date: June 2005 Document Number: 05-2377-002 Intel Converged Communications, Inc. 1515 Route 10 Parsippany, NJ 07054 For Technical Support, visit the Intel Telecom Support Resources website at: http://developer.intel.com/design/telecom/support For Products and Services Information, visit the Intel Telecom Products website at: http://www.intel.com/design/network/products/telecom For Sales Offices and other contact information, visit the Where to Buy Intel Telecom Products page at: http://www.intel.com/buy/networking/telecom.htm Voice API Programming Guide – June 2005 Contents Revision History . 11 About This Publication . 13 Purpose . 13 Applicability . 13 Intended Audience. 13 How to Use This Publication . 14 Related Information . 15 1 Product Description . 17 1.1 Overview . 17 1.2 R4 API . 17 1.3 Call Progress Analysis. 18 1.4 Tone Generation and Detection Features . 18 1.4.1 Global Tone Detection (GTD) . 18 1.4.2 Global Tone Generation (GTG) . 19 1.4.3 Cadenced Tone Generation . 19 1.5 Dial Pulse Detection . 19 1.6 Play and Record Features . 19 1.6.1 Play and Record Functions. 20 1.6.2 Speed and Volume Control. 20 1.6.3 Transaction Record . 20 1.6.4 Silence Compressed Record . 20 1.6.5 Streaming to Board. 20 1.6.6 Echo Cancellation Resource . 21 1.7 Send and Receive FSK Data. 21 1.8 Caller ID. 21 1.9 R2/MF Signaling . 21 1.10 TDM Bus Routing . 22 2 Programming Models. 23 2.1 Standard Runtime Library . 23 2.2 Asynchronous Programming Models. 23 2.3 Synchronous Programming Model . 23 3 Device Handling . 25 3.1 Device Concepts . 25 3.2 Voice Device Names . 25 4 Event Handling . 27 4.1 Overview of Event Handling . 27 4.2 Event Management Functions . 27 5 Error Handling . 29 6 Application Development Guidelines . 31 Voice API Programming Guide – June 2005 3 Contents 6.1 General Considerations . 31 6.1.1 Busy and Idle States . 31 6.1.2 Setting Termination Conditions for I/O Functions . 32 6.1.3 Setting Termination Conditions for Digits . 34 6.1.4 Clearing Structures Before Use . 35 6.1.5 Working with User-Defined I/O Functions . 35 6.2 Fixed and Flexible Routing Configurations. 35 6.3 Fixed Routing Configuration Restrictions . 37 6.4 Additional DM3 Considerations . 37 6.4.1 Call Control Through Global Call API Library . 38 6.4.2 Multithreading and Multiprocessing . 38 6.4.3 DM3 Media Loads . 39 6.4.4 Device Discovery for DM3 and Springware . 39 6.4.5 Device Initialization Hint. 39 6.4.6 TDM Bus Time Slot Considerations. 40 6.4.7 Tone Detection Considerations . 41 6.5 Using Wink Signaling . .41 6.5.1 Setting Delay Prior to Wink . 41 6.5.2 Setting Wink Duration . 41 6.5.3 Receiving an Inbound Wink . 42 7 Call Progress Analysis . 43 7.1 Call Progress Analysis Overview . ..