From 08b25a881508575e20c46aec64257cfa9fb3489d Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 9 Nov 2011 10:29:42 -0600 Subject: [PATCH] FS-3664 found the place I was talking about in sofia_glue.c, update to latest and try setting t38_passthru=once --- src/mod/endpoints/mod_sofia/sofia_glue.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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)) {