Skip to main content
Handle call session events to build responsive UIs. The SDK provides five event listener interfaces to monitor session status, participant activities, media changes, button clicks, and layout changes. Unlike Android, Flutter listeners are not lifecycle-aware and must be manually removed in dispose() to prevent memory leaks.

Get CallSession Instance

The CallSession is a singleton that manages the active call. All event listener registrations and session control methods are accessed through this instance.
Flutter listeners are not lifecycle-aware. You must manually remove all listeners in your widget’s dispose() method to prevent memory leaks. Failing to do so may cause callbacks to fire on disposed widgets.

Session Events

Monitor the call session lifecycle including join/leave events and connection status.
Remove the listener when no longer needed:

Participant Events

Monitor participant activities including join/leave, audio/video state, hand raise, screen sharing, and recording.
Remove the listener when no longer needed:

Media Events

Monitor your local media state changes including audio/video status, recording, and device changes.
Remove the listener when no longer needed:

Button Click Events

Intercept UI button clicks from the default call interface to add custom behavior or analytics.
Button click events fire before the SDK’s default action executes. Use these to add custom logic alongside default behavior.
Remove the listener when no longer needed:

Layout Events

Monitor layout changes including layout type switches and Picture-in-Picture mode transitions.
Remove the listener when no longer needed: