diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 5533ae146c..3780886287 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -1924,6 +1924,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi switch_channel_set_flag(channel, CF_REQ_MEDIA); } sofia_set_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); + switch_channel_set_variable(channel, "sip_require_timer", "false"); sofia_glue_do_invite(session); } else { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s Request to send IMAGE on channel with not t38 options.\n", diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 09b599cfbb..e2607a5e5a 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -2057,7 +2057,7 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) char *mp = NULL, *mp_type = NULL; char *record_route = NULL; const char *recover_via = NULL; - int require_timer = 0; + int require_timer = 1; if (sofia_test_flag(tech_pvt, TFLAG_RECOVERING)) { @@ -2089,8 +2089,8 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) } - if ((val = switch_channel_get_variable(channel, "sip_require_timer")) && switch_true(val)) { - require_timer = 1; + if ((val = switch_channel_get_variable_dup(channel, "sip_require_timer", SWITCH_FALSE, -1)) && switch_false(val)) { + require_timer = 0; }