# Resource[x].Definitions

Provides a relational string of data processing functions (DPFs) that describes the functionality that can occur on a single port and how the DSP functions execute in relation to each other.

#### Syntax

Resource[x].Definitions = definition

x = 0..9 (index of the associated resource pool)

#### Access

Read/Write

#### Type

String

#### Default

None.

#### Allowed values

Any valid DPF name or identifier.

#### Example

Resource[0].Definitions = ( echo.ln20_apt100 | dtmf.det_all )

or

Resource[0].Definitions = ( echo.ln20_apt100 & dtmf.det_all )

#### Details

The DPFs in this string specify the functions that execute on the DSPs and whether they execute simultaneously.

The notation used to associate functions that run simultaneously is the AND operator (&). The notation used to associate functions that do not run simultaneously is the OR operator ( | ).

These operators are used with parentheses to determine the relationship between the functions and the calculation of DSP resources. The AND-OR-parentheses notation is used to optimize the allocation of resources by specifying to the board the worst-case resource usage over the duration of the call.

The Resource[x].Definitions keyword specifies the processing functions that are available to applications during the life of a call or channel. For example, if you expect to run echo cancellation at any time on the board, you must specify an echo DPF using this keyword. Since echo runs at the same time as the decoder and encoder in the universal ports full duplex implementation, the Resource string must combine echo (using the AND operator) with the decoder and the encoder.

The following restrictions apply to echo cancellation DPFs:

- Do not use echo cancellation DPFs when using hardware echo cancellation. For more information about hardware echo cancellation, refer to Configuring hardware echo cancellation.

- When using echo cancellation DPFs, do not use more than one occurrence of echo cancellation per Resource[x].Definitions string.

It is not necessary for you to specify the DPFs for the trunk control programs (TCPs) with the Resource[x].Definitions keyword. To use a TCP, specify the name of the TCP(s) to use with the Resource[x].TCPs keyword. The on-board resource manager uses the OR operation to compare the TCPs with the DPFs specified in the Resource[x].Definitions string.

The structure of a Resource[x].Definitions keyword must start with an open parenthesis and end with a matching close parenthesis. For example:

(( dtmf.det_all | echo.ln20_apt25) & \
( oki.rec_24 | tone.gen ))

The following example is not correct:

( dtmf.det_all | echo.ln20_apt25) & \
( oki.rec_24 | tone.gen )

Caution: | If you have not specified a DPF in the Resource[x].Definitions keyword and you attempt to create or start that DPF, it fails. All DPFs that you plan to use must be specified in Resource[x].Definitions.

For more information, refer to Managing board DSP resources.

#### See also

Resource[x].DSPs, Resource[x].Name, Resource[x].Size