# Setting up the NaturalConference configuration file

After modifying the board keyword file, create a NaturalConference configuration file (cnf.cfg) to declare conferencing resources.

Use the NaturalConference configuration file to assign DSPs from a given board to a numbered conferencing resource. A NaturalConference application can open this resource using cnfOpenResource.

You can also use cnf.cfg to

- Disable the resource capabilities that you do not need, potentially increasing the number of members supported on a given resource.

- Add a new conferencing resource without having to modify the application. You can take advantage of the new resource by using cnfGetResourceList to retrieve a list of available resources.

- Assign a conferencing resource to a new DSP without having to recompile the application.

This topic presents the following information:

- Customizing cnf.cfg for the system

- File structure

- File statements

## Customizing cnf.cfg for the system

To create a cnf.cfg for the system, modify one of the sample files installed with NaturalConference. The sample files are installed in the following directories:

Operating system | Directory
Windows | \nms\ctaccess\cfg
UNIX | /opt/nms/ctaccess/cfg

The following table lists the NaturalConference sample configuration files:

Board | NaturalConference configuration file | Board keyword file | Description
--- | --- | --- | ---
AG 2000/200 AG 2000C/200 AG 2000-BRI/200 | cnf_ag2_200.cfg | agpi2cnf_200.cfg agpi2cnfa_200.cfg | One conferencing resource with one DSP
AG 2000/400 AG 2000C/400 AG 2000-BRI/400 | cnf_ag2_400.cfg | agpi2cnf_400.cfg agpi2cnfa_400.cfg | One conferencing resource with three DSPs
CG 6060/C | cnf_c6060cnf_ivr_nonspan.cfg | c6060cnf_ivr_nonspan.cfg | One conferencing resource on one DSP
CG 6060/C | cnf_c6060cnf_ivr_span.cfg | c6060cnf_ivr_span.cfg | One conferencing resource spanning two DSPs
CG 6565/C | cnf_c6565cnf_ivr_nonspan.cfg | c6565cnf_ivr_nonspan.cfg | One conferencing resource on one DSP
CG 6565/C | cnf_c6565cnf_ivr_span.cfg | c6565cnf_ivr_span.cfg | One conferencing resource spanning two DSPs

## NaturalConference configuration file structure

The NaturalConference configuration file begins with a [CONFERENCING] section. Statements in this section are global statements that apply to all resources defined in the file.

Each conferencing resource is defined in a [Resource n] section. Statements in this section are local statements that apply only to the designated resource. The numbering of a resource is user-defined and may be defined in an unordered fashion. Valid resource numbers are from 0 through 4095.

A statement has the general syntax keyword = value. Not all keywords can be used in global statements.

White space, such as indentations or a space around an equals sign, is ignored but is useful for clarity. The number sign (#) and semicolon (;) are both comment delimiters. NaturalConference ignores any text that follows a comment delimiter character on the same line. Case is ignored for Windows but is important for file names for UNIX-based operating systems.

The following example is an excerpt from a typical NaturalConference configuration file for an AG or a CG board:

[CONFERENCING] # Start of active region
Flags = NO_ECHO_CANCEL | NO_COACHING # Common statements
[Resource 0] # Start of a resource-specific section for Resource 0
Board = 0 # Resource-specific statements ...
DSP = 3
Flags = NO_DTMF_CLAMPING
[Resource 1] # Start of a resource-specific section for Resource 1
Board = 1 # Resource-specific statements ...
DSP = 10
[Resource 2] # Start of a resource-specific section for Resource 2
Board = 2 # Resource-specific statements ...
DSP = 10
# EOF (End of active regions)

## NaturalConference configuration file statements

The following table summarizes the NaturalConference configuration file statements. Brackets ([ ]) signify an optional value. A vertical bar ( | ) signifies a choice of more than one value.

Keyword | Global | Local | Allowed values | Specifies... | Required?
--- | --- | --- | --- | --- | ---
Board | x | x | 0..n | The board number as defined in the board keyword file. Every board in the system must be assigned a unique board number. | Yes
DSP |  | x | [dsp1[..dspn]] | The DSP number to be used by this resource. | Yes
Flags | x | x | EC_10_MS_WINDOW EC_20_MS_WINDOW NO_ECHO_CANCEL EC_100_MS_CV EC_200_MS_CV NO_DTMF_CLAMPING NO_TONE_CLAMPING NO_COACHING | The echo cancellation window size, echo cancellation convergence time, and the capabilities the application will not use. | No
NumTimeSlots | x | x | 16, 32 | The number of timeslots (translates into the number of conferees) per DSP on a CG board. Must be identical to the value of the NMS OAM keywords DSP.C5x[].NumRxTimeSlots and DSP.C5x[].NumTxTimeSlots. | No (defaults to 16). Ignored on AG boards.

### Using flags

The Flags statement is optional. Use this statement to specify the capabilities the application will not use. By disabling certain capabilities, you free up system resources, making it possible to increase the number of members supported on a given resource. If you specify no flags, all capabilities currently supported by the loaded DSP module are available. Applications cannot dynamically activate a capability at the conference or member level if the capability is disabled in the configuration file.

Flags that you specify in the [CONFERENCING] section apply to every conferencing resource declared in the configuration file, unless flags are specified for an individual resource, as in the following example:

[CONFERENCING]
Flags = NO_DTMF_CLAMPING | NO_COACHING
[RESOURCE 0]
Flags = NO_ECHO_CANCEL | NO_TONE_CLAMPING

In this example, the flags specified for resource 0 override the flags set for the conference. The resulting flags for resource 0 are NO_ECHO_CANCEL | NO_TONE_CLAMPING.