AG Access Developer's Manual

P/N 6198-13


(Page 1 of 1 in this chapter)

About This Manual

Related Documents

Developer Support

1 Introduction

1.1 About AG Access
1.2 Basic Terminology

2 AG Access Architecture

2.1 Introduction
2.2 An Overview of Application Flow
2.2.1 Application Management
2.3 About AG Board Configuration
2.4 About Ports and Contexts
2.5 About MVIP Timeslots
2.6 About Telephone Network Protocols
2.7 About Asynchronous Programming and Events
2.8 About Parameters
2.9 About Errors and Error Codes

3 Call Control

3.1 Introduction
3.1.1 Call Control and Protocol-Independence
3.2 Telephone Network Events
3.2.1 Informational Events
3.2.2 Transitional Events
3.3 Responding to Inbound Calls
3.3.1 Inbound Call Parameters
3.3.2 Inbound Call Events
3.3.3 Retrieving Incoming Call Information
3.4 Establishing Outbound Calls
3.4.1 Call Control Mask Parameters
3.4.2 Connectmask
3.4.3 Disconnectmask
3.4.4 Using Telephone Network Tone Detection
3.4.5 Using Precise Tone Detection
3.4.6 Using Broadband Tone Detection
3.4.7 Using Voice Detection
3.4.8 Using Call Placement Timeout
3.4.9 Outbound Call Parameters
3.4.10 Outbound Call Events
3.5 Releasing Calls
3.5.1 Telephone-Network-Initiated Release
3.5.2 Application-Initiated Release
3.5.3 Call Release Parameters
3.5.4 Call Release Events
3.6 Blocking and Unblocking Calls
3.6.1 Call Blocking Parameters
3.6.2 Call Blocking Events
3.7 Managing Service Interruption
3.8 Transferring Calls
3.8.1 Using Supervised Transfer
3.8.2 Using Blind Transfer
3.8.3 Call Transfer Parameters
3.8.4 Call Transfer Events
3.9 Comprehensive State Diagrams
3.10 Protocol-Specific Parameters
3.10.1 Loop-Start Parameters
3.10.2 Wink-Start and DID Parameters
3.11 System Restrictions

4 Call Progress Analysis

4.1 Introduction
4.2 Call Progress Analysis Tone Events
4.3 Call Progress Analysis Voice Events
4.4 Terminating Call Progress Analysis
4.5 System Restrictions

5 Detectors, Generators, and Low-Level Call Control

5.1 Introduction
5.2 Generating DTMFs and Tones
5.2.1 Tone Generation Parameters
5.2.2 Terminating Tone Generation
5.2.3 System Restrictions
5.3 Detecting DTMFs
5.3.1 DTMF Detection Parameters
5.3.2 Terminating DTMF Detection
5.4 Using the Energy Detector
5.4.1 Energy Detection Parameters
5.4.2 Terminating Energy Detection
5.5 Using Tone Detectors
5.5.1 Tone Detection Parameters
5.5.2 Terminating Tone Detection
5.6 Low-Level Call Control
5.7 Using On-board Timers
5.7.1 Starting the Timer
5.7.2 Start Timer Events
5.7.3 Stopping the Timer
5.7.4 Stop Timer Event

6 Voice Record and Playback Functions

6.1 Introduction
6.2 Voice Encoding Formats
6.2.1 Buffer Sizes
6.2.2 Underruns
6.3 Data Transfer Methods
6.3.1 Single Memory Transaction
6.3.2 Asynchronous Data Transfer
6.3.3 Callback Data Transfer
6.4 Using DTMF Tones
6.4.1 DTMFabort Mask
6.5 Using the Voice Play Functions
6.5.1 Voice Play Parameters
6.5.2 Initiating a Play Operation
6.5.3 Terminating a Play Operation
6.5.4 Playing Voice Data in Callback Mode
6.5.5 Playing Voice Data in Asynchronous Mode
6.5.6 Controlling Gain During a Play Operation
6.5.7 Controlling Speed During a Play Operation
6.6 Using the Voice Record Functions
6.6.1 Voice Record Parameters
6.6.2 Initiating a Record Operation
6.6.3 Terminating a Record Operation
6.6.4 Data Transfer Using Callback Mode
6.6.5 Data Transfer Using Asynchronous Mode
6.6.6 Recording with Automatic Gain Control
6.7 System Restrictions
6.7.1 Delays in Data Processing

7 Digit (DTMF) Collection

7.1 Introduction
7.2 AG Access Digit Queue
7.3 Using Synchronous Digit Collection Functions
7.4 Using Asynchronous Digit Collection Functions
7.4.1 Digit Collection Parameters
7.4.2 Terminating Asynchronous Digit Collection

8 Echo Cancellation

8.1 Introduction
8.2 Echo Cancellation
8.3 Echo Cancellation Parameters
8.4 Enabling the Echo Canceller

9 Frequency Shift Key Data

9.1 Introduction
9.2 Sending FSK Data
9.2.1 Parameters for Sending FSK Data
9.2.2 Terminating FSK Data Transmission
9.3 Receiving FSK Data
9.3.1 Parameters for Receiving FSK Data
9.3.2 Terminating FSK Data Reception

10 Application Development

10.1 Introduction
10.1.1 Applications in the AG Access Environment
10.2 Initializing AG Access
10.2.1 Communicating With the AG Board
10.2.2 Opening Ports and MVIP Addressing
10.2.3 Starting a Protocol
10.2.4 Example Port Configurations
10.2.5 Port Life Cycle
10.3 Processing Commands and Events
10.3.1 UNIX Signals
10.4 Port Multiplexing
10.5 Execution Environment
10.5.1 Concurrency
10.5.2 Recursion
10.5.3 Spawning Processes
10.6 Programming Models
10.6.1 Single Port Per Process
10.6.2 Multiple Ports Per Process - Single Threaded
10.6.3 Multiple Ports Per Process - Multi-threaded
10.7 Handling Errors and Error Codes
10.8 Managing Parameters
10.8.1 Using Default Parameter Values
10.8.2 Using Individual Parameter Assignment
10.8.3 System Restrictions for Parameter Management
10.9 Development Environment
10.9.1 Header Files
10.9.2 Binaries
10.9.3 Windows NT
10.9.4 UnixWare 1.1 and 2.x
10.9.5 OS/2

11 Demonstration Programs and Utilities

11.1 Introduction
11.1.1 demolib.c
11.2 Interactive Test Program: aditest
11.3 Play and Record: playrec
11.4 Inbound Call Control: inadi
11.5 Outbound Call Control: outadi
11.6 Board Configuration: brdinfo
11.7 State Machine Program: adistate
11.8 Playing Wave Files: playwave
11.9 Call Transfer: xferpbx
11.10 Multi-threaded Application: threads
11.11 Utilities
11.11.1 AG Access Daemon
11.11.2 AG Access Parameter Display

Appendix A Glossary



(Page 1 of 1 in this chapter)


tech_support@nmss.com
Copyright © 1997, Natural MicroSystems, Inc. All rights reserved.