The AG configuration file lists the types, locations and roles of each of your AG boards. It also describes what software modules should be loaded to the board's memory. The AG board initialization utility agmon interprets this file when it is invoked, and configures your board as described in the file.
This chapter:
Note: agmon and AG configuration file structure and syntax are documented in detail in the AG Runtime Configuration and Developer's Manual.
The easiest way to create an AG configuration file for your setup is to modify and/or combine the contents of the example AG configuration 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 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:
This section lists all AG configuration file statements that are relevant specifically to the AG-T1 and AG-E1 hardware, or are trunk-specific. Your AG configuration file must contain all statements marked "mandatory" below. All other statements listed here are optional for different configurations.
Note that there are other AG configuration file statements that you will also need to include to configure your TCP and other software components. To learn more, see the Developer's Reference Manual that came with your protocol software.
Description: This line specifies the base I/O address of each board. Set Address to the base I/O address you assigned the board when you installed it. Note that the address of each board must also be set using switches on the board. For details, see section 2.3.
Where The Line Should Appear: In the Board x section for each board in your AG configuration file.
Default: Address has no default value.
Description: Set DigitalMode depending upon whether your AG-T1 or AG-E1 will be using a channel-associated signaling protocol (CAS), an ISDN protocol, or an ISDN protocol with Network Facility Associated Signaling (NFAS). DigitalMode does the following:
DigitalMode can be set to any of the following:
Where The Line Should Appear: In the Board x section for each AG-T1 and AG-E1 board in your AG configuration file.
Default: DigitalMode defaults to CAS.
Description: This statement defines the T1 or E1 trunk framing format for a board. Valid formats are:
For more information about T1 and E1 framing, see Chapter 5.
Where The Line Should Appear: In the Board x section for each AG-T1 and AG-E1 board in your AG configuration file.
Default: AG-T1: D4
AG-E1: CEPT
Description: This line specifies the interrupt to be shared by all ISA-compatible AG boards in your system. The interrupt specified must not be used by any other device in your system.
Where The Line Should Appear: This line must appear in the COMMON section of the AG configuration file.
Default: Interrupt has no default.
Description: This line specifies the "ones density" maintenance method used on the trunk line. (For more information about ones density, see Chapter 5.) Valid formats are:
|
Format |
Use With |
Definition |
|
AMI |
AG-T1 only |
Alternate marks inverted - standard T1 line coding with no zero code suppression. |
|
B8ZS |
AG-T1 only |
Binary 8-zero suppression (uses patterns of bipolar violations to replace zero data bytes; especially useful for clear channel transmission). |
|
AMI_ZCS |
AG-T1 only |
AMI with "jammed bit 7" zero code suppression. |
|
AMI_BELL |
AG-T1 only |
Same as AMI_ZCS. |
|
AMI_DDS |
AG-T1 only |
AMI with zero data byte replaced with 10011000. |
|
AMI_GTE |
AG-T1 only |
AMI with "jammed bit 8" zero code suppression, except in signaling frames when "jammed bit 7" is used if the signaling bit is zero. |
|
HDB3 |
AG-E1 only |
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. |
Where The Line Should Appear: In the Board x section of each AG-T1 or AG-E1 board in the AG configuration file.
Default: AG-T1: AMI_BELL if DigitalMode=CAS; otherwise B8ZS
AG-E1: HDB3
Description: This line indicates the length and type of the cable connecting an AG-T1 or
AG-E1 board to the network, so the T1 or E1 framer can adjust the pulse shape accordingly. You will probably 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. Valid settings are:
|
Setting |
Use With |
Definition |
|
LineLength=DSX1 |
AG-T1 only |
For DSX1 cables (up to 655 feet - "short haul"). To specify an exact cable length: LineLength=length,DSX1 |
|
LineLength=DSX1A |
AG-E1 only |
For DSX1A cables (up to 655 feet - "short haul"). To specify an exact cable length: LineLength=length,DSX1A |
|
LineLength=G703_75_OHM |
AG-E1 only |
For G.703-standard 75-ohm cables (up to 1000 feet). |
|
LineLength=G703_120_OHM |
AG-E1 only |
For G.703-standard 120-ohm cables (up to 1000 feet). |
Where The Line Should Appear: In the Board x section of each AG-T1 or AG-E1 board in the AG configuration file.
Default: AG-T1: DSX1
AG-E1: G703_75_OHM
Description: This statement specifies the runfile to be transferred to the board by agmon. (For details, see section 1.3.5).
Note: Different board models will require other runfiles. For details, see your protocol software documentation and the AG Runtime Configuration and Developer's Manual.
Where The Lines Should Appear: In the Board x section for each board.
Default: RunFile has no default value.
To enable or disable MVIP connectivity, make the following changes to your AG configuration file:
|
Value |
Definition | |
|
NO |
MVIP switching is disabled. When you set EnableMVIP this way (and run agmon to initialize the board), the trunk line is automatically linked to the board's DSPs, as described in Chapter 6. This provides the trunk channels with the necessary DSP resources. However, you cannot reroute the channels to other boards or other external resources. | |
|
YES |
MVIP switching is enabled. When you set EnableMVIP this way (and run agmon to initialize the board), no switch connections are automatically made. To control switching, you can use the CT Access Switching service, or the AG Access tools described in section 1.3.3. | |
|
Value |
Definition |
|
MVIP |
Causes the board to act as an MVIP clock slave: that is, to derive the local clock from the MVIP bus (another board must drive the MVIP clock on the bus). For a general discussion of MVIP bus clock slaves and masters, see section 2.3. |
|
OSC |
Causes the board to drive the T1 or E1 line transmit clock using the on-board oscillator, and to derive the local clock using the clock extracted from the T1 or E1 line. Setting ClockRef to OSC for a board makes the board the clock master on the MVIP bus. ClockRef should be set to MVIP for all other boards on the MVIP bus. Note: This option should only be used when the board's T1 or E1 connection is isolated from the public network. This would apply, for example, if a T1 or E1 connection is used as a link between two computers, or if one AG-T1 or AG-E1 board is used to simulate network traffic to another. |
|
NET1 |
Causes the board to derive the local clock using the clock extracted from the T1 or E1 trunk. If no clock signal is detected, the board will default to the OSC option. Setting ClockRef to NET1 for a board makes the board the clock master on the MVIP bus. ClockRef should be set to MVIP for all other boards on the MVIP bus. |
|
SEC8K |
Causes the board to derive the local clock from the Sec8k clock on the MVIP bus (see Appendix C). |
When your AG configuration file is complete, invoke the agmon utility 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 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 OS/2 and Windows NT you can use 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.
To use agmon to verify that the board initializes properly:
|
In this O/S... |
Run agmon as follows... |
|
Windows NT or OS/2 |
1. (Windows NT only) Ensure that you are logged on as a member of the Administrators group. 2. At the command prompt, enter: agmon When invoked in Windows NT or OS/2 without command-line options, agmon looks for ag.cfg in the working directory, and then in the directories specified in the AGLOAD environment variable. When it finds ag.cfg, it interprets the file and loads the specified software modules to your AG board. |
|
UNIX |
1. Ensure that you have root privileges. 2. At your shell's command prompt, enter: agmon -c The -c command-line option instructs agmon to check the current hardware and software configuration against the specifications in the AG configuration file, and to set up your system and rebuild the kernel if necessary. For more information about the -c option, see your AG Access Installation Manual or the AG Runtime Configuration and Developer's Manual. When invoked in UNIX without command-line options, agmon looks for ag.cfg in the working directory, and then in /opt/nms/ag/cfg. When it finds ag.cfg, it interprets the file and loads the specified software modules to your AG board. |
agmon creates two files, ag.rpt and agerror.log. These files can be found in the current directory in OS/2 and Windows NT, and in /var/opt/nms/ag in UNIX.
The following are listings of several sample ag.cfg files for various configurations. Each one is annotated in detail.
The following sample ag.cfg file describes a single AG-T1 board configured for US channel-associated signaling (wink start), on a trunk using D3/D4 framing.
[AGBOARD] |
The AG configuration file must begin with this mnemonic. |
#--- COMMON section --- |
Any statements in this section of the file will apply to all boards listed in the Board x sections below. |
Interrupt = 12 |
The interrupt you specify here will be used by all AG boards in your system. |
DspFile = voice.dsp DspFile = dtmf.dsp DspFile = callp.dsp DspFile = tone.dsp DspFile = signal.dsp |
These statements install DSP program files. They are installed on all boards listed in this file, since they appear in the COMMON section of this file. For this configuration, you will need at least the statements shown. You can add others also, if you wish. These files are for µ-law encoding. If your setup calls for a-law encoding, add an "_a" to each filename, as shown in the next example. |
RunFile = systn.run |
This line defines the runfile to be used. It is board- and protocol-specific. In CT Access or AG Access installations, for AG-T1 and AG-E1 boards with CAS protocols, use systn.run. If you have more than one board, and the boards require different runfiles, include this line in a Board x section instead of the COMMON section. |
#--- BOARDS section --- |
|
Board 0 |
|
Address = 2C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches (see section 2.3). |
TCP = nocc.tcp TCP = wnk0.tcp |
|
IdleCode = MU-LAW |
This statement defines the bit pattern transmitted on an MVIP timeslot when it is not under a TCP's control. |
CLOCKREF = NET1 |
This statement configures the clock. NET1 causes the board to derive the local clock using the clock extracted from the T1 or E1 trunk. |
ENABLEMVIP = NO |
Set to YES to enable MVIP switching. |
LINECODE = AMI_ZCS |
This statement specifies the trunk coding algorithm the board is to expect. The setting made here is Alternate Mark Inversion with zero code suppression. |
End Board |
The following sample ag.cfg file describes a single AG-T1 configured for ISDN (USA variant), on a trunk using extended superframe framing (ESF). The application will access ISDN services in ACU configuration, using the AG ISDN Messaging API.
[AGBOARD] |
The AG configuration file must begin with this mnemonic. |
#--- COMMON section --- |
Any statements in this section of the file will apply to all boards listed in the Board x sections below. |
Interrupt = 12 |
The interrupt you specify here will be used by all AG boards in your system. |
DspFile = voice.dsp DspFile = dtmf.dsp DspFile = callp.dsp DspFile = tone.dsp |
These statements install DSP program files. They are installed on all boards listed in this file, since they appear in the COMMON section of this file. For this configuration, you will need at least the statements shown. You can add others also, if you wish. These files are for µ-law encoding. If your setup calls for a-law encoding, add an "_a" to each filename, as shown in the next example. |
RunFile = systiust.run |
This line defines the runfile to be used. It is board- and protocol-specific. In CT Access or AG Access installations, for AG-T1 boards using ISDN in the US, use systiust.run, the terminal equipment runfile for the US. If you have more than one board, and the boards require different runfiles, include this line in a Board x section instead of the COMMON section. |
#--- BOARDS section --- |
|
Board 0 |
|
Address = 2C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches (see section 2.3). |
TCP = nocc.tcp |
|
DIGITALMODE=PRI |
This statement determines how voice and signaling information is routed to and from the T1 or E1 trunk and processing resources. For details, see Chapter 6. |
CLOCKREF = NET1 |
This statement configures the clock. NET1 causes the board to derive the local clock using the clock extracted from the T1 or E1 trunk. |
ENABLEMVIP = NO |
Set to YES to enable MVIP switching. |
LINECODE = B8ZS |
This statement specifies the trunk coding algorithm the board is to expect. The setting made here is Binary 8 Zero Suppression (the default for AG-T1 boards when DigitalMode is PRI or RAW). |
FRAMETYPE = ESF |
This statement specifies the framing method the board is to expect. The setting made here configures the board for Extended SuperFrame for USA. |
End Board |
The following sample ag.cfg file describes a single AG-E1 configured for an MFC-R2 protocol.
[AGBOARD] |
The AG configuration file must begin with this mnemonic. |
#--- COMMON section --- |
Any statements in this section of the file will apply to all boards listed in the Board x sections below. |
Interrupt = 12 |
The interrupt you specify here will be used by all AG boards in your system. |
DspFile = voice_a.dsp DspFile = signal_a.dsp DspFile = dtmf_a.dsp DspFile = callp_a.dsp DspFile = tone_a.dsp DspFile = mf_a.dsp |
These statements install DSP program files. They are installed on all boards listed in this file, since they appear in the COMMON section of this file. For this configuration, you will need at least the statements shown. You can add others also, if you wish. The "_a" following each filename indicates that these files are for A-law encoding. If your setup calls for µ-law encoding, remove the "_a" from each filename, as shown in the previous example. |
RunFile = systn.run |
This line defines the runfile to be used. It is board- and protocol-specific. In CT Access or AG Access installations, for AG-T1 and AG-E1 boards with MFC-R2, use systn.run. If you have more than one board, and the boards require different runfiles, include this line in a Board x section instead of the COMMON section. |
#--- BOARDS section --- |
|
Board 0 |
This mnemonic indicates the beginning of a description of a particular board. The number appearing here will be used to refer to the board in software. |
Address = 2C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches (see section 2.3). |
TCP = mfc0.tcp |
This line indicates the TCP to load to the board. The setting here is protocol-specific. For MFC-R2 protocols under CT Access or AG Access, specify mfc0.tcp. |
IdleCode = 0xD5,0x9 |
This statement defines the bit pattern transmitted on an MVIP timeslot when it is not under a TCP's control. The setting of this line is country-specific. The sample .cfg file installed with the protocol software for a country will have the correct setting for that country. |
CLOCKREF = NET1 |
This statement configures the clock. NET1 causes the board to derive the local clock using the clock extracted from the T1 or E1 trunk. |
ENABLEMVIP = NO |
Set to YES to enable MVIP switching. |
LINECODE = HDB3 |
This statement specifies the trunk coding algorithm the board is to expect. The setting made here is high-density bipolar 3, which is the default setting for the AG-E1. |
End Board |
This mnemonic indicates the end of the description of Board 0. |
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 board at I/O address 22C0 using a loop start protocol. The boards are connected via the MVIP bus.
[AGBOARD] |
The AG configuration file must begin with this mnemonic. |
#--- COMMON section --- |
Any statements in this section of the file will apply to all boards listed in the Board xsections below. |
Interrupt = 12 |
The interrupt you specify here will be used by all AG boards in your system. |
DspFile = voice_a.dsp DspFile = signal_a.dsp DspFile = dtmf_a.dsp DspFile = callp_a.dsp DspFile = tone_a.dsp DspFile = mf_a.dsp |
These statements install DSP program files. They are installed on all boards listed in this file, since they appear in the COMMON section of this file. For this configuration, you will need at least the statements shown. You can add others also, if you wish. The "_a" following each filename indicates that these files are for A-law encoding. If your setup calls for µ-law encoding, remove the "_a" from each filename, as shown in the next example. |
#--- BOARDS section --- |
|
Board 0 |
This mnemonic indicates the beginning of the description of board 0, the AG-E1 board. The number appearing here will be used to refer to the AG-E1 board in software. |
RunFile = systn.run |
This line defines the runfile to be used. It is board- and protocol-specific. In CT Access or AG Access installations, for AG-T1 and AG-E1 boards with MFC-R2, use systn.run. Since there is more than one board in this setup, and the boards require different runfiles, this line is included in a Board x section instead of the COMMON section. |
Address = 2C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches (see section 2.3). |
TCP = mfc0.tcp |
This line indicates the TCP to load to the board. The setting here is protocol-specific. For MFC-R2 protocols under CT Access or AG Access, specify mfc0.tcp. |
IdleCode = 0xD5,0x9 |
This statement defines the bit pattern transmitted on an MVIP timeslot when it is not under a TCP's control. The setting of this line is country-specific. The sample .cfg file installed with the protocol software for a country will have the correct setting for that country. |
CLOCKREF = NET1 |
This statement configures the clock. NET1 causes the AG-E1 board to derive the clock using the clock extracted from the E1 trunk. |
ENABLEMVIP = YES |
MVIP switching is enabled. The AG-E1 is the clock master, since its ClockRef statement is set to NET1, and the AG-8's is set to MVIP. |
LINECODE = HDB3 |
This statement specifies the trunk coding algorithm the board is to expect. The setting made here is high-density bipolar 3, which is the default setting for the AG-E1. |
End Board |
This mnemonic indicates the end of the description of Board 0. |
Board 1 |
This mnemonic indicates the beginning of the description of Board 1, the AG-8. The number appearing here will be used to refer to the board in software. |
RunFile = sysan.run |
This line defines the runfile to be used. sysan.run is the runfile for analog trunk interface boards such as the AG-8. Since there is more than one board in this setup, and the boards require different runfiles, this line is included in a Board x section instead of the COMMON section. |
Address = 22C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches. |
TCP = lps0.tcp |
This line indicates the TCP to load to the board. lps0.tcp is the loop start TCP. |
IdleCode = A-LAW |
This statement defines the bit pattern transmitted on an MVIP timeslot when it is not under a TCP's control. |
CLOCKREF = MVIP |
This statement configures the clock. MVIP causes the AG-8 board to derive the local clock from the MVIP bus. The AG-E1 is driving the clock in this case, so the AG-8 is the clock slave. |
ENABLEMVIP = YES |
MVIP switching is enabled. The AG-E1 is the clock master, since its ClockRef statement is set to NET1, and the AG-8's is set to MVIP. |
End Board |
This mnemonic indicates the end of the description of Board 1. |
One way to test your application with a "live" trunk connection is to install two boards in your system in "standalone" configuration (that is, not connected to each other via the MVIP bus), and connect the boards' trunk ports to one another. You can use one board to make calls and the other to receive calls, so each board simulates trunk traffic for the other.
The following configuration file example is for a setup in which one AG-T1 (Board 0) simulates the T1 line, another AG-T1 board (Board 1) runs the application, and an AG-8 (connected to Board 1 via the MVIP bus) is used as a handset. The protocol is ISDN (USA variant). Board 0 also simulates the network clock, driving the clock to the other AG-T1 board using its on-board oscillator. The application is designed to access ISDN services in NCC configuration, using the AG ISDN Natural Call Control API.
[AGBOARD] |
The AG configuration file must begin with this mnemonic. |
#--- COMMON section --- |
Any statements in this section of the file will apply to all boards listed in the Board x sections below. |
Interrupt = 12 |
The interrupt you specify here will be used by all AG boards in your system. |
DspFile = voice.dsp DspFile = signal.dsp DspFile = dtmf.dsp DspFile = callp.dsp DspFile = tone.dsp |
These statements install DSP program files. They are installed on all boards listed in this file, since they appear in the COMMON section of this file. For this configuration, you will need at least the statements shown. You can add others also, if you wish. These statements are for µ-law encoding. If your setup calls for a-law encoding, add an "_a" after each filename: tone_a.dsp. |
#--- BOARDS section --- |
|
Board 0 |
This mnemonic indicates the beginning of the description of Board 0, the first AG-T1 board. This board is completely stand-alone, connected to the other AG-T1 only via its trunk interface. The number appearing in this statement will be used to refer to the board in software. |
RunFile = systiust.run |
This line defines the runfile to be used. It is board- and protocol-specific. In CT Access or AG Access installations, for AG-T1 boards acting as ISDN terminal equipment in the US, use systiust.run, the terminal equipment runfile for the US. Since there is more than one board in this setup, and the boards require different runfiles, this line is included in a Board x section instead of the COMMON section. |
Address = 2C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches (see section 2.3). |
TCP = isd0.tcp |
This line indicates the TCP to load to the board. The setting here is protocol-specific. Specify isd0.tcp when accessing AG ISDN services in NCC configuration. |
DIGITALMODE = PRI |
This statement determines how voice and signaling information is routed to and from the T1 or E1 trunk and processing resources. For details, see Chapter 6. |
CLOCKREF = NET1 |
This statement configures the clock. NET1 causes the AG-T1 board to derive its clock signal from the T1 trunk. |
ENABLEMVIP = NO |
MVIP switching is disabled for this board. |
LINECODE = B8ZS |
This statement specifies the trunk coding algorithm the board is to expect. The setting made here is Binary 8 Zero Suppression (the default for AG-T1 boards when DigitalMode is PRI or RAW). |
End Board |
This mnemonic indicates the end of the description of Board 0. |
Board 1 |
This mnemonic indicates the beginning of the description of Board 1, the second AG-T1 board. This board is connected to the other AG-T1 via its trunk interface, and connected to the AG-8 via the MVIP bus. The number appearing in this statement will be used to refer to the board in software. |
RunFile = systiusn.run |
This line defines the runfile to be used. It is board- and protocol-specific. In CT Access or AG Access installations, for AG-T1 boards acting as ISDN network equipment, use systiusn.run, the network equipment runfile for the US. Since there is more than one board in this setup, and the boards require different runfiles, this line is included in a Board x section instead of the COMMON section. |
Address = 2A0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches (see section 2.3). |
TCP = isd0.tcp |
This line indicates the TCP to load to the board. The setting here is protocol-specific. When using the ISDN layer 3 messaging API under CT Access or AG Access, specify nocc.tcp. |
DIGITALMODE = PRI |
Include this statement for ISDN installations. |
CLOCKREF = NET1 |
This statement configures the clock. NET1 causes the AG-T1 board to derive its clock signal from the T1 trunk. This board is the clock master, since the AG-8 board (Board 2) is set to MVIP. |
ENABLEMVIP = YES |
MVIP switching is enabled. This board is the clock master, since its ClockRef statement is set to NET1, and the AG-8 is set to MVIP. |
LINECODE = B8ZS |
This statement specifies the trunk coding algorithm the board is to expect. The setting made here is Binary 8 Zero Suppression (the default for AG-T1 boards when DigitalMode is PRI or RAW). |
End Board |
This mnemonic indicates the end of the description of Board 1. |
Board 2 |
This mnemonic indicates the beginning of a description of Board 2, the AG-8. The number appearing here will be used to refer to the board in software. |
RunFile = sysan.run |
This line defines the runfile to be used. sysan.run is the runfile for analog trunk interface boards such as the AG-8. Since there is more than one board in this setup, and the boards require different runfiles, this line is included in a Board x section instead of the COMMON section. |
Address = 22C0 |
This is the board's I/O address. Each board must have a unique address. The address is set here and on the board's face using switches. |
TCP = lps0.tcp |
This line indicates the TCP to load to the board.lps0.tcp is the loop start TCP. |
IdleCode = A-LAW |
This statement defines the bit pattern transmitted on an MVIP timeslot when it is not under a TCP's control. |
CLOCKREF = MVIP |
This statement configures the clock. MVIP causes an AG-8 board to derive the local clock from the MVIP bus. Board 1 is driving the clock in this case, so the AG-8 is a clock slave. |
ENABLEMVIP = YES |
MVIP switching is enabled. Board 1 is the clock master, since its ClockRef is set to NET1, and this board is set to MVIP. |
End Board |
This mnemonic indicates the end of the description of Board 2. |
Natural MicroSystems, Inc.
100 Crossing Boulevard
Framingham, MA 01702