AG Access
Developer's Manual


Table of Contents



1 Introduction

1.1 About This Product
1.2 About This Manual
1.2.1 Intended Audience
1.2.2 Organization of Material
1.2.3 Document Conventions
1.3 Developer Support
1.4 Related Documents

2 AG Access Architecture

2.1 Introduction
2.2 Telephony Capabilities
2.3 Application Development
2.4 AG Board Configuration
2.5 Ports
2.6 MVIP Streams
2.7 Network Protocols
2.8 Asynchronous Programming
2.9 Parameters
2.10 Errors

3 Call Control Function

3.1 Introduction
3.2 Call Control Events
3.2.1 Informational Events
3.2.2 Transitional Events
3.3 Inbound Trunks
3.3.1 Inbound Trunk Events
3.4 Outbound Trunks
3.4.1 Outbound Trunk Events
3.4.2 Call Control Mask Parameters
3.4.3 Events Used by Call Control
3.4.4 Network Tone Parameters
3.4.5 Voice Parameters
3.5 Releasing Calls
3.5.1 Network-Initiated Release
3.5.2 Application-Initiated Release
3.6 Blocking Calls
3.7 Service Interruption
3.8 Call Transfer
3.8.1 Supervised Transfer
3.8.2 Blind Transfer
3.8.3 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 Voice Record and Playback Functions

4.1 Introduction
4.2 Voice Encoding Formats
4.2.1 Buffer Sizes
4.3 Data Transfer Methods
4.3.1 Single Memory Transaction
4.3.2 Asynchronous Transfer
4.3.3 Callback Transfer
4.4 DTMF Interaction
4.5 Voice Play Functions
4.5.1 Play Initiation
4.5.2 Play Termination
4.5.3 Data Transfer Via Callback
4.5.4 Data Transfer Via Asynchronous Mode
4.5.5 Gain and Speed Control
4.6 Voice Record Functions
4.6.1 Record Initiation
4.6.2 Record Termination
4.6.3 Data Transfer Via Callback
4.6.4 Data Transfer Via Asynchronous Mode
4.6.5 Automatic Gain Control
4.7 System Restrictions

5 Digit (DTMF) Collection

5.1 Introduction
5.2 Background Collection
5.3 Synchronous Digit Functions
5.4 Asynchronous Digit Collection

6 Detectors, Generators and Timers

6.1 Introduction
6.2 DTMF and Tone Generation
6.2.1 System Restrictions
6.3 DTMF Detector
6.4 Echo Cancellation
6.4.1 Enabling the Echo Canceller
6.4.2 Using the Alternate DTMF Detector to Improve Talk-off
6.5 Energy Detector
6.6 Tone Detectors
6.7 Call Progress
6.7.1 Call Progress Tone Events
6.7.2 Call Progress Voice Events
6.7.3 Terminating Call Progress
6.7.4 System Restrictions
6.8 Frequency Shift Key (FSK) Data
6.8.1 Transmit Function
6.8.2 Receiver Function
6.9 Low Level Control
6.10 Timers

7 Application Development

7.1 Introduction
7.2 Opening the AG Driver
7.3 Opening Ports
7.3.1 Introduction
7.3.2 Opening a Port
7.3.3 MVIP Addressing
7.3.4 Starting a Protocol
7.3.5 Example Port Configurations
7.3.6 Port Life-Cycle
7.4 Command and Event Processing
7.4.1 Unix Signals
7.5 Port Multiplexing
7.6 Execution Environment
7.7 Programming Models
7.7.1 Single Port Per Process
7.7.2 Multiple Ports Per Process - Single Threaded
7.7.3 Multiple Ports Per Process - Multi-threaded
7.8 Error Codes and Handling
7.9 Parameter Management
7.9.1 Individual Parameter Assignment
7.9.2 Default Parameters
7.9.3 System Restrictions
7.10 Development Environment
7.10.1 Header Files
7.10.2 Binaries
7.10.3 Windows NT
7.10.4 UnixWare 1.1 and 2.x
7.10.5 OS/2

8 Demonstration Programs

8.1 Introduction
8.2 Interactive Test Program
8.3 Play and Record
8.4 Inbound Call-Control
8.5 Outbound Call Control
8.6 Board Configuration
8.7 State-Machine Program
8.8 Utilities
8.8.1 AG Access Daemon
8.8.2 AG Access Parameter Display
8.9 Playing WAVE Files
8.10 Call Transfer
8.11 Multi-threaded Demo

Appendix A Glossary


Copyright 1996 Natural MicroSystems, Inc. All Rights Reserved.