(Page 1 of 1 in this chapter) Version


Chapter 3

Editing the AG Configuration File


3.1 Introduction
3.2 AG Configuration File Summary
3.3 Creating an AG Configuration File
3.3.1 Assigning an AG 4000C Board Number
3.3.2 Determining CompactPCI Bus and Slot Location
3.3.3 Interrupts
3.3.4 Trunk-Specific Settings
3.3.5 DSP Files
3.3.6 Configuring a Standalone AG 4000C Board
3.3.7 Enabling Telephony Bus Switching
3.3.8 Telephony Bus Clocking
3.3.9 Echo Cancellation
3.4 Running agmon
3.5 Sample AG Configuration File

3.1 Introduction

The AG configuration file lists the types, locations, and roles of each of the AG boards. It also describes which software modules will 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:

Refer to the AG Runtime Configuration and Developer's Manual for the AG configuration file format and for details about AG configuration file keywords.

3.2 AG Configuration File Summary

The following table summarizes the AG configuration file statements that are related to the AG 4000C board. For detailed information about these statements (including default values), refer to the AG Runtime Configuration and Developer's Manual.
Keyword

Allowed Values

Description

Mandatory?

AG2DSPImage

[dsp1[..dspn]] = filename

Specifies a pre-linked DSP image file. (For developers who develop their own DSP images).

No

AG2DSP_Lib

filename

DSP library file.

No

AG2DSP_Loader

filename

Module to load DSP functions.

No

AG2DSP_OS

[dsp1[..dspn]] = filename

Defines DSP operating system used.

No

AG2DSPFile

filename

Installs a DSP file. The naming convention for
AG 4000C DSP files is filename.m54. Refer to
Section 3.3.5, DSP Files for a list and description of the DSP files that are shipped.

No

AG2TaskProcessor

[dsp1..[dspn]] = dsp_func1, dsp_func2

Configures DSPs.

No

Board

boardnum [..endboard] | ALL

Beginning of section defining configuration of one or more boards.

Yes

ClockRef

H100 | OSC | SEC8K | NET1 | NET2 | NET3 | NET4

Configures the telephony bus clock.

Yes

Diagnostics

level

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

No

DigitalMode

CAS | PRI | RAW

Determines how voice and signaling information is routed to and from a T1 or E1 trunk.

No

DriveSec8K

NET1 | NET2 | NET3 | NET4| NO

Configures the T1 or E1 clock to drive the backup network reference clock (Sec8K or CT_NETREF1)

No

EnableMVIP

YES | NO

Determines whether board is electrically connected to the H.110 bus.

No

End Board

Ends section defining the configuration of one or more boards.

No

FrameType

D4 | ESF | CEPT

Defines T1 or E1 trunk framing format.

No

IdleCode

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

Defines voice encoding and bit pattern transmitted to network interface.

No

LineCode

AMI | B8ZS | AMI_ZCS | AMI_BELL | AMI_DDS | AMI_GTE | HDB3

Defines T1 or E1 trunk line encoding algorithm

No

LineLength

length

Specifies length of cable connecting the AG 4000C board to the network.

No

LoadFile

filename

Defines boot loader.

No

PCIbus

busnum

Defines the CompactPCI bus location of the board.

Yes

PCIslot

slotnum

Defines the slot location of the board on the CompactPCI bus.

Yes

ReportFile

filename

Defines configuration log file name.

No

RunFile

filename

Specifies the runtime software to be transferred to the board.

No

RunModule

filename

Specifies a runtime component to be transferred to the board.

Yes

TCP

filename

Downloads trunk control program.

Yes

Trunk

trunknum [..lasttrunk] | ALL

Beginning of section defining configuration of one or more trunks for the AG 4000C board.

No

3.3 Creating an AG Configuration File

The easiest way to create an AG configuration file for your system is to modify 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 file shipped with CT Access and the AG 4000C board is ag4000c.cfg.

The file you create should be named ag.cfg. This is the filename agmon looks for by default. agmon uses the following algorithm to search for this file:

If you have two or more different boards, you can combine the sample configuration files. For example, if you are using an AG 4000C board and an
AG Quad T board, begin by combining the ag4000c.cfg and agqt1.cfg files.

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

3.3.1 Assigning an AG 4000C Board Number

Each AG 4000C board is identified by a board number. The board number is assigned in the AG configuration file.

You do not configure the address or interrupt vector of CompactPCI boards; instead it is automatically configured by the PC. To identify a board on the CompactPCI bus, you specify the CompactPCI bus number and CompactPCI slot number on the bus. For example:

