Best practices for transcoding OPUS/G711 using freeswitch

freeswitchtranscoding

Can someone share their experience of transcoding OPUS/G711 ans vice versa using Freeswitch? I am getting call quality issues even if there is a single call on the server. I am getting crackling noise and the end of the words.

SIP Clients HAVE to use the OPUS, it is a customers requirements and there is nothing negotiable on this front. However, for troubleshooting purposes, we requested the SIP clients to switch to G711u and all the test calls completed without any quality issues.

I have installed Freeswitch 1.6 on RHEL6 on a Dell PowerEdge R710 with 16 cores and 96GB RAM.

Call Flow:
SIP Client registered to a SIP Server dials a call to a PSTN number using the codec OPUS. SIP server proxy the call to Freeswitch with codec OPUS. Freeswitch terminates the call to SIP provider using G711u. Freeswitch does the transcoding between OPUS and G711u.

Silence Supression is turned off on both legs.
PTIME is 20 on both legs.

OPUS.CONF:
use-vbr=1
complexity=10
keep-fec-enabled=0
maxavgbitrate=0
maxplaybackrate=48000

Any suggestions would be much appreciated.

Best Answer

use opus@8000h@20i with these settings in opus.conf.xml :

<settings>
    <param name="use-vbr" value="1"/>
    <param name="use-dtx" value="0"/>
    <param name="complexity" value="10"/>
    <param name="maxaveragebitrate" value="14400"/>
    <param name="maxplaybackrate" value="8000"/>
    <param name="packet-loss-percent" value="15"/>
    <param name="keep-fec-enabled" value="1"/>
    <param name="use-jb-lookahead" value="1"/>
    <param name="advertise-useinbandfec" value="1"/>
</settings>

which direction do you have the audio issues ? it's important to know if there's a problem on the encoder or on the decoder.

Please file a jira here if you still have issues : https://freeswitch.org/jira/

Related Topic