We are running an application that uses Asterisk over the web (browser talks to Janus webrtc gateway which talks to Asterisk using the Opus codec). One of the biggest complaints we get is that audio “isn’t as good as Microsoft Teams or Skype or Slack”, etc.
Specifically - the complaint is from users with bad connections. They pop and crackle and lose packets all the time. However - in Teams/Skype/Slack, the packet loss is handled where words kind of get stretched out. For example… if I say “My name is Matt” … but I’m dropping packets… the audio might sound more like “My naaaaammmme is Matt”. (and the is Matt is played faster). So it seems like their FEC is simply repeating the previous packet if one was lost (that’s my guess anyway).
Back to our Asterisk solution - when I turn on a jitterbuffer and play with various settings for FEC/PLC - they claim they never notice a difference. Audio just pops and crackles and “doesn’t sound as good” as those other apps.
Sorry for the long explanation - but my question is this. I know how to query CHANNEL variables (we are using PJSIP) to get jitter and packet lost stats for a call. However - how do I know that the jitter buffer is actually kicking in… and that FEC had to do some work for this channel, etc. Is there something I can query to see what channels are being affected by jitter buffers and FEC?
Thanks for any pointers on where to look!