Rate this page:

QualityEventTypes

The events that are triggered by Call instance.

Constants

CodecMismatch

Copy URL

Invoked if local video is encoded by a codec different from specified in CallSettings.preferredVideoCodec. Issue level is QualityIssueLevel.CRITICAL if video is not sent, QualityIssueLevel.MAJOR in case of codec mismatch or QualityIssueLevel.NONE if the issue is not detected.

Possible reasons:

  • The video is not sent for some reasons. In this case codec will be null
  • Different codecs are specified in the call endpoints

Handler function receives an event with the following parameters as an argument.

Parameters

  • callId:

    string

    The call id that trigered the event

  • codec:

    string

    Codec that is currently used or null if the video is not sent.

  • Issue level.

  • name:

    string

    Name of the event

HighMediaLatency

Copy URL

Invoked if network-based media latency is detected in the call. Network-based media latency is calculated based on rtt (round trip time) and jitter buffer. Latency refers to the time it takes a voice/video packet to reach its destination. Sufficient latency causes call participants to speak over the top of each other. Issue level may vary during the call.

Possible reasons:

  • Network congestion/delays
  • Lack of bandwidth

Handler function receives an event with the following parameters as an argument.

Parameters

  • callId:

    string

    The call id that trigered the event

  • Issue level.

  • latency:

    number

    Network-based latency measured in milliseconds at the moment the issue triggered.

  • name:

    string

    Name of the event

IceDisconnected

Copy URL

Invoked if ICE connection is switched to the "disconnected" state during the call. Issue level is always QualityIssueLevel.CRITICAL, because there is no media in the call until the issue is resolved.

Event may be triggered intermittently and be resolved just as spontaneously on less reliable networks, or during temporary disconnections.

Possible reasons:

  • Network issues

Handler function receives an event with the following parameters as an argument.

Parameters

  • callId:

    string

    The call id that trigered the event

  • Issue level.

  • name:

    string

    Name of the event

LocalVideoDegradation

Copy URL

Invoked if the video resolution sent to the endpoint is lower than a captured video resolution. As a result it affects remote video quality on the remote participant side, but do not affect the quality of local video preview on the android application. The issue level may vary during the call.

Possible reasons:

  • High CPU load during the video call
  • Network issues such as poor internet connection or low bandwidth

Handler function receives an event with the following parameters as an argument.

Parameters

  • actualSize:

    FrameSize

    Sent frame size.

  • callId:

    string

    The call id that trigered the event

  • Issue level.

  • name:

    string

    Name of the event

  • targetSize:

    FrameSize

    Captured frame size.

NoAudioReceive

Copy URL

Invoked 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 will be invoked for each of the remote audio streams with the issue.

If the issue level is QualityIssueLevel.CRITICAL, the event will not be invoked with the level QualityIssueLevel.NONE in cases:

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.sendAudio

Possible reasons:

  • Poor internet connection on the client or the endpoint
  • Connection lost on the endpoint

Handler function receives an event with the following parameters as an argument.

Parameters

  • audioStreamId:

    string

    Remote audio stream the issue is belongs to.

  • callId:

    string

    The call id that trigered the event

  • endpointId:

    string

    Endpoint the issue belongs to.

  • Issue level.

  • name:

    string

    Name of the event

NoAudioSignal

Copy URL

Invoked if no audio is captured by the microphone. Issue level can be only QualityIssueLevel.CRITICAL if the issue is detected or QualityIssueLevel.NONE if the issue is not detected or resolved. Possible reasons:

  • Access to microphone is denied
  • Category of AVAudioSession is not AVAudioSessionCategoryPlayAndRecord

Handler function receives an event with the following parameters as an argument.

Parameters

  • callId:

    string

    The call id that trigered the event

  • Issue level.

  • name:

    string

    Name of the event

NoVideoReceive

Copy URL

Invoked 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 will be invoked for each of the remote video streams with the issue.

If the issue level is QualityIssueLevel.CRITICAL, the event will not be invoked with the level QualityIssueLevel.NONE in cases:

The issue is not detected for the following cases:

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 (camera usage is prohibited while in the background on iOS)

Handler function receives an event with the following parameters as an argument.

Parameters

  • callId:

    string

    The call id that trigered the event

  • endpointId:

    string

    Endpoint the issue belongs to.

  • Issue level.

  • name:

    string

    Name of the event

  • videoStreamId:

    string

    Remote video stream the issue is belongs to.

PacketLoss

Copy URL

Invoked on packet loss detection. Packet loss can lead to missing of entire sentences, award pauses in the middle of a conversation or robotic voice during the call. Issue level may vary during the call.

Possible reasons:

  • Network congestion
  • Bad hardware (parts of the network infrastructure)

Handler function receives an event with the following parameters as an argument.

Parameters

  • callId:

    string

    The call id that trigered the event

  • Issue level.

  • name:

    string

    Name of the event

  • packetLoss:

    number

    Average packet loss for 2.5 seconds.