From b91fdf1aeb57b515c6b9ef72ef10e447364272ce Mon Sep 17 00:00:00 2001 From: Tom Oristian Date: Fri, 23 Feb 2024 10:31:55 -0500 Subject: [PATCH 1/3] don't check session-timer setting ( could be accepting UAS session-timer reqmt ) --- src/mod/endpoints/mod_sofia/mod_sofia.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index a3a6cd8e919..f6f03b3132c 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -961,14 +961,14 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session) session_timeout = 0; } - if ((tech_pvt->session_timeout = session_timeout)) { + //if ((tech_pvt->session_timeout = session_timeout)) { tech_pvt->session_refresher = switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND ? nua_local_refresher : nua_remote_refresher; if (sofia_test_pflag(tech_pvt->profile, PFLAG_UPDATE_REFRESHER) || switch_channel_var_true(tech_pvt->channel, "sip_update_refresher")) { tech_pvt->update_refresher = 1; } - } else { - tech_pvt->session_refresher = nua_no_refresher; - } + //} else { + // tech_pvt->session_refresher = nua_no_refresher; + //} if (sofia_use_soa(tech_pvt)) { nua_respond(tech_pvt->nh, SIP_200_OK, From fa624aae33850d7f3edfdabe1a43636730be5c7a Mon Sep 17 00:00:00 2001 From: Tom Oristian Date: Fri, 23 Feb 2024 10:48:17 -0500 Subject: [PATCH 2/3] use session_timeout variable --- src/mod/endpoints/mod_sofia/mod_sofia.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index f6f03b3132c..d10d2081105 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -961,11 +961,11 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session) session_timeout = 0; } - //if ((tech_pvt->session_timeout = session_timeout)) { - tech_pvt->session_refresher = switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND ? nua_local_refresher : nua_remote_refresher; - if (sofia_test_pflag(tech_pvt->profile, PFLAG_UPDATE_REFRESHER) || switch_channel_var_true(tech_pvt->channel, "sip_update_refresher")) { - tech_pvt->update_refresher = 1; - } + tech_pvt->session_timeout = session_timeout; + tech_pvt->session_refresher = switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND ? nua_local_refresher : nua_remote_refresher; + if (sofia_test_pflag(tech_pvt->profile, PFLAG_UPDATE_REFRESHER) || switch_channel_var_true(tech_pvt->channel, "sip_update_refresher")) { + tech_pvt->update_refresher = 1; + } //} else { // tech_pvt->session_refresher = nua_no_refresher; //} From 0e650574cddc7171c8b2d8a452e8ee82968c4bab Mon Sep 17 00:00:00 2001 From: Tom Oristian Date: Fri, 1 Mar 2024 12:41:50 -0500 Subject: [PATCH 3/3] need to change sofia_glue since this is related to invite not respond --- src/mod/endpoints/mod_sofia/sofia_glue.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index d385732ddb1..22ae19bd2b3 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -1639,14 +1639,15 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) sofia_clear_flag(tech_pvt, TFLAG_ENABLE_SOA); } - if ((tech_pvt->session_timeout = session_timeout)) { - tech_pvt->session_refresher = switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND ? nua_local_refresher : nua_remote_refresher; - if (sofia_test_pflag(tech_pvt->profile, PFLAG_UPDATE_REFRESHER) || switch_channel_var_true(tech_pvt->channel, "sip_update_refresher")) { - tech_pvt->update_refresher = 1; - } - } else { - tech_pvt->session_refresher = nua_no_refresher; + + tech_pvt->session_timeout = session_timeout; + tech_pvt->session_refresher = switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND ? nua_local_refresher : nua_remote_refresher; + if (sofia_test_pflag(tech_pvt->profile, PFLAG_UPDATE_REFRESHER) || switch_channel_var_true(tech_pvt->channel, "sip_update_refresher")) { + tech_pvt->update_refresher = 1; } + //} else { + // tech_pvt->session_refresher = nua_no_refresher; + //} switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(tech_pvt->session), SWITCH_LOG_INFO, "%s sending invite call-id: %s\n", switch_channel_get_name(tech_pvt->channel), call_id);