Board 0
PCIbus = 0
PCIslot = 2
# other board specific configuration
End Board
When developing applications using CT Access, you open the ADI service specifying the CompactPCI board, stream, and timeslot.

3.3.2 Determining CompactPCI Bus and Slot Location

If you do not know the CompactPCI bus and slot location of your AG 4000C board, use the AG board locate utility, blocate. blocate displays a list of all AG boards on the CompactPCI bus with their corresponding CompactPCI bus, slot number, and interrupt assignment. When invoking blocate, agmon should not be running.

Note: If you have installed the hot swap software, you must use the pciscan utility instead of blocate. For more information about pciscan, refer to the Hot Swap Developer's Manual.

To run blocate, enter the following at the command prompt:

  blocate

The following will be displayed:

  Thu Aug 13 15:51:22      There was 1 NMS PCI card detected

  BUS  SLOT  INTERRUPT
00 14 0xf
If you have more than one CompactPCI board in your system, blocate lists all boards and their assignments. To determine the location of a specific board, use blocate to associate the CompactPCI bus assignment to a physical board by flashing an LED on the board.

To flash the LED on a board, call blocate with the CompactPCI bus and CompactPCI slot locations. For example:

  blocate 0 14

The following will be displayed:

  Flashing LED for NMS PCI board on bus 0 slot 14

The blocate LED will flash on the board located on CompactPCI bus 0 in CompactPCI slot 14.

Refer to Appendix C for more information about the blocate utility.

3.3.3 Interrupts

For AG boards on the CompactPCI bus such as the AG 4000C board, the system chooses which interrupt is used for each CompactPCI board. The system may choose to share one interrupt across several boards, or it may choose to allocate a single interrupt per board. The system may even choose to share interrupts between NMS CompactPCI boards and boards from other vendors.

3.3.4 Trunk-Specific Settings

The AG configuration file statements listed below are trunk-specific. These statements can appear in the Trunk x section for each AG 4000C board in your AG configuration file. Refer to Section 3.2, AG Configuration File Summary for more information.

Note: There are other AG configuration file statements that you will also need to include to configure your TCP and other software components. For more information, refer to the developer's manual that came with your protocol software.

DigitalMode

This statement determines how voice and signaling information is routed to and from the E1 or T1 trunk and processing resources. DigitalMode determines the default LineCode setting.

DigitalMode can be set to any of the following:
This value...

Makes settings appropriate for...

CAS

Channel associated signaling. This is the default value.

PRI

Primary-rate ISDN.

RAW

Primary-rate ISDN with no signaling information (D channel). Connects all channels as voice channels (B channels) and turns off robbed bit signaling.

FrameType

This command defines the T1 or E1 trunk framing format for a board:
Format

Description

D4 (T1 only)

Standard superframe formatting.

ESF (T1 only)

Extended superframe formatting.

CEPT (E1 only)

Framing format conforming to ITU recommendation G.703 for PCM 30 (30 telephone channels with channel associated signaling).

FrameType defaults to D4 for T1 trunks and CEPT for E1 trunks. For more information about T1/ E1 framing, refer to Chapter 5.

LineCode

This line specifies the "ones density" maintenance method used on the trunk line. (For more information about ones density, refer to Chapter 5.)

Valid T1 formats are:
Format

Description

AMI

Alternate mark inversion - standard line coding with no zero code suppression.

B8ZS

Binary 8-zero suppression (uses patterns of bipolar violations to replace zero data bytes; especially useful for clear channel transmission).

AMI_ZCS

AMI with "jammed bit 7" zero code suppression.

AMI_BELL

Same as AMI_ZCS.

AMI_DDS

AMI with zero data byte replaced with 10011000.

AMI_GTE

AMI with "jammed bit 8" zero code suppression, except in signaling frames when "jammed bit 7" is used if the signaling bit is zero.

Valid E1 formats are:
Format

Description

AMI

Alternate mark inversion - standard line coding with no zero code suppression.

HDB3

High density bipolar 3 code - uses patterns of bipolar violations to replace sequences of 4 zero data bits in order to maintain ones density on clear channel transmission.

The LineCode statement is optional. For T1 trunks, LineCode defaults to AMI_ZCS if DigitalMode is set to CAS; otherwise, it defaults to B8ZS. For E1 trunks, LineCode defaults to HDB3.

LineLength

