# NMS ISDN software components

ISDN is implemented in different ways around the world. For this reason, NMS Communications provides several variants of its NMS ISDN software for different regions. The package for a variant contains the software modules you need to enable an AG or CG board to communicate on a T1, E1, or BRI trunk in your particular country or region.

The NMS ISDN software package contains the following:

- A readme file

- NMS ISDN function libraries for Natural Access

- Header files

- Downloadable object modules containing the NMS ISDN protocol stack software and the NMS ISDN management software

- Sample board keyword files

- Demonstration programs and utilities (including the source code files and makefiles)

- A trunk control program (TCP)

- Several binary parameter files (.pf files) and several ASCII parameter files (.par files)

## readme file

The readme_isdn.txt file contains release information that does not appear in other documentation. Consult this file to learn where the NMS ISDN software components are located.

You can find readme_isdn.txt in the following location:

Operating system | readme file location
Windows | \nms\doc
UNIX | /opt/nms/doc

## NMS ISDN function libraries

The NMS ISDN function libraries run on the host computer. The application uses the function libraries to interact with ISDN protocol stacks running on a board and to communicate with the NCC and ADI
services.

The following table lists the NMS ISDN function libraries:

Windows | UNIX
--- | ---
isdnapi.lib, isdnapi.dll | libisdnapi.so
nccisdn.lib, nccisdn.dll | libnccisdn.so
imgtapi.lib, imgtapi.dll | libimgtapi.so

## Header files

The following header files are supplied with NMS ISDN software:

File name | Contents | Used in these configurations
--- | --- | ---
isdnval.h | Definitions for Q.931 messages created by the stack. | ACU, channelized
isdndef.h | Event code definitions and ISDN function prototypes. | ACU, LAPD
isdnparm.h | Parameter structure definitions and manifest constants for parameter structure fields. | ACU, LAPD
isdntype.h | NMS Communications type definitions, basic and derived types, and entity identifiers. | ACU, LAPD
isdnacu.h | ACU SAP message structure definitions and macros to build ACU messages. | ACU
isdndl.h | SAPI SIG configuration for raw LAPD and macros to build LAPD messages. | LAPD
nccxadi.h | NCC parameter structures. | Channelized
nccadi.h | NCC values for mediamask, connectmask, and disconnectmask. | Channelized
nccxisdn.h | ISDN parameter structures and values for NCC. | Channelized
adiisd.h | TCP parameter structures. | ADI
imgtdef.h | Management service function prototypes and management event code definitions. | IMGT For more information, refer to the NMS ISDN Management API Developer's Reference Manual.
imgtsvc.h | Management service primitives and related data structures. | IMGT For more information, refer to the NMS ISDN Management API Developer's Reference Manual.

## Downloadable object modules

A downloadable object module file contains the basic low-level software that an AG or CG board requires to support ISDN. The module is transferred from the host to on-board memory when the board boots. NMS ISDN provides downloadable variant modules that are specific to the configuration and country. For a complete list of the NMS ISDN variant modules, see DLMFiles[x].

NMS ISDN also provides the downloadable module files imgt.leo, imgt.dlm, and c65imgt.dlm, which contain the basic low-level software required by an AG or CG board to support the NMS ISDN Management service. For more information about these files and about the Management service, refer to the NMS ISDN Management API Developer's Reference Manual.

## Demonstration programs

The following demonstration programs, source code, and makefiles are included in the software package:

Name | Description | For more information, see the...
--- | --- | ---
dectrace | Decodes and displays messages sent or received by the NMS ISDN protocol stack that were previously captured in a log file by the oammon utility. | NMS ISDN Messaging API Developer's Reference Manual
isdncta | ISDN daemon program to start and stop the NMS ISDN protocol stack in channelized mode. | NMS ISDN for Natural Call Control Developer's Manual
isdndemo | Provides an example of a digital trunk application where the NMS ISDN software runs in an ACU configuration. Shows how to use the NMS ISDN Messaging service to start this configuration, and to receive and place calls on an ISDN trunk. | NMS ISDN Messaging API Developer's Reference Manual
isdnncc | Uses a TCP with Natural Access to receive and/or place calls. Demonstrates the ISDN TCP on a live trunk. Provides an example of a two-way trunk application using the NCC service. | NMS ISDN for Natural Call Control Developer's Manual
itrace | Runtime filter for NMS ISDN messages from the stack that are sent to the OAM service. | NMS ISDN Messaging API Developer's Reference Manual
lapddemo | Provides an example of a digital trunk application where the NMS ISDN software runs in a LAPD configuration. Shows how to use the Messaging service to start this configuration, establish a data link, and send and receive Q.931 messages. | NMS ISDN Messaging API Developer's Reference Manual
imgtdemo | Shows how to use the NMS ISDN Management service to control and configure B channels. For use with PRI only. | NMS ISDN Management API Developer's Reference Manual

