Page 3 - Contents
Conferencing API Programming Guide – August 2006 3 Contents Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 About This Publication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 5 - Revision History
Conferencing API Programming Guide — August 2006 5 Revision History This revision history summarizes the changes made in each published version of this document. Document No. Publication Date Description of Revisions 05-2505-001 August 2006 Initial version of document.
Page 7 - About This Publication; Purpose; Applicability
Conferencing API Programming Guide — August 2006 7 About This Publication The following topics provide more information about this publication: • Purpose • Applicability • Intended Audience • How to Use This Publication • Related Information Purpose This publication provides programming guidelines f...
Page 8 - How to Use This Publication
8 Conferencing API Programming Guide — August 2006 About This Publication How to Use This Publication This document assumes that you are familiar with the Linux* or Windows* operating systems and the C programming language. The information in this document is organized as follows: • Chapter 1, “Prod...
Page 9 - Product Description; Overview; Key Features
Conferencing API Programming Guide — August 2006 9 1 1. Product Description This chapter provides an overview of the conferencing library. Topics include: • Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 • Key Featur...
Page 10 - Understanding How Conferences are Formed
10 Conferencing API Programming Guide — August 2006 Product Description DTMF digit detection The application can determine whether a party has generated a DTMF digit. Volume control A party can adjust the listening volume of the conference using pre-programmed DTMF digits. DTMF tone clamping This fe...
Page 11 - Relationship with Other Libraries; Device Management API Library
Conferencing API Programming Guide — August 2006 11 Product Description A conference may be formed from parties that are connected to any one of the following technology device handles: • voice (dx) device handle • IP media (ipm) device handle • digital network interface (dti) device handle Note: A ...
Page 12 - Voice API Library; IP Media Library API; Global Call API Library; Digital Network Interface API Library
12 Conferencing API Programming Guide — August 2006 Product Description through the device management library. For more information about device management functions, see the Device Management API Library Reference . 1.4.3 Voice API Library The voice API provides a collection of functions supporting...
Page 13 - Programming Models; Programming Models Overview; Asynchronous Programming Model
Conferencing API Programming Guide — August 2006 13 2 2. Programming Models This chapter describes the programming models supported by the conferencing software. The following topics are covered: • Programming Models Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 15 - Event Handling; SRL Event Management Functions; SRL Standard Attribute Functions
Conferencing API Programming Guide — August 2006 15 3 3. Event Handling All conferencing events are retrieved using Standard Runtime Library (SRL) event retrieval mechanisms, including event handlers. The SRL is a device-independent library containing event management functions and Standard Attribut...
Page 17 - Error Handling
Conferencing API Programming Guide — August 2006 17 4 4. Error Handling This chapter describes error handling for the conferencing software. All conferencing functions return a value that indicates the success or failure of the function call. Success is indicated by a return value of CNF_SUCCESS. Fa...
Page 19 - Using Symbolic Defines
Conferencing API Programming Guide — August 2006 19 5 5. Application Development Guidelines This chapter contains guidelines for developing conferencing applications. The following topics are covered: • Using Symbolic Defines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 20 - Creating a Conference
20 Conferencing API Programming Guide — August 2006 Application Development Guidelines devices at once. A conference device and a party device are independent; that is, you can open a party device without first opening a conference device. 5.3 Creating a Conference The following steps describe how t...
Page 21 - Conference Bridging
Conferencing API Programming Guide — August 2006 21 Application Development Guidelines 11. If desired, you can specify attributes for a party using cnf_SetAttributes( ) . Attributes are contained in the CNF_ATTR data structure. Use cnf_GetAttributes( ) to return the current attributes for the party....
Page 22 - Terminating an Application; Data Structure Considerations
22 Conferencing API Programming Guide — August 2006 Application Development Guidelines • Even though two (or more) conferences can be bridged together, the attributes and settings of each conference remain unchanged. The application is responsible for managing each conference and conference related ...
Page 23 - Multiprocessing Considerations
Conferencing API Programming Guide — August 2006 23 Application Development Guidelines 5.7 Multiprocessing Considerations Having multiple processes acting on the same board is undesirable. It is recommended to use a single process per board, or a single process for all boards, rather than more than ...
Page 25 - Using Active Talker
Conferencing API Programming Guide — August 2006 25 6 6. Using Active Talker This chapter provides information about the active talker feature. An active talker refers to a party in a conference who is providing “non-silence” energy. Active talkers are determined by the loudness or strength of their...
Page 27 - Using Volume Control
Conferencing API Programming Guide — August 2006 27 7 7. Using Volume Control This chapter provides information about controlling the volume level in a conference. A party in a conference may wish to change the volume level of the received signal. This is accomplished using the volume control featur...
Page 29 - Building Applications; Compiling and Linking; Include Files
Conferencing API Programming Guide — August 2006 29 8 8. Building Applications This chapter provides information on building applications using the conferencing API library. The following topics are discussed: • Compiling and Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 30 - Required Libraries; Windows
30 Conferencing API Programming Guide — August 2006 Building Applications If you use other library functions such as voice or IP media, you will have to include the header files for that library: dxxxlib.h Contains function prototypes and symbolic defines for the voice library. dtilib.h Contains fun...
Page 31 - Linux; Variables for Compiling and Linking
Conferencing API Programming Guide — August 2006 31 Building Applications Linux In Linux, you must link the following library files in the order shown when compiling your conferencing application: libsrl.so Standard Runtime Library file. Required in all applications. Specify -lsrl in makefile. libdx...
Page 37 - Index
Conferencing API Programming Guide — August 2006 37 Index A active talker enabling 25feature description 10 asynchronous callback model, Linux 13 asynchronous mode programming Linux 13 asynchronous models Linux 13 asynchronous polled model Linux 13 asynchronous programming model 9 , 20 ATDV_ERRMSGP(...