Hi, community!
I have a problem with freezes in video calls.
Server: kamailio+rtpengine+asterisk
Call participants:
- 2 Webrtc phones (Web), built on jssip library
Firstly making audio call, than add video on both sides
RTP video flow is going:
Web <----> rtpengine (DTLS-SRTP <-> RTP) <----> asterisk <------> rtpengine ( RTP <-> DTLS-SRTP ) <-----------> Web
Problem is that time to time video freezes (on one of the participants, or both) after 2-10s video is recovered
It freezes more often in case if the system in a cloud.
Frequency of freezes is not constant, mainly once per minute (periodicity may differ)
Before freeze:
- checking tcpdump - RTP flow A->B, B->A - there is now drops, big delays etc, nothing that could point out - what may be wrong.
When freeze happens:
- In all my tests - I see such errors in Chrome logs:
[1:24:1103/103728:WARNING:srtpfilter.cc(583)] Failed to unprotect SRTP packet, err=9
[1:24:1103/103728:ERROR:channel.cc(813)] Failed to unprotect video RTP packet: size=1195, seqnum=40871, SSRC=1682432964
[1:24:1103/103728:WARNING:srtpfilter.cc(583)] Failed to unprotect SRTP packet, err=9
[1:24:1103/103728:ERROR:channel.cc(813)] Failed to unprotect video RTP packet: size=1195, seqnum=40872, SSRC=1682432964
[1:24:1103/103728:WARNING:srtpfilter.cc(583)] Failed to unprotect SRTP packet, err=9
[1:24:1103/103728:ERROR:channel.cc(813)] Failed to unprotect video RTP packet: size=1195, seqnum=40873, SSRC=1682432964
.....
- the number of such errors may be different - but always freeze is surrounded with such errors (at least, I did not found any more hints - on what could be wrong).
While freeze:
- in tcpdump I see RTCP PLI packets sent, remote side re-send key frame and picture is recovered
Looking for webrtc sources - found that err=9 - replay check failed (bad index)
what index could be wrong? where/how to check?
Any suggestions how to debug deeper would be highly appreciated!
Thanks in advance!