[asterisk-dev] OPUS horrible quality with packet loss

Alexander Traud pabstraud at compuserve.com
Mon Apr 3 07:40:19 CDT 2017


> maybe version is too high [for that Native-PLC patch]

You can answer that question yourself by adding debug output into codecs/codec_opus_open_source.c. For example, put one ast_log(…) for each "/* Case x". Case 5 and 6 are the perfect case without loss and therefore without activating Native-PLC. When that patch works, you should see (all) other cases.

That is the benefit of the open-source variant. The black box turns into a white box, where you can add debugging wherever you like.

> not see much improvements on quality

Then, it is time to go over to the Opus mailing list <http://opus-codec.org/contact/> and ask them for help. For example, how to debug the Opus library states in more detail. Whether everything is right when it comes to FEC. And so on.

I was not able to find much documentation about this area. Therefore and because I do not have quality-debugger tools here, I cannot even go that path. The open-source community would more than happy, if you could go that path. Perhaps you are even able to create a best-practice paper, how to use/access the API of Opus Codec in case of a VoIP/SIP/RTP application. I have not found something like that, yet.

Alternatively, have a look at FreeSWITCH and whether it works there.

> will it be a solution to use RTP on TCP if we have high loses/delay spikes ?

No. The idea of UDP is to drop fast and early. If the link is instable, you face much more issues with TCP, like its windows and maintaining its connection at all. Here, the question is, why a Opus Codec in Asterisk is affected by that loses so much.





More information about the asterisk-dev mailing list