From: Anthony Minessale Date: Wed, 9 Nov 2011 16:29:42 +0000 (-0600) Subject: FS-3664 found the place I was talking about in sofia_glue.c, update to latest and... X-Git-Tag: v1.2-rc1~27^2~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08b25a881508575e20c46aec64257cfa9fb3489d;p=thirdparty%2Ffreeswitch.git FS-3664 found the place I was talking about in sofia_glue.c, update to latest and try setting t38_passthru=once --- diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 0582148056..1785f5a9f7 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -4432,14 +4432,18 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, const char *r_s int pass = sofia_test_pflag(tech_pvt->profile, PFLAG_T38_PASSTHRU); if (var) { - pass = switch_true(var); + if (!(pass = switch_true(var))) { + if (!strcasecmp(var, "once")) { + pass = 2; + } + } } - /* can't remember if this is necessary but its causing a bug so i'll leave this comment here to remind me - if (sofia_test_flag(tech_pvt, TFLAG_T38_PASSTHRU)) { + + if (pass == 2 && sofia_test_flag(tech_pvt, TFLAG_T38_PASSTHRU)) { pass = 0; } - */ + if (switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE) || switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MEDIA) || !switch_rtp_ready(tech_pvt->rtp_session)) {