with global codec:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMA,PCMU,G729,G723"/>
here is invite and 183 progress message:
Session Initiation Protocol (INVITE)
Request-Line: INVITE sip: SIP/2.0
Message Body
Session Description Protocol
Media Description, name and address (m): audio 20268 RTP/AVP 18 8 0 101 13
Media Attribute (a): rtpmap:18 G729/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:101 telephone-event/8000
Media Attribute (a): fmtp:101 0-16
Media Attribute (a): rtpmap:13 CN/8000
Media Attribute (a): ptime:20
Session Initiation Protocol (183)
Status-Line: SIP/2.0 183 Session Progress
Message Body
Session Description Protocol
Media Description, name and address (m): audio 59852 RTP/AVP 18 0 8 101
Media Attribute (a): rtpmap:18 G729/8000
Media Attribute (a): fmtp:18 annexb=no
Media Attribute (a): rtpmap:0 PCMU/8000
Media Attribute (a): rtpmap:8 PCMA/8000
Media Attribute (a): rtpmap:101 telephone-event/8000
Media Attribute (a): fmtp:101 0-15
Media Attribute (a): sendrecv
Media Attribute (a): maxptime:20
After that I get error message:
2016-07-13 11:29:11.136011 [ERR] mod_g729.c:102 This codec is only usable in passthrough mode!
2016-07-13 11:29:11.136011 [ERR] switch_core_io.c:1434 Codec G.729 encoder error!
and freeswitch sends CANCEL to B-side leg.
Maybe I have missed my settings, but if codecs "mismatch" shouldn't freeswitch choose g711 a/u and not try to "transcode" the codec?