# saiStartTimerRecognizer

Activates the timers for a recognizer engine.

#### Prototype

DWORD saiStartTimerRecognizer ( SAI_RECOGNIZER_HANDLE recog H d, SAI_REQUEST_ID *requestId )

Argument | Description
recogHd | Handle associated with a recognizer resource.
requestId | Pointer to a unique request identifier returned for this command.

#### Return values

Return value | Description
SUCCESS |
SAIERR_ENGINE_NOT_READY | Specified recognizer engine is not ready to handle requests.
SAIERR_INVALID_PARAMETER | One of the specified arguments is invalid.

#### Events

Event | Description
SAIEVN_ASR_START_TIMER_DONE | Request was processed. The result of the request is returned in the statusCode field of the SAIEVN_ASR_START_TIMER_DONE event buffer.

#### Details

saiStartTimerRecognizer is used to implement a kill-on-barge-in enabled prompt. An IVR application starts the recognition timers when:

- The voice prompt finishes playing.

- Speech input is detected while the voice prompt is still active.

To detect a barge-in occurrence, the recognizer needs to be active, but the application usually does not start the recognizer's no-input timer and recognition timer until either the voice prompt finishes or barge-in occurs. In either case, applications then call saiStartTimerRecognizer to start the timers. For more information, refer to Implementing a barge-in enabled prompt.

Applications can invoke saiAsrSetRecognitionStartTimer to specify whether or not the timers are enabled when the application calls saiStartRecognizer. The application can also use saiAsrSetNoInputTimeout and saiAsrSetRecognitionTimeout to specify the length of the timer intervals. Other timers supported by a speech server behave in the same way.