diff --git a/third-party/pjproject/patches/0040-183_without_to_tag.patch b/third-party/pjproject/patches/0040-183_without_to_tag.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e8692fe1b10f49b38a1516deef65cdf1492f1ba8
--- /dev/null
+++ b/third-party/pjproject/patches/0040-183_without_to_tag.patch
@@ -0,0 +1,17 @@
+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);