I managed to apply the patch and test the EVS codec with an actual SBC. But sometimes, some calls are logging such errors:
2nd CMR; bitstream is corrupted
2nd frame; bitstream is corrupted
Sometimes they come 2-3 times (both of them), sometimes Asterisk writes them 100+ times for a call.
The related code for this errors in codec_evs.c is like this (starting line 464):
if (toc_byte & 0x80) { /* Header Type identification bit */
ast_log(LOG_ERROR, "2nd CMR; bitstream is corrupted\n");
}
if (toc_byte & 0x40) { /* Followed bit */
ast_log(LOG_ERROR, "2nd frame; bitstream is corrupted\n"); /* ToDo */
}
I'm suspecting this happens because of there is no PLC (Packet-Loss Concealment) implemented?
The force_limitations.patch is forcing only Header Full format. If some RTP packages do not come with headers, can that be a reason for the errors I get in logs? What if I change hf-only =-1 ?
Don't have many chances to test all the scenarios, so would be great to get an advice on how would be the best to proceed.
I managed to apply the patch and test the EVS codec with an actual SBC. But sometimes, some calls are logging such errors:
Sometimes they come 2-3 times (both of them), sometimes Asterisk writes them 100+ times for a call.
The related code for this errors in
codec_evs.cis like this (starting line 464):I'm suspecting this happens because of there is no PLC (Packet-Loss Concealment) implemented?
The
force_limitations.patchis forcing only Header Full format. If some RTP packages do not come with headers, can that be a reason for the errors I get in logs? What if I changehf-only =-1?Don't have many chances to test all the scenarios, so would be great to get an advice on how would be the best to proceed.