Call Event Listeners
The RC CallLib library provides the following callback methods for handling call-related business logic reporting.
Incoming Call Listener
-
Sample code:
/// Set incoming call callback
engine?.onReceiveCall = (RCCallSession session) {
/// session: call session object
};
Outgoing Call Listener
-
Sample code:
/// Set outgoing call listener
engine?.onCallDidMake = () {
};
Call Established Listener
-
Sample code:
/// Set call established listener
engine?.onConnect = () {
};
Call Disconnection Listener
-
Sample code:
/// Set call disconnection listener
engine?.onDisconnect = (RCCallDisconnectReason reason) {
/// reason: disconnection reason
};
Call Exception Listener
-
Sample code:
/// Set call exception listener
engine?.onCallError = (int errorCode) {
/// errorCode: error code
};
Camera Operation Listener
-
Sample code:
/// Set camera operation listener
engine?.onEnableCamera = (RCCallCamera camera, bool enable) {
/// camera: current camera
/// enable: activation status
};
Camera Switch Listener
-
Sample code:
/// Set camera switch listener
engine?.onSwitchCamera = (RCCallCamera camera) {
/// camera: current camera
};
Callee Ringing Listener
-
Sample code:
/// Set callee ringing listener
engine?.onRemoteUserDidRing = (String userId) {
/// userId: ringing user ID
};
Microphone Operation Listener
-
Sample code:
/// Set microphone operation listener
engine?.onRemoteUserDidChangeMicrophoneState = (RCCallUserProfile user, bool enable) {
/// user: user who operated the microphone
/// enable: microphone activation status
};
Camera Operation Listener
-
Sample code:
/// Set camera operation listener
engine?.onRemoteUserDidChangeCameraState = (RCCallUserProfile user, bool enable) {
/// user: user who operated the camera
/// enable: camera activation status
};
Video-to-Audio Call Listener
Note
Switching from video call to audio-only call is also referred to as call downgrade.
-
Sample code:
/// Set call downgrade listener
engine?.onRemoteUserDidChangeMediaType = (RCCallUserProfile user, RCCallMediaType mediaType) {
/// user: user who triggered the downgrade
/// mediaType: downgrade result
};
Call Network Quality Listener
-
Sample code:
/// Set call network quality listener
engine?.onNetworkQuality = (RCCallUserProfile user, RCCallNetworkQuality quality) {
/// user: user information
/// quality: network quality
};
Call Volume Listener
-
Sample code:
/// Set call volume listener
engine?.onAudioVolume = (RCCallUserProfile user, int volume) {
/// user: user information
/// volume: current volume level
};