From 43733a6166828e2dd24aa54a7ed36d737c95ef50 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 2 Oct 2014 15:48:29 -0500 Subject: [PATCH] FS-6886 #comment addition of ignoring unhold as well --- src/mod/endpoints/mod_sofia/sofia.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 47ed827b07..01230c4029 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -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; }