Stasis/WebRTC - Poor softmix quality with Opus conference callers

We’re using Asterisk 17.9.0, running a STASIS application which makes intensive use of bridges to provide audio conferencing for connected PSTN and web clients. The latter are using the opus/48000/2 codec. We’re experiencing poor audio quality particularly when more than three or four VoIP callers are connected in ‘softmix’ mode. Some callers are affected much worse than others by stream breakup. When the same users are connected in ‘simple_bridge’ mode to another caller, there is no breakup. Our assumption is that something is going wrong in the mix, and we’re looking to understand and fix the issue.

We have installed the Opus codec and its dependencies, and we’re using the following custom configuration in codecs.conf:

[zinger_opus]
type=opus
fec=1
signal=voice

We accepted the other defaults, as they seem reasonable. The client audio constraints are simply:

minptime=10;stereo=0;maxaveragebitrate=480000;

We’re using Kamailio and RTPEngine to proxy SIP and RTP traffic, but we’re doing no codec translation - simply proxying.

Under normal circumstances we can mix dozens of ALAW/ULAW streams. Does anyone have any idea why we might be having problems with Opus?

Thank you.

Fixed by the application of a jitterbuffer to the channels.