]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3664 found the place I was talking about in sofia_glue.c, update to latest and...
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 9 Nov 2011 16:29:42 +0000 (10:29 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 9 Nov 2011 16:29:42 +0000 (10:29 -0600)
src/mod/endpoints/mod_sofia/sofia_glue.c

index 058214805606b154d852315d1722c1bceee524fd..1785f5a9f76b2e137067b327b0a92dfb669d4ade 100644 (file)
@@ -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)) {