(Page 1 of 1 in this chapter)


Chapter 3

The AG Configuration File


3.1 Introduction
3.2 About AG Configuration File Structure
3.3 Creating an AG Configuration File
3.3.1 DSP Files
3.3.2 Trunk Control Programs
3.4 AG Configuration Statement Summary
3.4.1 Configuring AG Board Functionality
3.4.2 Assigning AG Board Numbers
3.5 Telephony Bus Configuration
3.6 Initializing the AG Board
3.7 Sample AG Configuration Files
3.7.1 AG-8 DID Without MVIP Connectivity
3.7.2 AG-8 LS Without MVIP Connectivity
3.7.3 AG-8 E&M With MVIP Connectivity
3.7.4 Two AG-8 LS With MVIP Connectivity
3.7.5 AG-E1 and AG-8 LS With MVIP Connectivity

3.1 Introduction

The AG configuration file lists the types, locations, and roles of each of the AG boards in a single PC chassis. It also describes which software modules should be loaded to the board's memory. The AG board initialization utility, agmon, takes the AG configuration file as input, configures the boards as described in the file, and downloads runtime files.

This chapter explains how to create or edit an AG configuration file for your
AG-8 or AG-8/80 board.
Section 3.7 provides listings of several example AG configuration files.

Refer to the AG Runtime Configuration and Developer's Manual for more detailed information about AG configuration file statements and agmon.

3.2 About AG Configuration File Structure

The active region of an AG configuration file begins with the string [AGBOARD] on a line by itself and ends with the end of the file or another word or phrase in square brackets on a line by itself. Any text outside that region is ignored.

AG configuration statements are typically grouped into sections which determine which AG board or boards they affect. Any statement not part of an explicit section is part of an implicit common section and applies to all AG boards. For clarity, the system-wide common section is usually the first section of the configuration file, followed by board-specific sections.

An AG configuration statement has the general syntax:

keyword = value