This line indicates the length of the cable connecting an AG 4000C board to the telephone network, so the T1 or E1 framer can adjust the pulse shape accordingly. You will need to adjust this value only if the cable is more than 655 feet in length, or if a lengthy cable is causing transmission problems.

3.3.5 DSP Files

Functions running on AG 4000C boards are specified with DSP files. The default DSP files are loaded. The default DSP files include: callp, dtmf, mf, ptf, and tone. The non-default DSP files required for each AG 4000C board must be specified in the AG configuration file. CT Access includes the following DSP files:
DSP File

Description

adsir(_j).m54

Contains the caller ID function which decodes the modem burst that occurs between the first and second rings on a loop start line. In addition, it contains the FSK data receiver. (_j) is the Japanese variant.

adsix(_j).m54

Contains the FSK data transmitter. (_j) is the Japanese variant.

callp.m54

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

dtmf.m54

Contains the DTMF receiver and an energy/silence detector. Use dtmf.m54 for DTMF detection.

dtmfe.m54

A variant 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.m54

Contains the echo cancellation function. The echo canceller removes reflected transmit channel 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.

g726.m54

Contains ITU G.726 ADPCM play and record functions. G.726 is a standard for 32 kbit/s speech coding.

These functions require considerably more DSP processing time than the functions in voice.dsp.

g6726.dsp is required if you start play/record with an encoding type of ADI_ENCODE_G726.

ima.m54

Contains IMA ADPCM play and record functions. IMA is a standard for 32 kbit/s speech encoding.

mf.m54

Contains the multi-frequency receiver which is required for any trunk protocol (TCP) that uses MF signaling, and required by the MF detector.

ptf.m54

Contains precise tone filters. Used as the cleardown detector by loop start protocols.

oki.m54

Contains play and record functions for OKI ADPCM speech encoding, at 24 kbit/s or 32 kbit/s (used to play/record compatible voice files).

rvoice.m54

Contains PCM play and record functions.

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

tone.m54

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, MF tones, initiating dialing, and for generating a beep tone with any second record function.

voice.m54

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 mu-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.

wave.m54

Contains play and record functions for PCM speech in formats commonly used in WAVE files, including 8 and 16 bit 11 kHz sampling.

For non-standard or custom configurations, the AG2DSPImage or AG2TaskProcessor keywords in the ag.cfg file can be used to identify which DSP files to load onto each DSP processor. All DSP processors that have not been explicitly configured with an AG2DSPImage or AG2TaskProcessor keyword will be loaded with all of the default DSP files and all DSP files identified with the AG2DSPFile keyword in the ag.cfg file. The default DSP files include: callp, dtmf, mf, ptf, and tone.

The AG Runtime Configuration and Developer's Manual provides details about the DSP resources available on each AG 4000C 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.6 Configuring a Standalone AG 4000C Board

For a standalone AG 4000C board, H.110 connectivity should be disabled in the AG configuration file (EnableMVIP=NO).

Automatic default connections are made on AG 4000C boards to connect the voice and signaling information to DSP resources. This provides the trunk channels with the necessary processing resources. You cannot reroute the channels to other boards or other external resources.

See Section 6.5, Default Connections for Standalone Board, for the default connections made when setting EnableMVIP=NO.

3.3.7 Enabling Telephony Bus Switching

When you set EnableMVIP=YES, telephony bus switching is enabled. No switch connections are made automatically. To control switching, use the CT Access Switching service.

The AG 4000C board defaults to H.110 streams 0..31 clocked at 8 MHz (128 timeslots).

3.3.8 Telephony Bus Clocking

In a system, one board drives the bus clock signals. The board that drives the bus clocks is called the bus clock master. All the timing signals are passed across the bus from the clock master. The clock master derives its clock from the telephone network or an on-board oscillator. In a system connected to digital network trunks, the bus clock master should take its clock source from a digital trunk.

All other boards (clock slaves) reference their clocks from the bus. Refer to Getting Started With MVIP Switching for more information on telephony bus clocking.

Some telephony board models can act as the clock master, while others cannot. (To determine the capabilities of other boards, see the documentation for each specific board.) An AG 4000C board can act as either a clock master or as a clock slave.

The system clocking is configured by the keyword ClockRef in the AG configuration file.

If telephony bus switching is enabled (EnableMVIP=YES), set the ClockRef statement for each board to indicate whether the board will be the telephony bus clock master or a clock slave and to specify the clock source.

