# Strategies for optimizing performance

A board's DSP
resources can support a combination of IVR, fax transmit, and fax receive operations. IVR operations include basic Natural Access telephony functionality such as voice play and record, tone detection, and tone generation. You can control DSP resource allocation for a particular board by editing its configuration in the board keyword file assigned to the board.

Hardware-related performance is measured by the

- Available ports per board.

- Number and type of operations that can be run per port.

Refer to NaturalFax_and_NMS_hardware for a list of boards that support NaturalFax.

Use one of the following strategies to make the most efficient use of board resources, according to the design and purpose of the application:

- Maximize the number of ports that can run IVR and fax transmit operations.

- Maximize the number of universal ports on a board. A universal port can use any combination of IVR or fax functions. If a system is configured for universal ports, the application can use any combination of IVR functions such as voice play, voice record, tone detection, and tone generation with fax transmit or fax receive functions. The ability to alternate between IVR and fax functions within a single phone call is supported in a universal port configuration.

- Support all ports on a board

Note: For the purposes of this manual, universal port does not include speech vocoding functions.

The configurations presented in this section were load tested without echo cancellation, using speech encoding for voice functions. If your application requires a different use of DSP resources (for example, adding echo cancellation or using different speech encoding), you may achieve different performance results.

Refer to the appropriate sample files, as listed in each table, for detailed comments and specific configuration statements to achieve the desired performance.

In some configurations, a board's DSP resources cannot support an application that uses all of the ports on the board so some ports are left idle. Each DSP core can support a maximum of eight fax-only operations. If the number of operations performed exceeds the board's ability to support them, an NFXEVN_SESSION_DONE event is returned with the reason CTAERR_OUT_OF_RESOURCES. This may cause problems to fax sessions that are in progress.

NMS recommends that the number of fax operations not go above the number of fax operations allowed (number of DSP cores loaded with fax multiplied by eight).

Test your application carefully using the number of ports and the functionality that it will use during normal operation to ensure you have sufficient DSP resources and host CPU resources.

Refer to the board-specific installation and developer's manual for further information on DSP requirements. Refer to the DSP requirements for the following boards:

- AG boards

- CG boards