## Trunk control program (TCP)

NMS ISDN software includes one trunk control program (TCP), isd0.tcp. This TCP is useful only if you are configuring the NMS ISDN software to access ISDN call control services in a channelized configuration.

The TCP is transferred to on-board memory by the OAM service. An instance of the TCP is associated with each context
. The TCP is used to mediate transactions between Natural Access, DSP
resources, and the NMS ISDN protocol stack. For more information, see the NMS ISDN for Natural Call Control Developer's Manual.

## Parameter files

NMS ISDN software includes several files that contain parameters and values to configure the NMS ISDN TCP. Some of these parameters are country specific (different values are supplied for them depending upon the target country).

Country-specific parameter files are useful only if you are configuring the NMS ISDN software in channelized configuration. For more information, see the NMS ISDN for Natural Call Control Developer's Manual.

Three types of parameter files are installed with each NMS ISDN package for use with the NCC service:

File type and name | Description
--- | ---
nccxadi cty.pf nccstart cty.pf cty is the three character code of the target country. For example, the code for Australia is aus. Thus, the versions of these files for Australia are nccxadiaus.pf and nccstartaus.pf. | Binary parameter files containing a set of country-specific values for NCC service parameters. Note: Most of the values in these files should not be changed. Changing certain values may affect the regulatory approvals in the target country.
nccxisdn.pf | A binary parameter file containing a set of NMS ISDN parameters and default values. These values can safely be changed without affecting the regulatory approvals in the target country.
nccxadi cty.par nccstart cty.par nccxisdn.par | ASCII versions of the binary files.

For Natural Access to load the binary parameter file, both of the binary parameter files (.pf files) for the target country must be in one of the directories specified with the AGLOAD environment variable. nccxisdn.pf must also be in this directory.

When you install NMS ISDN, the installation program asks you to specify a default country. It creates copies of the country-specific parameter files for that country, renames them, and places them in the AGLOAD path, as follows:

These files... | In this operating system... | Are copied to...
--- | --- | ---
nccxadicty.pf nccxadicty.par where cty is the code for the default country | Windows | \nms\ag\cfg\nccxadi.pf \nms\ctaccess\cfg\nccxadi.par
UNIX | /opt/nms/ag/cfg/nccxadi.pf /opt/nms/ctaccess/cfg/nccxadi.par
nccstartcty.pf nccstartcty.par | Windows | nms\ag\cfg\nccstart.pf \nms\ag\ctaccess\nccstart.par\
UNIX | /opt/nms/ag/cfg/nccstart.pf /opt/nms/ctaccess/cfg/nccstart.par
nccxisdn.pf nccxisdn.par | Windows | nms\ag\cfg\nccxisdn.pf \nms\ctaccess\cfg\nccxisdn.par\
UNIX | /opt/nms/ag/cfg/nccxisdn.pf /opt/nms/ctaccess/cfg/nccxisdn.par

Ensure that only one set of files is copied to the AGLOAD directory. If the directory contains two sets or parameter files, the parameters will not load.

### Changing parameter values

To change parameter values in a .pf file, modify the value in the corresponding .par file. Then load the changes as follows:

Step | Action
1 | Parse the .par file.
2 | Set parameters in one of the following ways: Call ctaSetParmByName for each parameter specified in the file, to set a new default value. For an example, see the DemoLoadParameters function in the demonstration library supplied with Natural Access. Call ctaLoadParameterFile from within your application.

You can also use the ctdaemon program to set the parameters on a system-wide basis. See the Natural Access Developer's Reference Manual for more information on this method.

Parameter modification must take place before nccStartProtocol is called to start the TCP. When you call this function, specify parameters to configure the TCP.

For more information about parameters in the nccxidsn.pf parameter file, see the NMS ISDN for Natural Call Control Developer's Manual.