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++;
}
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)) {