Skip to main content

Call Events

There are multiple events that you can listen to during a call. You can use them to update the UI, show notifications, or log the call events. You can listen to them via callEvents stream in the Call object.

Here are some of the events you can listen to:

Call EventDescription
General Call Events
StreamCallCreatedEventTriggered when a call is created.
StreamCallJoinedEventTriggered when a user joins a call.
StreamCallEndedEventTriggered when the call ends.
StreamCallUpdatedEventTriggered when the call metadata are updated.
Participant Events
StreamCallParticipantJoinedEventTriggered when a participant joins the call.
StreamCallParticipantLeftEventTriggered when a participant leaves the call.
StreamCallDominantSpeakerChangedEventTriggered when the dominant speaker changes.
Quality and Control Events
StreamCallConnectionQualityChangedEventTriggered when connection quality changes for participants.
StreamCallAudioLevelChangedEventTriggered when audio levels change for participants.
StreamCallPermissionRequestEventTriggered when there is a permission request for a call.
StreamCallPermissionsUpdatedEventTriggered when permissions for a call are updated.
Call Ringing Events
StreamCallRingingEventTriggered when the call is ringing.
StreamCallAcceptedEventTriggered when the call is accepted.
StreamCallRejectedEventTriggered when the call is rejected.
Media Events
StreamCallRecordingStartedEventTriggered when recording starts for a call.
StreamCallRecordingStoppedEventTriggered when recording stops for a call.
StreamCallBroadcastingStartedEventTriggered when broadcasting starts for a call.
StreamCallBroadcastingStoppedEventTriggered when broadcasting stops for a call.
Session Events
StreamCallSessionStartedEventTriggered when a new session starts for a call.
StreamCallSessionEndedEventTriggered when a session ends for a call.
StreamCallSessionParticipantJoinedEventTriggered when a participant joins the call session.
StreamCallSessionParticipantLeftEventTriggered when a participant leaves the call session.
Other Events
StreamCallUserBlockedEventTriggered when a user is blocked in a call.
StreamCallUserUnblockedEventTriggered when a user is unblocked in a call.
StreamCallReactionEventTriggered when someone sends a reaction during a call.

Custom event

Stream Video also supports custom events. This is a real-time layer that you can broadcast your own events to.

Sending custom events

You can use the sendCustomEvent method of the Call instance to send custom events:

call.sendCustomEvent(
eventType: 'my-custom-event',
custom: {
'key': 'value',
},
);

Receiving custom events

​ You can listen to custom events by listening to the StreamCallCustomEvent event via the same callEvents stream:

call.callEvents.on<StreamCallCustomEvent>((event) { });

Did you find this page helpful?