QualityIssueListener
This API is in beta and subject to change.
Interface to monitor issues that affect call quality during a call. Use the Call.setQualityIssueListener API to subscribe to the following events.
Methods
onNoAudioReceive
fun onNoAudioReceive(id: String
, level: , audioStream: ): Unit
This API is in beta and subject to change.
Triggered if no audio is received on the remote audio stream.
Issue level can be only QualityIssueLevel.Critical if the issue is detected or QualityIssueLevel.None if the issue is not detected or resolved.
If no audio receive is detected on several remote audio streams, the event is invoked for each of the remote audio streams with the issue.
If the issue level is QualityIssueLevel.Critical, the event is not invoked with the level QualityIssueLevel.None in cases:
- The (conference) call ended
- The endpoint left the conference call.
The issue is not detected for the following cases:
- The endpoint put the call on hold via Call.hold
- The endpoint stopped sending audio during a call via Call.muteAudio
Possible reasons:
- Poor internet connection on the client or the endpoint
- Connection lost on the endpoint - ConferenceListener.onEndpointRemoved is invoked
Parameters
id:
String
Call or Conference id the issue belongs to
level:
Issue level
audioStream:
Remote audio stream the issue occurred on
Returns
type:
Unit
onNoVideoReceive
fun onNoVideoReceive(id: String
, level: , videoStream: ): Unit
This API is in beta and subject to change.
Triggered if no video is received on the remote video stream.
Issue level can be only QualityIssueLevel.Critical if the issue is detected or QualityIssueLevel.None if the issue is not detected or resolved.
If no video receive is detected on several remote video streams, the event is invoked for each of the remote video streams with the issue.
If the issue level is QualityIssueLevel.Critical, the event is not invoked with the level QualityIssueLevel.None in cases:
- The (conference) call ended
- The remote video stream is removed - EndpointListener.onRemoteVideoStreamRemoved is invoked.
- The endpoint left the conference call - ConferenceListener.onEndpointRemoved is invoked
The issue is not detected for the following cases:
- The endpoint put the call on hold via Call.hold
- The endpoint stopped sending video during the call via Call.stopSendingVideo
- Video receiving has been stopped on the remote video stream via Endpoint.stopReceiveVideo.
Possible reasons:
- Poor internet connection on the client or the endpoint
- Connection lost on the endpoint
- The endpoint's application has been moved to the background state on an iOS device
Parameters
id:
String
Call or Conference id the issue belongs to
level:
Issue level
videoStream:
Remote video stream the issue occurred on
Returns
type:
Unit