diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 0f3d478f69..d1cdb2068c 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -1210,7 +1210,7 @@ static void our_sofia_event_callback(nua_event_t event, break; case nua_i_invite: if (session && sofia_private) { - if (sofia_private->is_call > 1) { + if (sofia_private->is_call > 1 || switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) { sofia_handle_sip_i_reinvite(session, nua, profile, nh, sofia_private, sip, de, tags); } else { sofia_private->is_call++; diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 464af9410b..4c0ae8de1f 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -2526,7 +2526,7 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) } memset(sofia_private, 0, sizeof(*sofia_private)); - sofia_private->is_call++; + sofia_private->is_call = 2; sofia_private->is_static++; if (switch_channel_test_flag(tech_pvt->channel, CF_RECOVERING)) {