***
id: f5a76d81-035c-4281-addb-f4e5cd32e02a
title: Events
slug: /node/reference/voice/call/events
description: Events available on the Call class.
max-toc-depth: 3
----------------
[call]: #
[callcollect]: /docs/server-sdk/v4/node/reference/voice/call-collect
[calldetect]: /docs/server-sdk/v4/node/reference/voice/call-detect
[callplayback]: /docs/server-sdk/v4/node/reference/voice/call-playback
[callprompt]: /docs/server-sdk/v4/node/reference/voice/call-prompt
[callrecording]: /docs/server-sdk/v4/node/reference/voice/call-recording
[callstate]: /docs/server-sdk/v4/node/reference/voice/call-state
[calltap]: /docs/server-sdk/v4/node/reference/voice/call-tap
## Events
### onStateChanged
* **Call.listen**(`{ onStateChanged: Callback }`)
Emitted when the state of the call changes. Your event handler
will be called with an instance of the [`CallState`][callstate] object.
#### Parameters
A [`Call`][call] object containing the call state. See [`CallState`][callstate].
### onCollectEnded
* **Call.listen**(`{ onCollectEnded: Callback }`)
Emitted when a collect session has ended. Your event handler
will be called with an instance of the [`CallCollect`][callcollect] object.
#### Parameters
A [`CallCollect`][callcollect] object.
### onCollectFailed
* **Call.listen**(`{ onCollectFailed: Callback }`)
Emitted when a collect session has failed. Your event handler
will be called with an instance of the [`CallCollect`][callcollect] object.
#### Parameters
A [`CallCollect`][callcollect] object.
### onCollectInputStarted \[#voice\_call\_oncollectinputstarted]
* **Call.listen**(`{ onCollectInputStarted: Callback }`)
Emitted when a collect session has started. Your event handler
will be called with an instance of the [`CallCollect`][callcollect] object.
#### Parameters
A [`CallCollect`][callcollect] object.
### onCollectStarted
* **Call.listen**(`{ onCollectStarted: Callback }`)
Emitted when a collect session has started. Your event handler
will be called with an instance of the [`CallCollect`][callcollect] object.
#### Parameters
A [`CallCollect`][callcollect] object.
### onCollectUpdated
* **Call.listen**(`{ onCollectUpdated: Callback }`)
Emitted when the state of a collect session has changed. Your event handler
will be called with an instance of the [`CallCollect`][callcollect] object.
#### Parameters
A [`CallCollect`][callcollect] object.
### onDetectEnded
* **Call.listen**(`{ onDetectEnded: Callback }`)
Emitted when a call detection session has ended. Your event handler
will be called with an instance of the [`CallDetect`][calldetect] object.
#### Parameters
A [`CallDetect`][calldetect] object.
### onDetectStarted
* **Call.listen**(`{ onDetectStarted: Callback }`)
Emitted when a call detection session has started. Your event handler
will be called with an instance of the [`CallDetect`][calldetect] object.
#### Parameters
A [`CallDetect`][calldetect] object.
### onDetectUpdated
* **Call.listen**(`{ onDetectUpdated: Callback }`)
Emitted when the state of a call detection session has changed. Your event handler
will be called with an instance of the [`CallDetect`][calldetect] object.
#### Parameters
A [`CallDetect`][calldetect] object.
### onPlaybackEnded
* **Call.listen**(`{ onPlaybackEnded: Callback }`)
Emitted when a playback has ended. Your event handler
will be called with an instance of the [`CallPlayback`][callplayback] object.
#### Parameters
A [`CallPlayback`][callplayback] object.
### onPlaybackFailed
• **Call.listen**(`{ onPlaybackFailed: Callback }`)
Emitted when a playback has failed. Your event handler
will be called with an instance of the [`CallPlayback`][callplayback] object.
#### Parameters
A [`CallPlayback`][callplayback] object.
### onPlaybackStarted
* **Call.listen**(`{ onPlaybackStarted: Callback }`)
Emitted when a playback has started. Your event handler
will be called with an instance of the [`CallPlayback`][callplayback] object.
#### Parameters
A [`CallPlayback`][callplayback] object.
### onPlaybackUpdated
* **Call.listen**(`{ onPlaybackUpdated: Callback }`)
Emitted when the state of a playback has changed. Your event handler
will be called with an instance of the [`CallPlayback`][callplayback] object.
#### Parameters
A [`CallPlayback`][callplayback] object.
### onPromptEnded
* **Call.listen**(`{ onPromptEnded: Callback }`)
Emitted when a prompt has ended. Your event handler
will be called with an instance of the [`CallPrompt`][callprompt] object.
#### Parameters
A [`CallPrompt`][callprompt] object.
### onPromptFailed
* **Call.listen**(`{ onPromptFailed: Callback }`)
Emitted when a prompt has failed. Your event handler
will be called with an instance of the [`CallPrompt`][callprompt] object.
#### Parameters
A [`CallPrompt`][callprompt] object.
### onPromptStarted
* **Call.listen**(`{ onPromptStarted: Callback }`)
Emitted when a prompt has started. Your event handler
will be called with an instance of the [`CallPrompt`][callprompt] object.
#### Parameters
A [`CallPrompt`][callprompt] object.
### onPromptUpdated
* **Call.listen**(`{ onPromptUpdated: Callback }`)
Emitted when the state of a prompt has changed. Your event handler
will be called with an instance of the [`CallPrompt`][callprompt] object.
#### Parameters
A [`CallPrompt`][callprompt] object.
### onRecordingEnded
* **Call.listen**(`{ onRecordingEnded: Callback }`)
Emitted when a recording has ended. Your event handler
will be called with an instance of the [`CallRecording`][callrecording] object.
#### Parameters
A [`CallRecording`][callrecording] object.
### onRecordingFailed
* **Call.listen**( `{ onRecordingFailed: Callback }`)
Emitted when a recording has failed. Your event handler
will be called with an instance of the [`CallRecording`][callrecording] object.
#### Parameters
A [`CallRecording`][callrecording] object.
### onRecordingStarted
* **Call.listen**(`{ onRecordingStarted: Callback }`)
Emitted when a recording has started. Your event handler
will be called with an instance of the [`CallRecording`][callrecording] object.
#### Parameters
A [`CallRecording`][callrecording] object.
### onRecordingUpdated
* **Call.listen**(`{ onRecordingUpdated: Callback }`)
Emitted when the state of a recording has changed. Your event handler
will be called with an instance of the [`CallRecording`][callrecording] object.
#### Parameters
A [`CallRecording`][callrecording] object.
### onTapEnded
* **Call.listen**(`{ onTapEnded: Callback }`)
Emitted when a tap has ended. Your event handler
will be called with an instance of the [`CallTap`][calltap] object.
#### Parameters
A [`CallTap`][calltap] object.
### onTapStarted
* **Call.listen**(`{ onTapStarted: Callback }`)
Emitted when a tap has started. Your event handler
will be called with an instance of the [`CallTap`][calltap] object.
#### Parameters
A [`CallTap`][calltap] object.