White space, such as indentation and space around an equals sign, is ignored, but is useful for clarity. Case is ignored under Windows NT. UNIX operating systems use case-sensitive file names. The pound sign (#) and semicolon (;) are both comment delimiters.

Later statements override the values set by earlier statements. You can define a default setting for all boards in the common section, then specify a different setting for a specific board(s) later in the configuration file.

Group the statements into three categories: common, range-specific, and board-specific.

3.3 Creating an AG Configuration File

The easiest way to create an AG configuration file for your setup is to modify and/or combine the contents of the example files installed with your CT Access or AG Access software and protocol software packages. By default, these files are installed in one of the following directories:

The sample configuration files shipped with CT Access are:

File Name

AG Board

ag8.cfg

AG-8 or AG-8/80 board running µ-law

ag8did.cfg

AG-8 or AG-8/80 DID board

ag24.cfg

AG-24 board and AG-24 board

ag30.cfg

AG-30 board

ag48.cfg

AG-48 board

ag60.cfg

AG-60 board

age1test.cfg

AG-E1 board

agt1.cfg

AG-T1 board

agqt1.cfg

AG Quad T board

agqe1.cfg

AG Quad E board

agdt1.cfg

AG Dual T board

agde1.cfg

AG Dual E board

The file you create should be named ag.cfg. By default, agmon looks for a file named ag.cfg for its input using the following algorithm:

If you have two or more different AG boards, you can combine the sample configuration files. For example, if you are using an AG-8 board and an AG-T1 board, begin by combing the ag8.cfg and agt1.cfg files.

3.3.1 DSP Files

Functions running on AG boards are specified with DSP files. DSP files are swapped in and out of the DSP resources on the board as needed. The DSP files required for each AG board must be specified in the AG configuration file. CT Access includes the following DSP files:

DSP File

Description

adsir.dsp

This file contains the caller ID function which decodes the modem burst that occurs between the first and second rings on a loop-start line. It is also contains the FSK data receiver.

adsix.dsp

This file contains the FSK data transmitter.

callp.dsp

This file contains voice and tone detectors used for call progress detection and for general tone detection. Use for any outgoing or two-way trunk protocol, and for call progress analysis.

dtmf.dsp

This file contains the DTMF receiver, energy/silence detector and a precise tone detector. Use dtmf.dsp for DTMF detection. The precise tone detector can be used as the cleardown detector by loop start protocols.

dtmfe.dsp

This is a variation of dtmf.dsp, optimized for use with the echo canceller (echo.dsp). It yields better talk-off resistance but requires the echo canceller to achieve the best cut through performance.

echo.dsp

This file contains the echo cancellation function. The echo canceller removes reflected energy from the incoming signal, which improves DTMF detection and voice recognition while playing.

Note: Substitute dtmfe.dsp for dtmf.dsp when using the echo canceller.

g726p.dsp
g726r.dsp

These files contain ITU G.726 ADPCM play and record functions respectively. G.726 is a standard for 32 kbit/s speech coding.

Note: These functions require considerably more DSP processing time than the functions in voice.dsp. g726p.dsp is required if you start play with an encoding type of ADI_ENCODE_G726. g726r.dsp is required to record to this encoding type.

mf.dsp

This file contains the Multi-Frequency receiver function. This function is required for any trunk protocol that uses MF signaling, and by the MF detector.

okiply.dsp
okirec.dsp

These files contain play and record functions for OKI ADPCM speech encoding, at 24 kbit/s or 32 kbit/s. okiply.dsp is required if you start play with an encoding type of ADI_ENCODE_OKI_24 or ADI_ENCODE_OKI_32. okirec.dsp is required to record to these encoding types. okiply.dsp supports speed-up.

rvoice.dsp

This file contains PCM play and record functions.

rvoice.dsp is required to play or record with an encoding of ADI_ENCODE_MULAW, ADI_ENCODE_ALAW, or ADI_ENCODE_PCM8M16.

signal.dsp

This file contains signaling, ring detector and pulse functions. These are "out of band" functions which typically operate on the MVIP signaling stream. This file is required for any trunk protocol except NOCC, for the signal detector, and for sending a pulse.

tone.dsp

This file contains the tone generation function.

This file is required for any trunk protocol except NOCC. It is also required for generating tones, generating DTMF tones, initiating dialing, and for generating a beep tone with any second record function.

voice.dsp

This file contains NMS ADPCM play and record functions. The compressed speech is in a framed format with 20 milliseconds of data per frame. Speech is compressed to 16, 24 or 32 kbit/s or stored as uncompressed µ-law or A-law (64 kbit/s). This file is required to play or record with encoding values of ADI_ENCODE_NMS_16, ADI_ENCODE_NMS_24, ADI_ENCODE_NMS_32, or ADI_ENCODE_NMS_64.

voxp.dsp
voxr.dsp

These files should be substituted for voice.dsp in order to apply speed up to NMS ADPCM encoded speech. voxp.dsp supports speed-up.

wavply.dsp
wavrec.dsp

These files contain play and record functions for PCM speech in formats commonly used in WAVE files, including 8 and 16 bit 11 kHz sampling. wavply.dsp is required if you start play with an encoding type of ADI_ENCODE_PCM11M8 or ADI_ENCODE_PCM11M16. wavrec.dsp is required to record to these encoding types.

The AG Runtime Configuration and Developer's Manual provides details about the DSP resources available on each AG board and the DSP requirements for each ADI service function. Refer to this manual to estimate the DSP requirements for your application, and for instructions for re-configuring DSP resources if necessary.

3.3.2 Trunk Control Programs

Trunk control programs (TCPs) perform all the signaling tasks necessary to interface with the telephony protocol used on the line or trunk. TCPs are loaded onto an AG board at board initialization. After a TCP has been loaded to the AG board, the application must start up its protocol before it can use the TCP to perform call control on a specific port. CT Access includes the following trunk control programs:

Trunk Control Program

Description

nocc.tcp

No call control

lps0.tcp

AG-8 or AG-8/80; analog loop start

wnk0.tcp

T1 trunk or AG-8 or AG-8/80 DID; digital/analog wink start

did0.tcp

T1 trunk or AG-8 or AG-8/80 DID; digital/analog wink start (inbound only)

ogt0.tcp

T1 trunk or AG-8 or AG-8/80 DID; digital/analog wink start (outbound only)

wnk1.tcp

AG-8 or AG-8/80 E&M; analog wink start

3.4 AG Configuration Statement Summary

The following table summarizes the AG configuration file statements that are useful or mandatory (as noted) for AG-8 and AG-8/80 boards. For more detailed information about any of these statements, refer to the AG Runtime Configuration and Developer's Manual.

Brackets ([ ]) signify that a value is optional, and a vertical bar ( | ) signifies that there is more than one available option. Keywords and values are not case-sensitive.

Keyword

Allowed Values

Description

Mandatory?

Address

base

Base address of board on the ISA bus.

Yes

Board

boardnum [..endboard] | ALL

Beginning of section defining configuration of one or more boards.

Yes

ClockRef

MVIP | OSC

Configures the bus clocking.

Only if EnableMVIP = YES, or if DriveSec8K or MvipSlot statements are present.

Diagnostics

level

Determines diagnostics level
(0-3) at board initialization time.

No

Diva

filename

Specifies a DSP file to download to the Diva daughterboard.

Only if Diva I daughterboard is present.

DSP_OS

filename

Defines DSP operating system to be used.

No

DSPFile

filename

Installs a DSP file for either mu-law or A-law encoding. (The naming convention for mu-law encoding is filename.dsp; for A-law encoding, filename_a.dsp).

Yes

EnableMVIP

YES | NO

Determines whether board is electrically connected to the MVIP bus.

No

End Board

Ends section defining the configuration of one or more boards.

No

HybridConfig

configslot 0 [,configslot1,..,configslot n]

For ELS hybrid only:

Changes the receive gain from the default value of 0 dB to 6 dB. See Appendix B for more details about the ELS hybrid.

No

IdleCode

MU-LAW | A-LAW | evencode [,oddcode]

Defines voice encoding and bit pattern transmitted to network interface.

No

Interrupt

vector

Defines IRQ shared by all AG boards on the ISA bus. Default is 7.

Yes

LineType

LOOPSTART | LOOP | E&M | E&M1A | DID

Configures analog telephone line interfaces.

No

LoadFile

filename

Defines boot loader.

No

MVIPslot

stream:timeslot [..endslot] [,idlecode]

Defines a range of MVIP timeslots driven by DSP resources on the AG board, using MVIP-90 switch model.

No

Runfile

filename

Specifies the runtime software to be transferred to the board.

Yes

RunModule

filename

Specifies an optional runtime component to be transferred to the board.

No

TCP

filename

Downloads trunk control program.

Yes

3.4.1 Configuring AG Board Functionality

Files that are required for an AG board to operate, and files that run specific functions on the DSP resources are downloaded to the AG board during initialization. The boot loader file, DSP operating system file, and software runfile are necessary for the board to operate correctly. These files can be specified in the AG configuration file. If the boot loader file or the DSP operating system file are not specified, agmon downloads the necessary files to each AG board by default. The runfile must be specified in a Runfile statement.

Functions running on DSP resources on AG boards are specified in DSPfile statements. DSP files are swapped in and out of the DSP resources on the board as needed. The DSP files required for each AG board must be specified in the AG configuration file in one or more DSPfile statements.

3.4.2 Assigning AG Board Numbers

Each AG board in the system is identified by a board number. The board number is assigned in a board-specific section of the AG configuration file. A CT Access application uses the AG board number as an argument to some of its API functions.

To assign a number to an AG board on the ISA bus, specify the board I/O address in the appropriate board-specific section of the AG configuration file. The board I/O address is typically assigned by configuring the DIP switches, as described in Section 2.3.2.

3.5 Telephony Bus Configuration

An AG-8 or AG-8/80 board can be configured as a standalone board or it can be connected to other boards over the MVIP bus. Connectivity to the MVIP bus is specified in the AG configuration file.

Setting EnableMVIP=YES electrically connects the AG board to the MVIP bus and therefore enables telephony bus switching. No switch connections are made automatically. To control switching, use the CT Access Switching service API or the swish utility. For further information, see the Switching Service Developer's Reference Manual.

See Chapter 5 of this manual for details about using MVIP switching with AG-8 and AG-8/80 boards. For further information about MVIP switching, see Getting Started With MVIP Switching.

Caution:

If the bus clock master board is an AG board, it must be assigned to the first board-specific section in the AG configuration file
(Board 0). The bus clock master must be initialized before the bus clock slaves. You cannot initialize a clock slave board until a bus clock signal has been provided by initializing the clock master board.

3.6 Initializing the AG Board

When your AG configuration file is complete, use agmon to initialize and configure your boards as described in Section 4.2. agmon interprets your AG configuration file and loads the appropriate files to the AG board(s). If the load is successful, agmon monitors for errors until you terminate it. For more information about this utility, see the AG Runtime Configuration and Developer's Manual.

Note: In UNIX, agmon must be left running at all times. In Windows NT you can press the F3 key to stop monitoring while leaving the boards running. However, NMS recommends leaving agmon running at all times so that errors are captured if they occur.

agmon creates two files, ag.rpt and agerror.log. These files can be found in the current directory in Windows NT, and in /var/opt/nms/ag in UNIX.

ag.rpt contains a summary of the board configuration, including which files were loaded, and any errors that occurred in loading.

agerror.log is an error log file. Any errors displayed in the agmon session are appended to the file. The file remains open for one second after an error is written.

3.7 Sample AG Configuration Files

The following sections are listings of sample ag.cfg files for different system configurations using AG-8 or AG-8/80 boards.

3.7.1 AG-8 DID Without MVIP Connectivity

The following sample AG configuration file describes one AG-8 DID board using a DID protocol, without MVIP connectivity.

[AGBOARD]

#---------- COMMON section --------
  Interrupt = 7

  TCP = nocc.tcp      # no call control protocol
  TCP = did0.tcp      # DID wink start protocol

  DspFile = tone.dsp      # Beep, tone generation, dial
  DspFile = callp.dsp      # Call Progress detection
  DspFile = signal.dsp      # Out-of-band channel associated signaling
  DspFile = dtmf.dsp      # DTMF, cleardown and silence/energy detectors
  DspFile = voice.dsp      # NMS ADPCM play and record

  RunFile = sysan.run

  ClockRef   = OSC
  EnableMvip = No
  IdleCode   = mu-LAW


#--------- BOARDS section ----------

Board 0
  Address = 2C0
End Board


3.7.2 AG-8 LS Without MVIP Connectivity

The following sample AG configuration file describes one AG-8 LS board using a loop start protocol, without MVIP connectivity.

[AGBOARD]

#---------- COMMON section --------
  Interrupt = 7

  TCP = nocc.tcp      # no call control protocol
  TCP = lps0.tcp      # loop start protocol

  DspFile = tone.dsp      # Beep, tone generation, dial
  DspFile = callp.dsp      # Call Progress detection
  DspFile = signal.dsp      # Out-of-band channel associated signaling
  DspFile = dtmf.dsp      # DTMF, cleardown and silence/energy detectors
  DspFile = voice.dsp      # NMS ADPCM play and record

  RunFile = sysan.run

  ClockRef   = OSC
  EnableMvip = No
  IdleCode   = mu-LAW

#--------- BOARDS section ----------

 Board 0
  Address = 2c0
 End Board



 

3.7.3 AG-8 E&M With MVIP Connectivity

The following sample AG configuration file describes one AG-8 E&M board using an E&M wink start protocol, with MVIP connectivity.

[AGBOARD]

#---------- COMMON section --------
 Interrupt = 7

  TCP = nocc.tcp      # no call control protocol
  TCP = wnk1.tcp      # E&M wink start protocol

  DspFile = tone.dsp      # Beep, tone generation, dial
  DspFile = callp.dsp      # Call Progress detection
  DspFile = signal.dsp      # Out-of-band channel associated signaling
  DspFile = dtmf.dsp      # DTMF, cleardown and silence/energy detectors
  DspFile = voice.dsp      # NMS ADPCM play and record

  RunFile = sysan.run

  ClockRef   = OSC
  EnableMvip = Yes
  IdleCode   = mu-LAW


#--------- BOARDS section ----------

 Board 0
  Address = 2C0
  LineType 0..7 = E&M      # Configures lines 0 - 7 as type 1B E&M lines
 End Board


 

3.7.4 Two AG-8 LS With MVIP Connectivity

The following is a sample configuration file for two AG-8 LS boards with MVIP connectivity. One AG-8 board is the clock master that drives the MVIP clock. No MVIP connections are made by agmon because EnableMvip is set to YES. All line-interface-to-DSP-resource connections must be made by the application(s).

[AGBOARD]
#------------ COMMON section ---------
Interrupt = 7 DspFile = voice.dsp DspFile = signal.dsp DspFile = dtmf.dsp DspFile = callp.dsp DspFile = tone.dsp TCP = lps0.tcp RunFile = sysan.run IdleCode = MU-LAW EnableMvip = YES #--------- BOARD sections --------- Board 0 Address = 2C0 ClockRef = OSC End Board Board 1 Address = 22C0 ClockRef = MVIP End Board

3.7.5 AG-E1 and AG-8 LS With MVIP Connectivity

The following sample AG configuration file describes one AG-E1 board set up at I/O address 2C0, IRQ 12, using an MFC-R2 protocol, and one AG-8 LS board at I/O address 22C0 using a loop start protocol. The boards are connected by the MVIP bus.

[AGBOARD]      

#--- COMMON section ---
  Interrupt = 12       

  DspFile = voice_a.dsp
  DspFile = signal_a.dsp
  DspFile = dtmf_a.dsp
  DspFile = callp_a.dsp
  DspFile = tone_a.dsp
  DspFile = mf_a.dsp

#--- BOARDS section ---
Board 0       # Beginning of Board 0, the AG-E1. 

  RunFile = systn.run
  Address = 2C0 
  TCP = mfc0.tcp
  IdleCode = 0xD5,0x9
  CLOCKREF = NET1     # extracts the clock signal from the trunk line. 

  ENABLEMVIP = YES     # MVIP connectivity enabled; AG-E1 is the clock
# master, since its ClockRef statement is set to NET1
LINECODE = HDB3 # trunk coding algorithm. End Board Board 1 # Beginning of Board 1, the AG-8. RunFile = sysan.run Address = 22C0 TCP = lps0.tcp IdleCode = A-LAW CLOCKREF = MVIP # clock slave ENABLEMVIP = YES End Board



(Page 1 of 1 in this chapter)


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