Help understanding "RTCP blocks were skipped" and "Failed to unprotect SRTP"

518 views
Skip to first unread message

Juan Navarro

unread,
Aug 24, 2018, 8:06:32 AM8/24/18
to discuss-webrtc
Hi all,

I would really appreciate some comments or first impressions about an issue I'm having; just having some lead from where to continue studying the problems would already be a lot of help:

I'm currently investigating an issue with some audio-only streams having constant audio drops in an otherwise idle system, with supposedly good network conditions. There are 2 local PCs (in the same LAN) that establish an audio call via a remote Kurento Media Server hosted in an Amazon AWS machine.

The audio has constant drops, and when these happen, the receiver Chrome instance prints 4 kinds of errors on console (timestamps removed, for clarity):

1: [WARNING:packet_buffer.cc(97)] Packet buffer flushed
2: [WARNING:rtcp_receiver.cc(399)] 210 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
3: [WARNING:srtpsession.cc(135)] Failed to unprotect SRTP packet, err=9
4: [ERROR:srtptransport.cc(210)] Failed to unprotect RTP packet: size=1418, seqnum=10898, SSRC=436158332

KMS doesn't print any errors regarding RTCP, but it does some times complain about SRTP error code 9. So the RTCP errors show up only in Chrome, but the SRTP errors seem to be shared by both ends.

Normally, the audio drops coincide with bursts of messages 2, 3 and 4. Also, the '210' in messages of type 2 is a number that grows constantly. Over a 2 minutes call, this grew up to be around 900. I guess if I leave it for more time, this number will keep growing to the thousands.

I'd really be thankful for any comments about what kind of conditions are usually reasons for these warning and error messages. I've been doing all sort of tests:
- Enabling and disabling STUN / TURN
- Testing different machines
- Inspecting traffic with Wireshark. This one is interesting: NO invalid RTP or RTCP packets are found in Wireshark, while Chrome complains about hundreds of "malformed or unsupported" packets.

Kind regards,
Juan

Juan Navarro

unread,
Aug 28, 2018, 9:21:22 AM8/28/18
to discuss-webrtc
Just to clarify, this is a sample output taken from Chromium Version 68.0.3440.106 (Official Build) Built on Ubuntu, running on LinuxMint 18.3 (64-bit)
This video call lasted for about 30 minutes, and you can see how the skipped RTCP blocks are growing:


[WARNING:rtcp_receiver.cc(399)] 8094 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8116 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8116 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.

[WARNING:srtpsession.cc(135)] Failed to unprotect SRTP packet, err=9
[ERROR:srtptransport.cc(210)] Failed to unprotect RTP packet: size=1418, seqnum=4180, SSRC=312616662

[WARNING:srtpsession.cc(135)] Failed to unprotect SRTP packet, err=9
[ERROR:srtptransport.cc(210)] Failed to unprotect RTP packet: size=1057, seqnum=4181, SSRC=312616662

[WARNING:srtpsession.cc(135)] Failed to unprotect SRTP packet, err=9
[ERROR:srtptransport.cc(210)] Failed to unprotect RTP packet: size=1418, seqnum=4180, SSRC=312616662

[WARNING:srtpsession.cc(135)] Failed to unprotect SRTP packet, err=9
[ERROR:srtptransport.cc(210)] Failed to unprotect RTP packet: size=1057, seqnum=4181, SSRC=312616662
[WARNING:rtcp_receiver.cc(399)] 8137 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8137 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8158 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8158 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8178 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8178 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8199 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.
[WARNING:rtcp_receiver.cc(399)] 8199 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.



As it is, I don't really believe that 8200 RTCP packets were being sent in the last 10 seconds. Maybe a defect in the error counting mechanism in Chrome?
Reply all
Reply to author
Forward
0 new messages