]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3214 try this patch too
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 9 Jun 2011 15:22:40 +0000 (10:22 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 9 Jun 2011 15:22:40 +0000 (10:22 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.h
src/mod/endpoints/mod_sofia/sofia.c
src/mod/endpoints/mod_sofia/sofia_glue.c

index ed57e81e1e2b3352759811d774562bd856253752..b99616707478c1080d4f3ac85e76f7a4ff6a6fbb 100644 (file)
@@ -295,6 +295,7 @@ typedef enum {
        TFLAG_NOTIMER_DURING_BRIDGE,
        TFLAG_JB_PAUSED,
        TFLAG_3PCC_INVITE,
+       TFLAG_NOREPLY,
        /* No new flags below this line */
        TFLAG_MAX
 } TFLAGS;
index c5efbf63bbb8c77704c757b0442cb03a1fa6a92b..734fa4f6d0e070c2b51eae31786baa3274d0cd26 100644 (file)
@@ -5244,8 +5244,8 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
                                        if (tech_pvt->num_codecs) {
                                                match = sofia_glue_negotiate_sdp(session, r_sdp);
                                        }
-
-                                       if (match && switch_channel_test_app_flag_key("T38", tech_pvt->channel, CF_APP_T38)) {
+                                       
+                                       if (match && sofia_test_flag(tech_pvt, TFLAG_NOREPLY)) {
                                                goto done;
                                        }
 
index a0f71a946612d288315f0d0c04c078014085decf..dba65d2aacce8fb4afd4dd60db3acf2572baae93 100644 (file)
@@ -4389,6 +4389,10 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, const char *r_s
 
                if (got_udptl && m->m_type == sdp_media_image && m->m_port) {
                        switch_t38_options_t *t38_options = tech_process_udptl(tech_pvt, sdp, m);
+
+                       if (switch_channel_test_app_flag_key("T38", tech_pvt->channel, CF_APP_T38)) {
+                               sofia_set_flag(tech_pvt, TFLAG_NOREPLY);
+                       }
                        
                        if (switch_true(switch_channel_get_variable(channel, "refuse_t38"))) {
                                switch_channel_clear_app_flag_key("T38", tech_pvt->channel, CF_APP_T38);