Aclock refers to CT_C8_A and CT_FRAME_A signals on the H.110 bus. Bclock refers to CT_C8_B and CT_FRAME_B signals. When configuration file commands refer to bus master/slave, the commands are referring to the Aclock. The Bclocks can only be accessed via MVIP switching. When configuration file commands refer to SEC8K or CT_NETREF, it is CT_NETREF_1 on the H.110 bus.

The ClockRef options are:
Value

Description

NET1, NET2, NET3, NET4

Causes the board to derive the local clock using the clock extracted from the specified T1 or E1 trunk. If no clock signal is detected, the board will fall-back to the on-board oscillator. Setting ClockRef to NETx for a board makes the board the clock master. If the clock master is an H.110 board, it will drive the H.110 bus Aclock.
ClockRef should be set to H100 for all other boards on the bus.

H100

Causes the board to act as a clock slave to the H.110 bus by deriving the local clock from the 8A clock. Another H.110 board must drive the A clock on the H.110 bus.

OSC

Causes the board to drive the T1 or E1 line transmit clock using the on-board oscillator.

Setting ClockRef to OSC and setting EnableMVIP=Yes for a board makes that board the clock master. If the clock master is an H.110 board, it will drive the H.110 bus clock.

ClockRef should be set to H100 for all other boards on the bus.

This setting is only used when the board's T1 or E1 connection is isolated from the telephone network. This would apply, for example, if a T1 or E1 connection is used as a link between the two computers, or if one board is used to simulate network traffic to another.

The on-board oscillator is accurate to 32 ppm (parts per million) and meets the requirements for a Stratum 4 clock.

SEC8K

Causes the AG 4000C board to derive the local clock from the CT_NETREF_1 clock on the H.100 bus. Setting ClockRef to SEC8K for a board makes the board the clock master. ClockRef should be set to H100 for all other boards on the bus.

You may also configure one board to drive the network reference clock (CT_NETREF_1). The CT_NETREF_1 clock on the H.110 bus is used as a backup network reference.

The backup reference clock, CT_NETREF_1, is configured with the CT Access Switching service. swiConfigSec8KClock is used to configure which network trunk on the AG 4000C is the source for CT_NETREF_1.

3.3.9 Echo Cancellation

Echo cancellation is generally not required on digital trunks. It is disabled, by default, on the AG 4000C board. Because echo cancellation consumes many MIPS of DSP processing power, it may require a version of the AG 4000C board with more than 16 DSPs. Refer to the AG Runtime Configuration and Developer's Manual for specific configuration requirements.

3.4 Running agmon

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

Note: In UNIX, agmon must be left running at all times. In Windows NT, you can use the F3 key to stop monitoring, but leave the AG boards running. However, agmon should be left 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 agmon startup directory in Windows NT, and in /var/opt/nms/ag in UNIX.
File

Description

ag.rpt

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

agerror.log

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.5 Sample AG Configuration File

The following AG configuration file describes a single AG 4000C board:

[AGBOARD]

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

# Uncomment the appropriate Trunk Control Protocol(s)

  TCP = nocc.tcp           # "no trunk control" protocol
  TCP = wnk0.tcp           # 2-way wink protocol
# TCP = did0.tcp           # Incoming wink protocol
# TCP = ogt0.tcp           # Outgoing wink protocol

# Uncomment the appropriate DSP functions

# DSP (.m54) files to link in
 AG2DSPFile = callp.m54
 AG2DSPFile = dtmf.m54
 AG2DSPFile = mf.m54
 AG2DSPFile = ptf.m54
 AG2DSPFile = tone.m54

 AG2DSPFile = voice.m54
# AG2DSPFile = wave.m54
# AG2DSPFile = oki.m54
# AG2DSPFile = rvoice.m54

  RunModule = gtp.leo
  RunModule = voice.leo
  RunModule = svc.leo

 IdleCode = MU-LAW

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

 Board 0
   PCIBUS = 1           # Use blocate to determine PCIBUS and PCISLOT
   PCISLOT = 6

   ClockRef = NET1 # Change to OSC for standalone operation
   EnableMvip = NO # Change to YES if there is an MVIP bus
 End Board

#   Uncomment the following for a second board

# Board 1
#   PCIBUS = 1
#   PCISLOT = 14
#   ClockRef = NET1      # Change to MVIP if there is an MVIP bus
#   EnableMvip = NO      # Change to YES if there is an MVIP bus
# End Board

# -------------------------------



(Page 1 of 1 in this chapter) Version


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