# Overview of the NCC API parameters

The behavior of most NCC functions, and of the operating protocol itself, can be controlled using parameters. There are three types of NCC parameters:

NCC parameter type | Description | Documented in...
Implementation-independent, protocol-independent | These parameters determine basic NCC API functionality. | This section.
Implementation-dependent, protocol-independent | These parameters determine the overall behavior of a family of protocols. | Your protocol-specific documentation.
Implementation-dependent, protocol-dependent | Various sets of these parameters control the behavior of specific protocols | Your protocol-specific documentation.

## Parameter files

NCC parameters are stored in binary parameter files. ASCII versions of these files are also available. These parameter files have country- or protocol-specific values that are used for the target country for your application. NCC API-related parameter files use the following naming conventions:

Name | Contents
--- | ---
nccstart.pf | Implementation-independent, protocol-independent NCC parameters. Since these go into effect when a protocol is started with nccStartProtocol, the word start appears in the name.
nccx imp.pf | Implementation-dependent, protocol-independent NCC parameters. imp represents the implementation. For example, for the ADI implementation, the filename is nccxadi.pf.
nccx prt.pf | Implementation-dependent, protocol-dependent NCC parameters. prt represents the protocol or protocol family that the file is for. For example, the CAS API (channel-associated signaling) protocols have filenames such as nccxcas.pf and nccxlps.pf.

## Parameter names

NCC API parameters are named according to the following syntax:

SvcName.[X.][implementation_]category.[subStructure.]fieldName

where:

Name | Description
--- | ---
SvcName | The API (service) to which the parameter belongs. For NCC API parameters, this is NCC.
X | (optional) This indicator appears in the parameter name unless the parameter is supported by all implementations.
implementation | (optional) The implementation that the parameter is for. Empty if the parameter is for all implementations.
category | The parameter category (usually represents the function or protocol that the parameter concerns).
subStructure | (optional) Allows multiple, logically related fieldNames to be nested under a category.
fieldName | The actual parameter.

The following table lists sample parameter names:

Parameter Name | Description
--- | ---
NCC.START.xxx | NCC API implementation-independent, protocol-independent parameters. These go into effect when nccStartProtocol is invoked.
NCC.X.ADI_START.xxx | Protocol-independent parameters for the ADI implementation of the NCC API. These go into effect when nccStartProtocol is invoked. For field descriptions, see NCC.X.ADI_START.
NCC.X.ADI_PLACECALL.xxx | Protocol-independent parameters for the ADI implementation of the NCC API. These go into effect when nccPlaceCall is invoked. For field descriptions, see NCC.X.ADI_PLACECALL.
NCC.X.ADI_ISDN.ACCEPTCALL.xxx | ISDN Software parameters for the ADI implementation of the NCC API. These go into effect when nccAcceptCall is invoked.