# Transmitting tones

When a station is off-hook, the CX board can transmit tones to the station. Each tone can consist of one or two frequency components, each at different amplitudes. You can also set up a pattern (cadence) of up to two iterations of the tone, each of different lengths.

This topic describes:

- Starting tone transmission

- Stopping tone transmission

## Starting tone transmission

To start the transmission of a tone, invoke cdiStartTones. If the function invocation is successful, cdiStartTones returns SUCCESS. When tone transmission is complete, CDIEVN_TONE_DONE is generated.

cdiStartTones cannot be invoked for a station while the DSP is currently playing a tone at that station. If this function is invoked during an ongoing tone, CTAERR_FUNCTION_ACTIVE is returned.

## Stopping tone transmission

If enhanced mode is enabled, the DSP automatically stops transmitting tones to a station when the station goes on-hook (CDIEVN_ON_HOOK is received), or a DTMF tone is detected (CDIEVN_DTMF_STARTED is received). If enhanced mode is disabled, the application can invoke cdiStopTones to stop transmission.

If the station is on-hook, and cdiStopTones is invoked, CTAERR_FUNCTION_NOT_ACTIVE is returned.