Hey Dragos,

Thanks for that, yeah i think the issue is on the client side somehow, i had already tried not negotiating...

Regards,

David Villasmil
phone: +34669448337


On Sat, Dec 18, 2021 at 4:41 AM Dragos Oancea <dragos@freeswitch.org> wrote:
David,

Most likely your mod_opus is configured to respect the remote's fmtp and not the maxaveragebitrate and maxplaybackrate that you configure. You have bitrate-negotiation set to true.
It looks it's going in WB mode if you are sure it starts sending FEC at over 16 kbit/s . 
Value 14400 was chosen as config default only because is one step above 14000 which is one of the LBRR thresholds (Opus's bitrate works in steps of 400 bits/s) and it also provides a good compromis loss/audio quality for NB. 
https://github.com/xiph/opus/blob/master/silk/define.h#L52

/* LBRR thresholds */
#define LBRR_NB_MIN_RATE_BPS 12000
#define LBRR_MB_MIN_RATE_BPS 14000
#define LBRR_WB_MIN_RATE_BPS 16000


FEC threshold in FS is this:
#define SWITCH_OPUS_MIN_FEC_BITRATE 12400 - one step above codec's LBRR threshold for NB. LBRR means Low Bit Rate Redundancy which means FEC. 

Regards,
Dragos




On Sat, Dec 18, 2021 at 3:06 AM David Villasmil <david.villasmil.work@gmail.com> wrote:
Hello all,

i've been testing FEC and how low we can go with maxavgbiterate

<param name="use-vbr" value="1"/>
<param name="use-dtx" value="1"/>
<param name="complexity" value="10"/>
<param name="packet-loss-percent" value="15"/>
<param name="asymmetric-sample-rates" value="1"/>
<param name="bitrate-negotiation" value="1"/>
<param name="keep-fec-enabled" value="1"/>
<param name="use-jb-lookahead" value="true"/>
<param name="maxaveragebitrate" value="14400"/>
<param name="maxplaybackrate" value="8000"/>
<param name="sprop-maxcapturerate" value="0"/>
<param name="adjust-bitrate" value="1"/>

we only see FEC if we set maxavgbiterate to 18000, we see no FEC with 14400

anyone knows what i'm missing?

Regards,

David Villasmil
phone: +34669448337
_________________________________________________________________________

The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.

Join our online community to chat in real time https://signalwire.community

Professional FreeSWITCH Services
sales@freeswitch.com
https://freeswitch.com

Official FreeSWITCH Sites
https://freeswitch.com/oss
https://freeswitch.org/confluence
https://cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
https://freeswitch.com
_________________________________________________________________________

The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.

Join our online community to chat in real time https://signalwire.community

Professional FreeSWITCH Services
sales@freeswitch.com
https://freeswitch.com

Official FreeSWITCH Sites
https://freeswitch.com/oss
https://freeswitch.org/confluence
https://cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
https://freeswitch.com