]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6886 #comment addition of ignoring unhold as well
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 2 Oct 2014 20:48:29 +0000 (15:48 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 2 Oct 2014 20:48:29 +0000 (15:48 -0500)
src/mod/endpoints/mod_sofia/sofia.c

index 47ed827b07267b5c542c26f2298204177b3744f5..01230c4029b106b082c5b95d906b4cdf5054ffc1 100644 (file)
@@ -6895,8 +6895,15 @@ 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)))) {
+                                               && ((switch_stristr("sendonly", r_sdp) || switch_stristr("0.0.0.0", r_sdp)) || tech_pvt->mparams.hold_laps)) {
                                                nua_respond(tech_pvt->nh, SIP_200_OK, TAG_END());
+
+                                               if (tech_pvt->mparams.hold_laps) {
+                                                       tech_pvt->mparams.hold_laps = 0;
+                                               } else {
+                                                       tech_pvt->mparams.hold_laps = 1;
+                                               }
+
                                                goto done;
                                        }