diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c index c9686a0..fc52a63 100644 --- a/pjsip/src/pjsip-ua/sip_inv.c +++ b/pjsip/src/pjsip-ua/sip_inv.c @@ -4156,9 +4156,10 @@ static void inv_on_state_calling( pjsip_inv_session *inv, pjsip_event *e) status = pjsip_inv_send_msg(inv, cancel); } - if (dlg->remote.info->tag.slen) { + if (tsx->status_code != 100) { - inv_set_state(inv, PJSIP_INV_STATE_EARLY, e); + if (dlg->remote.info->tag.slen) + inv_set_state(inv, PJSIP_INV_STATE_EARLY, e); inv_check_sdp_in_incoming_msg(inv, tsx, e->body.tsx_state.src.rdata);