[asterisk-dev] OPUS horrible quality with packet loss

Alexander Traud pabstraud at compuserve.com
Mon Apr 3 04:51:31 CDT 2017


With Opus Codec, speech frames interdepend. When one RTP packet is lost, several frames are corrupted. Furthermore, when the RTP packet is not lost but just late, Asterisk simply forwards it down to the transcoding modules. Consequently, a late packet corrupts even more frames. 

The Opus Codec is able to cope with all this. It is called native packet-loss concealment (Native-PLC). However, Asterisk has to tell the Opus Codec library that there was loss. In RTP, its sequence number can be used for this. More details in <http://issues.asterisk.org/jira/browse/ASTERISK-25629>.

At <http://github.com/traud/asterisk-opus>, you find a module which uses the PLC of Opus Codec. To enable Asterisk to signal loss/late, you have to apply the <enable_native_plc.patch> there. Please, give it a try and report whether it improves the situation for you.

When that approach is better, someone (you?) has to drive Native-PLC in Asterisk. Or you sponsor a bug bounty so someone drives Native-PLC into Asterisk on your behalf.





More information about the asterisk-dev mailing list