# Call quality The Javascript SDK exposes real time information related to call quality. By using this API you can be notified as soon as any degradation of connectivity metrics is observed and adjust your application UI, providing visible feedback to the user. ## Call quality warning events The Javascript SDK provides information about quality warning events via `CallListener.onCallQualitywarningEvent`(https://download.sinch.com/js/latest/reference/interfaces/CallListener.html#oncallqualitywarningevent-1) callback. The `CallQualityWarningEvent` object passed inside the callback provides the following information about the event observed: - Name of the warning - Type of the event. Can be either `Trigger` or `Recover` depending if given metric degradation has just occured or if it returned to expected value. - Media stream type of the warning. This is included only for warnings that can be bound to individual streams (`Audio` or `Video`). The below table summarizes the possible types of `CallQualityWarningEvent` objects being emmitted by the Javascript SDK: | Type | From (JS SDK version) | Contains MediaStreamType | Trigger conditions | Recovery conditions | | --- | --- | --- | --- | --- | | HighRemoteInboundRttWarningEvent | 2.37.8 | YES | Round Trip Time (RTT) of packets is greater 300 ms | Round Trip Time (RTT) drops below 300 ms | | HighInboundJitterWarningEvent | 2.37.8 | YES | Inbound jitter is greater then 30 ms for 3 out of last 4 samples | Trigger conditions are no longer sustained | | HighInboundPacketLossWarningEvent | 2.37.8 | YES | Inbound packet loss is greater then 1% in 3 out of last 4 samples | Trigger conditions are no longer sustained | | MissingMediaStreamWarningEvent | 2.37.8 | NO | ICE state is not `CONNECTED` during the time the call is established | ICE state reaches `CONNECTED` state. | | ConstantOutboundAudioLevel | 2.37.8 | NO (audio only) | Standard deviation of outbound audio level measurements from last 20 seconds is lower then 0.5% of the maximum possible audio level value. | Trigger conditions are no longer sustained. | | ConstantInboundAudioLevel | 2.37.8 | NO (audio only) | Standard deviation of inbound audio level measurements from last 20 seconds is lower then 0.5% of the maximum possible audio level value. | Trigger conditions are no longer sustained. | | ZeroInboundAudioLevel | 2.37.8 | NO (Audio only) | The audio level measurements of the inbound rtp audio stream from last 2 seconds are equal to 0. | Trigger conditions are no longer sustained | | ZeroOutboundAudioLevel | 2.37.8 | NO (Audio only) | The audio level measurements of the outbound rtp audio stream from last 2 seconds are equal to 0. | Trigger conditions are no longer sustained |