(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 and TCPs
3.4 AG Configuration Statement Summary
3.5 Assigning AG Board Numbers
3.6 Configuring AG Board Functionality
3.7 Configuring MVIP Bus Connectivity
3.7.1 Using MVIP Switch Models
3.7.2 Nailing Up DSP Resources
3.7.3 Restrictions for AG-48/60 Boards
3.7.4 Using MVIP-90 and MVIP-95 in One Application
3.8 About agmon
3.9 Sample AG Configuration Files
3.9.1 Two AG-24 Boards
3.9.2 AG-8 and AG-24, With MVIP Connectivity
3.9.3 AG-E1 and AG-60, 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, interprets the AG configuration file and 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 board.
Section 3.9 provides listings of several example AG configuration files.

See the AG Runtime Configuration and Developer's Manual for more detailed information about AG configuration files.

The AG configuration file specifies how the application addresses the board and how the board is configured. In the AG configuration file, you define:

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.

The AG configuration statements are typically grouped into sections which determine their scope. Each section has as its scope a set of AG boards. Each statement within that section refers to that set of boards. Any statement not part of an explicit section is part of an implicit common section and applies to all AG boards.

White space, such as indentation and space around an equals sign, is ignored, but is useful for clarity. Windows NT file names are not case-sensitive; UNIX file names are case-sensitive.

The pound sign (#) and semicolon (;) are both comment delimiters. agmon ignores any text that follows a comment delimiter character on the same line.

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.

An AG configuration file statement has the general syntax:

 keyword = value

 

3.3 Creating an AG Configuration File

The easiest way to create an AG configuration file for your system is to modify and/or combine the contents of the sample files installed with CT Access. These files are installed in one of the following directories:

The sample configuration files are:

Sample File

Description

ag8.cfg

AG-8 LS board

ag8did.cfg

AG-8 DID board

ag24.cfg

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. This is the file name agmon looks for by default.

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-48 board, begin with the ag8.cfg and ag48.cfg files.

3.3.1 DSP Files and TCPs

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. You must specify DSP files for each AG board in the AG configuration file.

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.4 AG Configuration Statement Summary

The following table summarizes the relevant AG configuration file statements for AG-24/30/48/60 boards. For more detailed information about any of these keywords, see the AG Runtime Configuration and Developer's Manual.

Brackets ([ ]) signify that a value is optional. 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

Diagnostics

level

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

No

DSP_OS

filename

Defines DSP operating system used.

No

DspFile

filename

Installs a DSP function module.

Yes

End Board

Ends section defining the configuration of one or more boards.

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.

Yes

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.

Yes

RunFile

filename

Specifies the runtime software to be transferred to the board.

Yes

Runmodule

filename

Specifies additional downloadable modules for CT Access services, such as NaturalFax.

No

TCP

filename

Installs trunk control program.

Yes

3.5 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 needs to use the AG board number as an argument to some of its API functions.

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 the clock master board has been initialized.

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. For example:

Board 0
Address = 2C0
# other board specific configurations
End Board
The board I/O address is assigned by configuring the DIP switches on the face of the AG baseboard, as described in Section 2.3.1.

3.6 Configuring AG Board Functionality

The boot loader file, DSP operating system file, and software runfile are necessary for the board to operate correctly. The boot loader file and the DSP operating system file can be specified in the AG configuration file, but if they are not specified, agmon downloads the necessary files to each AG board by default. You must specify the runfile in a Runfile statement.

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

See the AG Runtime Configuration and Developer's Manual for details about configuring AG board functionality. Refer to the ADI Service Function Reference Manual for a list of DSP files included with CT Access, and a list of which DSP files are required to perform specific functions.

3.7 Configuring MVIP Bus Connectivity

A typical computer telephony application connects the DSP resources on an
AG-24/30/48/60 board to the network interfaces on another board in the same PC chassis over the MVIP-90 bus. AG-24/30/48/60 boards do not contain a switch. They must nail up their DSP resources to MVIP-90 bus streams by specifying the streams and timeslots in the AG configuration file.

The voice and signaling information for DSP resources are available on internal data streams. There are four data streams associated with each port:

The ports on AG-24/30/48/60 boards occupy consecutive timeslots in a stream. Parallel streams support full duplex connections.

3.7.1 Using MVIP Switch Models

A switch model is a convention of naming streams and timeslots on a standardized telephony bus so that an application can use hardware-independent terms to address the bus. There are two switch models used for MVIP switching: MVIP-90 and MVIP-95.

CT Access supports both switch models in its API. You can use either MVIP-90 or MVIP-95 naming conventions in CT Access application code. We strongly recommend using the MVIP-95 switch model to develop new applications. The MVIP-95 model provides forward compatibility for the H.100 telephony bus, and is designed to accommodate further telephony bus evolution.

Caution:

You must use the MVIP-90 switch model to address streams and timeslots in the AG configuration file. The AG configuration file communicates directly with the AG driver, which recognizes only MVIP-90 terms.

3.7.2 Nailing Up DSP Resources

The MVIP-90 bus has 16 physical wires, which are labeled DSi0..7 and DSo0..7 in the MVIP-90 switch model. In the MVIP-90 switch model, applications address the 16 MVIP bus wires as streams 0..15.

In the MVIP-90 switch model, even-numbered streams are used for voice information and odd-numbered streams are used for signaling information by convention. Also by convention, DSP resources receive input from timeslots on DSi streams. DSP resources send output to timeslots on DSo streams.

No default MVIP stream and timeslot assignments are made for AG-24/30/48/60 boards. You must nail up the DSP resources on an AG-24/30/48/60 board to the MVIP bus with MVIPSlot statements in the AG configuration file, using MVIP-90 terms. The MvipSlot statement determines the MVIP space in which you want the DSPs to appear to a network card.

For example, suppose you wish to make duplex connections between the analog line interfaces on a network card and the DSP reources on an AG-24. If the network card's line interfaces appear on streams 16 (voice) and 17 (signaling), then given the following MvipSlot statements for the AG-24 in the AG configuration file:

MVIPSlot = 6:0..23 # voice

MVIPSlot = 7:0..23 # signaling

The following switch connections should be made on the network card:

16:0..23 <-> 6:0..23  # network voice to DSP voice in duplex,
                                            # all ports
17:0..23 <-> 7:0..23  # network signaling to DSP signaling in duplex, all ports

 

Once the DSP resources from an AG-24/30/48/60 board are available on the MVIP bus, an application can use them to process a telephone call associated with a line interface on another board connected to the MVIP bus, as shown in Figure 5.

Figure 5. An Example MVIP Configuration


 

3.7.3 Restrictions for AG-48/60 Boards

There are eight full-duplex streams available on the MVIP bus: 0,1, 2, 3, 4, 5, 6, and 7. Each stream supports 24 to 30 ports of voice or signaling data. AG-48 and AG-60 boards support 48 to 60 ports per board of voice and signaling data. Each 24 to 30 ports requires two MVIP streams. Therefore, AG-48 and AG-60 boards require four streams per board on the MIVP bus.

Make sure that no more than two streams are adjacent to each other. Use two streams from the range of 0 to 3, and two streams from the range of 4 to 7. For example, use streams 0, 1, 5, and 6.

You cannot use three consecutive streams, such as 0, 1, 2, and 4 or 4, 5, 6, 7.

3.7.4 Using MVIP-90 and MVIP-95 in One Application

A CT Access application can use both MVIP-90 and MVIP-95 switch models. Figure 6 shows how MVIP-90 bus wires map to both switch models:

Figure 6. MVIP-90 Bus in MVIP-90 and MVIP-95 Models


The following table shows the correspondence between the MVIP-90 physical bus wires, the MVIP-90 switch model stream names, and the MVIP-95 switch model stream names:

MVIP-90 Bus Wire

MVIP-90, Input To Switch Block

MVIP-90, Output From Switch Block

MVIP-95

DSo0

0

8

0

DSi0

8

0

1

DSo1

1

9

2

DSi1

9

1

3

DSo2

2

10

4

DSi2

10

2

5

DSo3

3

11

6

DSi3

11

3

7

DSo4

4

12

8

DSi4

12

4

9

DSo5

5

13

10

DSi5

13

5

11

DSo6

6

14

12

DSi6

14

6

13

DSo7

7

15

14

DSi7

15

7

15

N/A - used with H.100 bus only.

16..23

N/A - used with H.100 bus only.

24..31

3.8 About agmon

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

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.9 Sample AG Configuration Files

This section presents listings of sample ag.cfg files for different configurations using AG-24/30/48/60 boards.

3.9.1 Two AG-24 Boards

The following is a sample configuration file for a system with two AG-24 boards, which provide DSP resources, and two S Connect or T Connect boards, which provide network interfaces. One of the S Connect or T Connect boards must be configured as bus clock master. S Connect and T Connect boards are not initialized by agmon, and so they do not appear in the AG configuration file. See the AG Connect documentation for information about loading and initializing these boards.

Note: Remember to initialize the clock master board before attempting to initialize the clock slave boards.You cannot initialize a clock slave board if the clock master board has not been initialized.

[AGBOARD]
#------------ COMMON section ---------

  Interrupt = 7

  DspFile = voice.dsp
  DspFile = signal.dsp
  DspFile = dtmf.dsp
  DspFile = callp.dsp
  DspFile = tone.dsp

  TCP = did0.tcp
  TCP = ogt0.tcp

  RunFile = sysdn.run

  IdleCode = MU-LAW

#--------- BOARD sections ---------
Board 0 # AG-24
Address = 2C0 MvipSlot = 6:0..23 # Voice data MvipSlot = 7:0..23 # Signaling data End Board Board 1 Address = 22C0 # AG-24 MvipSlot = 4:0..23 # Voice data MvipSlot = 5:0..23 # Signaling data End Board

3.9.2 AG-8 and AG-24, With MVIP Connectivity

The following is a sample configuration file for a system with one AG-8 board, one AG-24 board, using MVIP connectivity and mu-law encoding. The AG-8 board is the clock master, and it is initialized first. No default connections are made by the system; the application must make all connections between line interfaces, DSP resources, and the MVIP bus. The DSP resources on the AG-24 board are nailed up to the MVIP bus as shown in the Board 1 section.

[AGBOARD]

#---------- COMMON section --------

Interrupt = 7

DspFile = tone.dsp
DspFile = callp.dsp 
DspFile = signal.dsp
DspFile = dtmf.dsp
DspFile = voice.dsp

TCP = lps0.tcp
TCP = did0.tcp

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

Board 0       # AG-8 board 
  Address = 2c0
  RunFile = sysan.run
  ClockRef = OSC
  EnableMvip = Yes
  IdleCode = mu-LAW
End Board

Board 1       # AG-24 board 
  Address = 22c0
  RunFile = sysdn.run
  ClockRef = MVIP
  IdleCode = MU-LAW
  MvipSlot = 2:0..7     # Voice data 
  MvipSlot = 3:0..7     # Signaling data
End Board

3.9.3 AG-E1 and AG-60, With MVIP Connectivity

The following is a sample configuration file for a system with one AG-E1 board, one AG-60 board, using MVIP connectivity and A-law encoding. The AG-E1 board is the clock master, and it is initialized first. No default connections are made by the system; the application must make all connections between line interfaces, DSP resources, and the MVIP bus. The DSP resources on the AG-60 board are nailed up to the MVIP bus as shown in the Board 1 section.

[AGBOARD]
#------------ COMMON section ---------
Interrupt = 7 DspFile = voice_a.dsp DspFile = signal_a.dsp DspFile = dtmf_a.dsp DspFile = callp_a.dsp DspFile = tone_a.dsp DspFile = mf_a.dsp TCP = lps0.tcp TCP = wnk0.tcp TCP = nocc.tcp IdleCode = A-LAW EnableMVIP = YES #--- BOARDS section --- Board 0 # AG-E1 RunFile = systn.run Address = 2C0 TCP = mfc0.tcp IdleCode = 0xD5,0x9 CLOCKREF = NET1 # Takes clock signal from E1 trunk # and drives the bus clock. EnableMVIP = YES Linecode = HDB3 # Trunk coding algorithm. End Board Board 1 # AG-60 Address = 22C0 MvipSlot = 6:0..29 MvipSlot = 7:0..29 MvipSlot = 2:0..29 MvipSlot = 3:0..29 RunFile = sysdn.run End Board


(Page 1 of 1 in this chapter)


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