cdiStartDTMFDetector

Enables the DTMF detector.

Prototype

DWORD cdiStartDTMFDetector ( CTAHD ctahd, CDI_DTMFDETECTOR_PARMS *parms)

Argument

Description

ctahd

Context handle.

parms

Pointer to a structure containing DTMF detection parameters. Specify NULL to use the default values.

typedef struct
{
   DWORD     size;
   DWORD     onqualtime;
   DWORD     offqualtime;
   DWORD     DTMF_mode;
} CDI_DTMFDETECTOR_PARMS

Refer to CDI_DTMFDETECTOR_PARMS for field descriptions.


Return values

Return value

Description

SUCCESS

 

CTAERR_BAD_ARGUMENT

Argument is not in the valid range.

CTAERR_BOARD_ERROR

Board is overheating, and has reached the protection stage. At this stage, the board does not accept or place calls on any ports. Refer to Monitoring board temperature for details.

CTAERR_INVALID_STATE

Port must be off-hook to invoke this function.

CTAERR_FUNCTION_ACTIVE

Function has already been invoked, and the DTMF detector is active.

CTAERR_INVALID_CTAHD

Handle is invalid.

CTAERR_OUT_OF_RESOURCES

DSP does not have enough MIPS to satisfy the request. Retry later.


Events

Event

Description

CDIEVN_DTMF_STARTED

DTMF tone is detected. The event value field contains the ASCII representation of the key.

The DTMF_mode parameter in CDI_DTMFDETECTOR_PARMS determines when this event is reported.

CDIEVN_DTMF_ENDED

DTMF tone currently detected just ended.


Details

When a station is off-hook, the DSP can detect DTMF tones and return their values to the application. To start DTMF detection, invoke cdiStartDTMFDetector. In the invocation, pass a pointer to the CDI_DTMFDETECTOR_PARMS structure.

If the board is running in enhanced mode, the DSP automatically stops DTMF detection for a station when the station is placed on-hook (CDIEVN_ON_HOOK is returned). Otherwise, invoke cdiStopDTMFDetector to stop DTMF detection.

Refer to Detecting DTMF tones for more information.