]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6886 #resolve
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 2 Oct 2014 16:30:13 +0000 (11:30 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 2 Oct 2014 16:30:13 +0000 (11:30 -0500)
src/mod/endpoints/mod_sofia/sofia.c

index dcf485de729d0a8081eca382990d55ac9ae5b20e..47ed827b07267b5c542c26f2298204177b3744f5 100644 (file)
@@ -6893,6 +6893,13 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
                                }
 
                                if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) {
+                                       if ((sofia_test_media_flag(profile, SCMF_DISABLE_HOLD)
+                                                || ((var = switch_channel_get_variable(channel, "rtp_disable_hold")) && switch_true(var)))
+                                               && ((switch_stristr("sendonly", r_sdp) || switch_stristr("0.0.0.0", r_sdp)))) {
+                                               nua_respond(tech_pvt->nh, SIP_200_OK, TAG_END());
+                                               goto done;
+                                       }
+                                       
                                        if (switch_core_session_get_partner(session, &other_session) == SWITCH_STATUS_SUCCESS) {
                                                switch_core_session_message_t *msg;
                                                private_object_t *other_tech_pvt;