From 3d3a8f67ce572bbc57b99b328df36e6b2efb5d26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Mon, 5 Dec 2022 16:33:45 -0500
Subject: [PATCH] pjproject: disable PJ_ACTIVESOCK_TCP_IPHONE_OS_BG on iOS 16

Source: https://trac.pjsip.org/repos/wiki/Getting-Started/iPhone#Commonproblems

kCFStreamNetworkServiceTypeVoIP is not supported anymore for iOS
and will cause crash on iOS 16.0.

Change-Id: I75ed0b1bfb1f7b89fe5dbf9c1e1baf0089fad7b3
---
 contrib/src/pjproject/0004-ios-16.patch | 20 ++++++++++++++++++++
 contrib/src/pjproject/rules.mak         |  1 +
 2 files changed, 21 insertions(+)
 create mode 100644 contrib/src/pjproject/0004-ios-16.patch

diff --git a/contrib/src/pjproject/0004-ios-16.patch b/contrib/src/pjproject/0004-ios-16.patch
new file mode 100644
index 0000000000..5fe662980e
--- /dev/null
+++ b/contrib/src/pjproject/0004-ios-16.patch
@@ -0,0 +1,20 @@
+ pjlib/include/pj/compat/os_auto.h.in | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/pjlib/include/pj/compat/os_auto.h.in b/pjlib/include/pj/compat/os_auto.h.in
+index 10e08f0bd..dd5e642ea 100644
+--- a/pjlib/include/pj/compat/os_auto.h.in
++++ b/pjlib/include/pj/compat/os_auto.h.in
+@@ -199,7 +199,11 @@
+  	    /* Is multitasking support available?  (see ticket #1107) */
+ #	    define PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT 	1
+ 	    /* Enable activesock TCP background mode support */
+-#	    define PJ_ACTIVESOCK_TCP_IPHONE_OS_BG		1
++#         ifdef __IPHONE_16_0
++#	        define PJ_ACTIVESOCK_TCP_IPHONE_OS_BG		0
++#         else
++#	        define PJ_ACTIVESOCK_TCP_IPHONE_OS_BG		1
++#	endif
+ #	endif
+ #    endif
+ #endif
diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak
index ac11793ed2..c8e82a70de 100644
--- a/contrib/src/pjproject/rules.mak
+++ b/contrib/src/pjproject/rules.mak
@@ -51,6 +51,7 @@ ifdef HAVE_ANDROID
 endif
 ifdef HAVE_IOS
 	$(APPLY) $(SRC)/pjproject/0003-disable-ios-pointtopoint.patch
+	$(APPLY) $(SRC)/pjproject/0004-ios-16.patch
 endif
 	$(UPDATE_AUTOCONFIG)
 	$(MOVE)
-- 
GitLab