include $(TOPDIR)/rules.mk
PKG_NAME:=pjproject
-PKG_VERSION:=2.13.1
-PKG_RELEASE:=2
+PKG_VERSION:=2.14.1
+PKG_RELEASE:=1
PKG_CPE_ID:=cpe:/a:pjsip:pjsip
# download "vX.Y.tar.gz" as "pjproject-vX.Y.tar.gz"
PKG_SOURCE_URL_FILE:=$(PKG_VERSION).tar.gz
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_URL_FILE)
PKG_SOURCE_URL:=https://github.com/pjsip/$(PKG_NAME)/archive/refs/tags
-PKG_HASH:=32a5ab5bfbb9752cb6a46627e4c410e61939c8dbbd833ac858473cfbd9fb9d7d
+PKG_HASH:=6140f7a97e318caa89c17e8d5468599671c6eed12d64a7c160dac879ba004c68
PKG_INSTALL:=1
PKG_LICENSE:=GPL-2.0
--- a/build/cc-auto.mak.in
+++ b/build/cc-auto.mak.in
-@@ -2,7 +2,7 @@ export CC = @CC@ -c
- export CXX = @CXX@ -c
+@@ -2,7 +2,7 @@ export CC = @CC@
+ export CXX = @CXX@
export AR = @AR@
export AR_FLAGS = @AR_FLAGS@
-export LD = @LD@
--- /dev/null
+++ b/pjlib/include/pj/config_site.h
-@@ -0,0 +1,91 @@
+@@ -0,0 +1,99 @@
+/*
+ * Asterisk config_site.h
+ */
+#define PJ_IOQUEUE_HAS_SAFE_UNREG 1
+#define PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL (16)
+
++/*
++ * Increase the number of socket options available. This adjustment is necessary
++ * to accommodate additional TCP keepalive settings required for optimizing SIP
++ * transport stability, especially in environments prone to connection timeouts.
++ * The default limit is insufficient when configuring all desired keepalive
++ * parameters along with standard socket options.
++ */
++#define PJ_MAX_SOCKOPT_PARAMS 5
++
+#define PJ_SCANNER_USE_BITWISE 0
+#define PJ_OS_HAS_CHECK_STACK 0
+
+ * and subscriptions as well as the global pjproject endpoint,
+ * we don't want to increase it too much.
+ */
-+#define PJSIP_MAX_MODULE 38
Description: Multimedia communication library
--- a/build.mak.in
+++ b/build.mak.in
-@@ -352,6 +352,6 @@ export PJ_LIBXX_FILES := $(APP_LIBXX_FIL
+@@ -351,6 +351,6 @@ export PJ_LIBXX_FILES := $(APP_LIBXX_FIL
export PJ_INSTALL_DIR := @prefix@
export PJ_INSTALL_INC_DIR := @includedir@
export PJ_INSTALL_LIB_DIR := @libdir@
+++ /dev/null
-From ac685b30c17be461b2bf5b46a772ed9742b8e985 Mon Sep 17 00:00:00 2001
-From: Riza Sulistyo <trengginas@users.noreply.github.com>
-Date: Thu, 9 Feb 2023 13:19:23 +0700
-Subject: [PATCH] Make sure that NOTIFY tdata is set before sending it.
-
----
- pjsip/src/pjsip-simple/evsub.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
---- a/pjsip/src/pjsip-simple/evsub.c
-+++ b/pjsip/src/pjsip-simple/evsub.c
-@@ -2224,9 +2224,12 @@ static void on_tsx_state_uas( pjsip_evsu
- /* Send the pending NOTIFY sent by app from inside
- * on_rx_refresh() callback.
- */
-- pj_assert(sub->pending_notify);
-- status = pjsip_evsub_send_request(sub, sub->pending_notify);
-- sub->pending_notify = NULL;
-+ //pj_assert(sub->pending_notify);
-+ /* Make sure that pending_notify is set. */
-+ if (sub->pending_notify) {
-+ status = pjsip_evsub_send_request(sub, sub->pending_notify);
-+ sub->pending_notify = NULL;
-+ }
-
- } else if (pjsip_method_cmp(&tsx->method, &pjsip_notify_method)==0) {
-
+++ /dev/null
---- a/pjsip/src/pjsip/sip_transport.c
-+++ b/pjsip/src/pjsip/sip_transport.c
-@@ -2088,15 +2088,17 @@ PJ_DEF(pj_ssize_t) pjsip_tpmgr_receive_p
- * which were sent to keep NAT bindings.
- */
- if (tmp.slen) {
-- PJ_LOG(1, (THIS_FILE,
-- "Error processing %d bytes packet from %s %s:%d %.*s:\n"
-- "%.*s\n"
-- "-- end of packet.",
-+ PJ_LOG(2, (THIS_FILE,
-+ "Dropping %d bytes packet from %s %s:%d %.*s\n",
- msg_fragment_size,
- rdata->tp_info.transport->type_name,
-- rdata->pkt_info.src_name,
-+ rdata->pkt_info.src_name,
- rdata->pkt_info.src_port,
-- (int)tmp.slen, tmp.ptr,
-+ (int)tmp.slen, tmp.ptr));
-+ PJ_LOG(4, (THIS_FILE,
-+ "Dropped packet:"
-+ "%.*s\n"
-+ "-- end of packet.",
- (int)msg_fragment_size,
- rdata->msg_info.msg_buf));
- }