I'm having media problems with a FS here. UAs are sending mixed capabilites all the time and i wanna gracefully degradate on them.

This is what i have in vars.xml:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=G729,GSM,CODEC2"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMA,G729"/>

This is in external.xml:
<param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
<param name="outbound-codec-prefs" value="G729"/>
<param name="inbound-late-negotiation" value="false"/>
<param name="disable-transcoding" value="false"/>
<param name="inbound-proxy-media" value="true"/>
    
 I need to make sure that when a UA dials in, the A-leg is negotiated between g729 and gsm(and codec2) and the call is then transcoded to the B-leg if it's not G729 instead of just resending the SDP directly to the gateways.
I've tried disabling and enabling proxy-media, late-negotiation and disable-transcoding along with passing the strict codec_string and absolute_codec_string.

Point me on what i'm failing to apprehend here.