testCallQuality()
Prebuilt
Custom
Prebuilt runs this test automatically as part of its prejoin UI.
preAuth() or startCamera() and before join().
If Adaptive Bitrate is enabled (default for 1:1 calls), results are stored on the call instance and used at join time to initialize the highest simulcast layer appropriately.
Return value
ReturnsPromise<DailyCallQualityTestResults>.
Overall connection quality verdict:
'good'—avgSendPacketLoss< 5%,maxRoundTripTime< 300ms,avgSendBitsPerSecond≥ 1,100,000'warning'—avgSendPacketLoss5–10%,maxRoundTripTime300–600ms,avgSendBitsPerSecond700,000–1,100,000'bad'—avgSendPacketLoss≥ 10%,maxRoundTripTime≥ 600ms,avgSendBitsPerSecond< 700,000'failed'— test meeting ended in error; error details are included in the result'aborted'— test stopped before data gathering started (e.g.join()orstopTestCallQuality()called too quickly)
Seconds over which data was collected (up to 30). Timer starts after the test has joined a call and begun sending data.
Underlying stats used to determine the result. All averages use an exponential moving average biased toward the most recent data.
maxRoundTripTime(seconds) — maximumcurrentRoundTripTimesampledavgRoundTripTime(seconds) — averagecurrentRoundTripTimeavgSendPacketLoss(percentage) — average outbound packet loss. Depending on the browser, this is based off either fractionLost or packetsLost/ packetsSent.avgAvailableOutgoingBitrate(bps) — averageavailableOutgoingBitrate(not available on Firefox)avgSendBitsPerSecond(bps) — average outbound bitrate (deltabytesSent/ delta time)
Session ID of the test call. Test calls use a private domain and do not appear in your account dashboard.
Human-readable error message. Only present when
result === 'failed'.Structured error object with
type, msg, and details. Only present when result === 'failed' and error details are available.