From b720d9216735900269afba3e3e6b3376faad579e Mon Sep 17 00:00:00 2001 From: Brian West Date: Fri, 2 Dec 2016 11:50:42 -0600 Subject: [PATCH] FS-9765 one tweak from submitted patch to use switch_channel_var_true instead of switch_channel_get_variable no need to allocate on every hold/unhold just to check if this is enabled. --- src/mod/endpoints/mod_sofia/sofia.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index b1e7b9e770..eb549856f5 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -7602,10 +7602,13 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, goto done; } - - switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, + if (switch_channel_var_true(channel, "sip_unhold_nosdp")) { + switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, "sendrecv", + zstr(tech_pvt->mparams.local_sdp_str) || !switch_channel_test_flag(channel, CF_PROXY_MODE)); + } else { + switch_core_media_gen_local_sdp(session, SDP_TYPE_RESPONSE, NULL, 0, NULL, zstr(tech_pvt->mparams.local_sdp_str) || !switch_channel_test_flag(channel, CF_PROXY_MODE)); - + } if (zstr(tech_pvt->mparams.local_sdp_str)) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Cannot find a SDP\n");