# Events ordered by category

This topic presents the ADI service events by category. The following fields are always assigned, regardless of the event:

- id

- ctahd

- timestamp

- userid

The remaining value, size, and buffer fields vary depending upon the event. If there is no relevant information for a field, it can be empty for the specific event. The buffer field is filled only if data is given to the application. Any events that yield data are noted. The value field can contain an error code if the operation is in error when started or if the function fails.

This topic presents:

- Administrative events

- Play and record events

- DTMF events

- MF events

- Call progress events

- Tone detector events

- Call control primitives

- Miscellaneous events

## Administrative events

ID | Value field | Size field
--- | --- | ---
ADIEVN_BOARD_ERROR | low word=parm0 high word=xx00 | low word=parm1 high word=parm2
ADIEVN_BOARD_EVENT | low word=msgtyp high word=obj | low word=parm0 high word=parm1
ADIEVN_STARTPROTOCOL_DONE | ADI_REASON_xxx |
ADIEVN_STOPPROTOCOL_DONE | ADI_REASON_xxx |

## Play and record events

ID | Value field | Size field
--- | --- | ---
ADIEVN_PLAY_BUFFER_REQ | 1=started 2=underrun |
ADIEVN_PLAY_DONE | ADI_REASON_xxx | Bytes played
ADIEVN_RECORD_BUFFER_FULL | 1=buffer requested 2=underrun 3=both | Buffer size
ADIEVN_RECORD_DONE | ADI_REASON_xxx | Bytes recorded
ADIEVN_RECORD_EVENT |  |
ADIEVN_RECORD_STARTED | 0 (zero) or ADI_RECORD_BUFFER_REQ |

Note: The CTA_EVENT.buffer field for ADIEVN_RECORD_BUFFER_FULL contains a data pointer.

## DTMF events

ID | Value field | Size field
--- | --- | ---
ADIEVN_COLLECTION_DONE | ADI_REASON_xxx | String length + 1
ADIEVN_DIGIT_BEGIN | 0 through 9, A through D, * (asterisk), # (number sign) |
ADIEVN_DIGIT_END | 0 through 9, A through D, * (asterisk), # (number sign) |
ADIEVN_DTMF_DETECT_DONE | ADI_REASON_xxx |

Note: The CTA_EVENT.buffer field for ADIEVN_COLLECTION_DONE contains a data pointer.

## MF events

Size field is not applicable.

ID | Value field
--- | ---
ADIEVN_MF_DETECT_DONE | ADI_REASON_xxx
ADIEVN_MF_DIGIT_BEGIN | 0 through 9, B through F
ADIEVN_MF_DIGIT_END | 0 through 9, B through F

Note: See adiStartMFDetector for translation of MF events.

## Call progress events

Size field is not applicable.

ID | Value field
--- | ---
ADIEVN_CP_BUSYTONE |
ADIEVN_CP_CED |
ADIEVN_CP_DIALTONE |
ADIEVN_CP_DONE | ADI_REASON_xxx
ADIEVN_CP_NOANSWER |
ADIEVN_CP_RINGQUIT |
ADIEVN_CP_RINGTONE | Number of rings
ADIEVN_CP_REORDERTONE |
ADIEVN_CP_SIT |
ADIEVN_CP_VOICE | ADI_CP_VOICE_xxx

Note: Number of rings is set to 1 on the first occurrence of the event. If the call progress stopmask is set to enable multiple ring events, this field contains a count of the number of rings.

## Tone detector events

Size field is not applicable.

ID | Value field
--- | ---
ADIEVN_TONE_1_BEGIN |
ADIEVN_TONE_1_DETECT_DONE | ADI_REASON_xxx
ADIEVN_TONE_1_END |
ADIEVN_TONE_2_BEGIN |
ADIEVN_TONE_2_DETECT_DONE | ADI_REASON_xxx
ADIEVN_TONE_2_END |
ADIEVN_TONE_3_BEGIN |
ADIEVN_TONE_3_DETECT_DONE | ADI_REASON_xxx
ADIEVN_TONE_3_END |
ADIEVN_TONE_4_BEGIN |
ADIEVN_TONE_4_DETECT_DONE | ADI_REASON_xxx
ADIEVN_TONE_4_END |
ADIEVN_TONE_5_BEGIN |
ADIEVN_TONE_5_DETECT_DONE | ADI_REASON_xxx
ADIEVN_TONE_5_END |
ADIEVN_TONE_6_BEGIN |
ADIEVN_TONE_6_DETECT_DONE | ADI_REASON_xxx
ADIEVN_TONE_6_END |

## Call control primitives

ID | Value field | Size field
--- | --- | ---
ADIEVN_DIAL_DONE | ADI_REASON_xxx |
ADIEVN_FSK_RECEIVE_DONE | ADI_REASON_xxx | Buffer size
ADIEVN_FSK_SEND_DONE | ADI_REASON_xxx |
ADIEVN_PULSE_DONE | ADI_REASON_xxx |
ADIEVN_QUERY_SIGNAL_DONE | ADI_REASON_xxx | ADI_BIT_xxx
ADIEVN_SIGNALBIT_CHANGED | ADI_x_BIT_xxx | ADI_BIT_xxx
ADIEVN_SIGNAL_DETECT_DONE | ADI_REASON_xxx |

Note: The CTA_EVENT.buffer field for ADIEVN_FSK_RECEIVE_DONE contains a data pointer.

## Miscellaneous events

ID | Value field | Size field
--- | --- | ---
ADIEVN_ECHOCANCEL_STATUS |  | Size of ADI_ECHOCANCEL_STATUS_INFO
ADIEVN_ECHOCANCEL_TONE | low word=type of tone high word=frequency |
ADIEVN_ENERGY_DETECT_DONE | ADI_REASON_xxx | Event ID (if condition is FINISHED)
ADIEVN_ENERGY_DETECTED |  |
ADIEVN_SILENCE_DETECTED |  |
ADIEVN_TIMER_DONE | ADI_REASON_xxx |
ADIEVN_TIMER_TICK | Tick count |

Note: The CTA_EVENT.buffer field for ADIEVN_ECHOCANCEL_STATUS contains a data pointer.