diff --git a/contrib/src/pjproject/package.json b/contrib/src/pjproject/package.json
index 6d2a00c88f62ab3f7422e621fff6e4d104072e9a..3144fc3bdca8cdb9a779390b3fe4cafce7e4e0ae 100644
--- a/contrib/src/pjproject/package.json
+++ b/contrib/src/pjproject/package.json
@@ -19,7 +19,8 @@
         "fix_turn_connection_failure.patch",
         "disable_local_resolution.patch",
         "fix_assert_on_connection_attempt.patch",
-        "keep_alive.patch"
+        "keep_alive.patch",
+        "sip_td_timeout.patch"
     ],
     "win_patches": [
         "win32_vs_gnutls.patch",
diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak
index 8b432bee0533b7f1068ba9d9d775efbf7b7f20d2..08e01c4dc48c422acdb9950c5eea0617df0400d9 100644
--- a/contrib/src/pjproject/rules.mak
+++ b/contrib/src/pjproject/rules.mak
@@ -72,6 +72,7 @@ endif
 	$(APPLY) $(SRC)/pjproject/disable_local_resolution.patch
 	$(APPLY) $(SRC)/pjproject/fix_assert_on_connection_attempt.patch
 	$(APPLY) $(SRC)/pjproject/keep_alive.patch
+	$(APPLY) $(SRC)/pjproject/sip_td_timeout.patch
 	$(UPDATE_AUTOCONFIG)
 	$(MOVE)
 
diff --git a/contrib/src/pjproject/sip_td_timeout.patch b/contrib/src/pjproject/sip_td_timeout.patch
new file mode 100644
index 0000000000000000000000000000000000000000..4005d8a63900602188bcbf6ad189b1dc5629ff61
--- /dev/null
+++ b/contrib/src/pjproject/sip_td_timeout.patch
@@ -0,0 +1,15 @@
+ pjsip/include/pjsip/sip_config.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pjsip/include/pjsip/sip_config.h b/pjsip/include/pjsip/sip_config.h
+index 904df24e..0831e4ef 100644
+--- a/pjsip/include/pjsip/sip_config.h
++++ b/pjsip/include/pjsip/sip_config.h
+@@ -1054,7 +1054,7 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void)
+
+ /** Transaction completed timer for INVITE */
+ #if !defined(PJSIP_TD_TIMEOUT)
+-#  define PJSIP_TD_TIMEOUT	32000
++#  define PJSIP_TD_TIMEOUT	15000
+ #endif
+