Closed mwaked closed 4 years ago
Are you mean quality internet connection during call?
@TatankaConCube no i mean call quality
ConnectyCube SDK does'n have ready-made solution for this case, but feature WebRTC Stats reporting can be helpful for your case. For example, you can use parameters connectionReceivedBitrate
and(or) connectionSendBitrate
to calculate own quality indicator.
Okay, I'm also working on iOS, and it doesn't work for iOS.. Is there a way you can help? I created an issue in github iOS but there's no response until now. Link: https://github.com/ConnectyCube/connectycube-ios-calls-sdk-releases/issues/3
I tested this functionality on ConnectyCube SDK version 1.8.1 for Android and it worked. About iOS - I can't help with it ((
@TatankaConCube, I feel sad to know that you can't help with iOS. Could you atleast inform iOS team to help us?
Hello, I try to use RTCStatsReport object which return in this listener
currentSession?.addStatsReportCallback { rtcStatsReport, userId -> Logger.d(CALL_TAG, TAG,"Lost: ${rtcStatsReport.audioReceivedPacketsLost}, Received: ${rtcStatsReport.audioReceivedPacketsReceived}") Logger.d(CALL_TAG, TAG,"Report by user = $userId , Full report = $rtcStatsReport") }
There is no useful data for calculate connection quality and most values always 0 or null!
Can you help me please?
// RTCStatsReport data
{ connectionReceivedBitrate='0bps', connectionRoundTripTime='39', connectionSendBitrate='0bps', localCandidateType='local', remoteCandidateType='prflx', transportType='udp', transportConnectionIsActive='true', readableIceRequest='true', writableIceRequest='true', packetsSent='10', packetsDiscardedOnSend='0', localCandidateID='Cand-o3/bCwiL', channelID='Channel-audio-1', localAddress='192.168.50.235:44253', remoteAddress='192.168.50.15:58266', actualEncodingBitrate='0bps', availableReceiveBandwidth='0bps', availableSendBandwidth='300Kbps', targetEncodingBitrate='0bps', bucketDelay='0', retransmitBitrate='0', transmitBitrate='0', videoSendPacketsLost='null', videoSendPacketsSent='null', videoSendEncodeUsagePercent='null', videoSendTrackID='null', videoSendEncodeMs='null', videoSendInputFps='null', videoSendInputHeight='null', videoSendInputWidth='null', videoSendCodec='null', videoSendBitrate='null', videoSendFps='null', videoSendHeight='null', videoSendWidth='null', videoSendNacksReceived='null', videoSendPlisReceived='null', videoSendViewLimitedResolution='null', videoSendCpuLimitedResolution='null', videoReceivedDecodeMs='null', videoReceivedDecodedFps='null', videoReceivedOutputFps='null', videoReceivedBitrate='null', videoReceivedFps='null', videoReceivedHeight='null', videoReceivedWidth='null', audioSendBitrate='0bps', audioSendInputLevel='95', audioReceiveOutputLevel='null', audioSendBytesSent='813', audioSendPacketsLost='null', audioSendPacketsSent='9', audioSendCodec='ISAC', audioSendTrackID='ARDAMSa0', audioSendEchoCancellationQualityMin='null', audioSendEchoCancellationEchoDelayMedian='null', audioSendEchoCancellationEchoDelayStdDev='null', audioSendEchoCancellationReturnLoss='null', audioSendEchoCancellationReturnLossEnhancement='null', audioSendJitterReceived='null', audioReceivedCurrentDelay='0', audioReceivedPacketsLost='0', audioReceivedPacketsReceived='0', audioReceivedTrackId='ARDAMSa0', audioReceivedExpandRate='0', audioReceivedBitrate='0bps', audioReceivedCodec='' }
hello @mwaked there is my report after established connection between users:
{ connectionReceivedBitrate='3Kbps', connectionRoundTripTime='6', connectionSendBitrate='2Kbps', localCandidateType='local', remoteCandidateType='local', transportType='udp', transportConnectionIsActive='true', readableIceRequest='true', writableIceRequest='true', packetsSent='82596', packetsDiscardedOnSend='0', localCandidateID='Cand-EpPhFABY', channelID='Channel-audio-1', localAddress='192.168.1.55:55493', remoteAddress='192.168.1.77:42891', actualEncodingBitrate='1.70Mbps', availableReceiveBandwidth='0bps', availableSendBandwidth='3.90Mbps', targetEncodingBitrate='1.70Mbps', bucketDelay='1', retransmitBitrate='0', transmitBitrate='1772656', videoSendPacketsLost='0', videoSendPacketsSent='61965', videoSendEncodeUsagePercent='52', videoSendTrackID='ARDAMSv0', videoSendEncodeMs='15', videoSendInputFps='30', videoSendInputHeight='480', videoSendInputWidth='640', videoSendCodec='VP8', videoSendBitrate='2Kbps', videoSendFps='29', videoSendHeight='480', videoSendWidth='640', videoSendNacksReceived='0', videoSendPlisReceived='0', videoSendViewLimitedResolution='null', videoSendCpuLimitedResolution='false', videoReceivedDecodeMs='22', videoReceivedDecodedFps='30', videoReceivedOutputFps='30', videoReceivedBitrate='3Kbps', videoReceivedFps='31', videoReceivedHeight='720', videoReceivedWidth='1280', audioSendBitrate='21bps', audioSendInputLevel='315', audioReceiveOutputLevel='1979', audioSendBytesSent='244238', audioSendPacketsLost='0', audioSendPacketsSent='6443', audioSendCodec='ISAC', audioSendTrackID='ARDAMSa0', audioSendEchoCancellationQualityMin='null', audioSendEchoCancellationEchoDelayMedian='null', audioSendEchoCancellationEchoDelayStdDev='null', audioSendEchoCancellationReturnLoss='null', audioSendEchoCancellationReturnLossEnhancement='null', audioSendJitterReceived='9', audioReceivedCurrentDelay='180', audioReceivedPacketsLost='1', audioReceivedPacketsReceived='7212', audioReceivedTrackId='ARDAMSa0', audioReceivedExpandRate='0', audioReceivedBitrate='34bps', audioReceivedCodec='ISAC' }
Please check that you set RTCConfig.setStatsReportInterval(5)
and add callback before start call.
@TatankaConCube Thank you
Is there any function to return connection quality like any call like FB Messenger or Watsapp, it let me know connection quality Excellent, average or poor or no connection ??
Thanks ConnectyCube team