* #27232: jni: added pjproject checkout as regular git content

We will remove it once the next release of pjsip (with Android support)
comes out and is merged into SFLphone.
diff --git a/jni/pjproject-android/pjlib/include/pj/config_site_sample.h b/jni/pjproject-android/pjlib/include/pj/config_site_sample.h
new file mode 100644
index 0000000..c48ea8e
--- /dev/null
+++ b/jni/pjproject-android/pjlib/include/pj/config_site_sample.h
@@ -0,0 +1,485 @@
+/*
+ * This file contains several sample settings especially for Windows
+ * Mobile and Symbian targets. You can include this file in your
+ * <pj/config_site.h> file.
+ *
+ * The Windows Mobile and Symbian settings will be activated
+ * automatically if you include this file.
+ *
+ * In addition, you may specify one of these macros (before including
+ * this file) to activate additional settings:
+ *
+ * #define PJ_CONFIG_NOKIA_APS_DIRECT
+ *   Use this macro to activate the APS-Direct feature. Please see
+ *   http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for more 
+ *   info.
+ *
+ * #define PJ_CONFIG_WIN32_WMME_DIRECT
+ *   Configuration to activate "APS-Direct" media mode on Windows or
+ *   Windows Mobile, useful for testing purposes only.
+ */
+
+
+/*
+ * Typical configuration for WinCE target.
+ */
+#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
+
+    /*
+     * PJLIB settings.
+     */
+
+    /* Disable floating point support */
+    #define PJ_HAS_FLOATING_POINT		0
+
+    /*
+     * PJMEDIA settings
+     */
+
+    /* Select codecs to disable */
+    #define PJMEDIA_HAS_L16_CODEC		0
+    #define PJMEDIA_HAS_ILBC_CODEC		0
+
+    /* We probably need more buffers on WM, so increase the limit */
+    #define PJMEDIA_SOUND_BUFFER_COUNT		32
+
+    /* Fine tune Speex's default settings for best performance/quality */
+    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY	5
+
+    /* For CPU reason, disable speex AEC and use the echo suppressor. */
+    #define PJMEDIA_HAS_SPEEX_AEC		0
+
+    /* Previously, resampling is disabled due to performance reason and
+     * this condition prevented some 'light' wideband codecs (e.g: G722.1)
+     * to work along with narrowband codecs. Lately, some tests showed
+     * that 16kHz <-> 8kHz resampling using libresample small filter was 
+     * affordable on ARM9 260 MHz, so here we decided to enable resampling.
+     * Note that it is important to make sure that libresample is created
+     * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must
+     * be set to 3 or 4 so pjsua-lib will apply small filter resampling.
+     */
+    //#define PJMEDIA_RESAMPLE_IMP		PJMEDIA_RESAMPLE_NONE
+    #define PJMEDIA_RESAMPLE_IMP		PJMEDIA_RESAMPLE_LIBRESAMPLE
+
+    /* Use the lighter WSOLA implementation */
+    #define PJMEDIA_WSOLA_IMP			PJMEDIA_WSOLA_IMP_WSOLA_LITE
+
+    /*
+     * PJSIP settings.
+     */
+
+    /* Set maximum number of dialog/transaction/calls to minimum to reduce
+     * memory usage 
+     */
+    #define PJSIP_MAX_TSX_COUNT 		31
+    #define PJSIP_MAX_DIALOG_COUNT 		31
+    #define PJSUA_MAX_CALLS			4
+
+    /*
+     * PJSUA settings
+     */
+
+    /* Default codec quality, previously was set to 5, however it is now
+     * set to 4 to make sure pjsua instantiates resampler with small filter.
+     */
+    #define PJSUA_DEFAULT_CODEC_QUALITY		4
+
+    /* Set maximum number of objects to minimum to reduce memory usage */
+    #define PJSUA_MAX_ACC			4
+    #define PJSUA_MAX_PLAYERS			4
+    #define PJSUA_MAX_RECORDERS			4
+    #define PJSUA_MAX_CONF_PORTS		(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
+    #define PJSUA_MAX_BUDDIES			32
+
+#endif	/* PJ_WIN32_WINCE */
+
+
+/*
+ * Typical configuration for Symbian OS target
+ */
+#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
+
+    /*
+     * PJLIB settings.
+     */
+
+    /* Disable floating point support */
+    #define PJ_HAS_FLOATING_POINT		0
+
+    /* Misc PJLIB setting */
+    #define PJ_MAXPATH				80
+
+    /* This is important for Symbian. Symbian lacks vsnprintf(), so
+     * if the log buffer is not long enough it's possible that
+     * large incoming packet will corrupt memory when the log tries
+     * to log the packet.
+     */
+    #define PJ_LOG_MAX_SIZE			(PJSIP_MAX_PKT_LEN+500)
+
+    /* Since we don't have threads, log buffer can use static buffer
+     * rather than stack
+     */
+    #define PJ_LOG_USE_STACK_BUFFER		0
+
+    /* Disable check stack since it increases footprint */
+    #define PJ_OS_HAS_CHECK_STACK		0
+
+
+    /*
+     * PJMEDIA settings
+     */
+
+    /* Disable non-Symbian audio devices */
+    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO	0
+    #define PJMEDIA_AUDIO_DEV_HAS_WMME		0
+
+    /* Select codecs to disable */
+    #define PJMEDIA_HAS_L16_CODEC		0
+    #define PJMEDIA_HAS_ILBC_CODEC		0
+    #define PJMEDIA_HAS_G722_CODEC		0
+
+    /* Fine tune Speex's default settings for best performance/quality */
+    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY	5
+
+    /* For CPU reason, disable speex AEC and use the echo suppressor. */
+    #define PJMEDIA_HAS_SPEEX_AEC		0
+
+    /* Previously, resampling is disabled due to performance reason and
+     * this condition prevented some 'light' wideband codecs (e.g: G722.1)
+     * to work along with narrowband codecs. Lately, some tests showed
+     * that 16kHz <-> 8kHz resampling using libresample small filter was 
+     * affordable on ARM9 222 MHz, so here we decided to enable resampling.
+     * Note that it is important to make sure that libresample is created
+     * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must
+     * be set to 3 or 4 so pjsua-lib will apply small filter resampling.
+     */
+    //#define PJMEDIA_RESAMPLE_IMP		PJMEDIA_RESAMPLE_NONE
+    #define PJMEDIA_RESAMPLE_IMP		PJMEDIA_RESAMPLE_LIBRESAMPLE
+
+    /* Use the lighter WSOLA implementation */
+    #define PJMEDIA_WSOLA_IMP			PJMEDIA_WSOLA_IMP_WSOLA_LITE
+
+    /* We probably need more buffers especially if MDA audio backend 
+     * is used, so increase the limit 
+     */
+    #define PJMEDIA_SOUND_BUFFER_COUNT		32
+
+    /*
+     * PJSIP settings.
+     */
+
+    /* Disable safe module access, since we don't use multithreading */
+    #define PJSIP_SAFE_MODULE			0
+
+    /* Use large enough packet size  */
+    #define PJSIP_MAX_PKT_LEN			2000
+
+    /* Symbian has problem with too many large blocks */
+    #define PJSIP_POOL_LEN_ENDPT		1000
+    #define PJSIP_POOL_INC_ENDPT		1000
+    #define PJSIP_POOL_RDATA_LEN		2000
+    #define PJSIP_POOL_RDATA_INC		2000
+    #define PJSIP_POOL_LEN_TDATA		2000
+    #define PJSIP_POOL_INC_TDATA		512
+    #define PJSIP_POOL_LEN_UA			2000
+    #define PJSIP_POOL_INC_UA			1000
+    #define PJSIP_POOL_TSX_LAYER_LEN		256
+    #define PJSIP_POOL_TSX_LAYER_INC		256
+    #define PJSIP_POOL_TSX_LEN			512
+    #define PJSIP_POOL_TSX_INC			128
+
+    /*
+     * PJSUA settings.
+     */
+
+    /* Default codec quality, previously was set to 5, however it is now
+     * set to 4 to make sure pjsua instantiates resampler with small filter.
+     */
+    #define PJSUA_DEFAULT_CODEC_QUALITY		4
+
+    /* Set maximum number of dialog/transaction/calls to minimum */
+    #define PJSIP_MAX_TSX_COUNT 		31
+    #define PJSIP_MAX_DIALOG_COUNT 		31
+    #define PJSUA_MAX_CALLS			4
+
+    /* Other pjsua settings */
+    #define PJSUA_MAX_ACC			4
+    #define PJSUA_MAX_PLAYERS			4
+    #define PJSUA_MAX_RECORDERS			4
+    #define PJSUA_MAX_CONF_PORTS		(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
+    #define PJSUA_MAX_BUDDIES			32
+#endif
+
+
+/*
+ * Additional configuration to activate APS-Direct feature for
+ * Nokia S60 target
+ *
+ * Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct
+ */
+#ifdef PJ_CONFIG_NOKIA_APS_DIRECT
+
+    /* MUST use switchboard rather than the conference bridge */
+    #define PJMEDIA_CONF_USE_SWITCH_BOARD	1
+
+    /* Enable APS sound device backend and disable MDA & VAS */
+    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA	0
+    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS	1
+    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS	0
+
+    /* Enable passthrough codec framework */
+    #define PJMEDIA_HAS_PASSTHROUGH_CODECS	1
+
+    /* And selectively enable which codecs are supported by the handset */
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC	1
+
+#endif
+
+
+/*
+ * Additional configuration to activate VAS-Direct feature for
+ * Nokia S60 target
+ *
+ * Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct
+ */
+#ifdef PJ_CONFIG_NOKIA_VAS_DIRECT
+
+    /* MUST use switchboard rather than the conference bridge */
+    #define PJMEDIA_CONF_USE_SWITCH_BOARD	1
+
+    /* Enable VAS sound device backend and disable MDA & APS */
+    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA	0
+    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS	0
+    #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS	1
+
+    /* Enable passthrough codec framework */
+    #define PJMEDIA_HAS_PASSTHROUGH_CODECS	1
+
+    /* And selectively enable which codecs are supported by the handset */
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC	1
+
+#endif
+
+
+/*
+ * Configuration to activate "APS-Direct" media mode on Windows,
+ * useful for testing purposes only.
+ */
+#ifdef PJ_CONFIG_WIN32_WMME_DIRECT
+
+    /* MUST use switchboard rather than the conference bridge */
+    #define PJMEDIA_CONF_USE_SWITCH_BOARD	1
+
+    /* Only WMME supports the "direct" feature */
+    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO	0
+    #define PJMEDIA_AUDIO_DEV_HAS_WMME		1
+
+    /* Enable passthrough codec framework */
+    #define PJMEDIA_HAS_PASSTHROUGH_CODECS	1
+
+    /* Only PCMA and PCMU are supported by WMME-direct */
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA	1
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR	0
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729	0
+    #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC	0
+
+#endif
+
+/*
+ * iPhone sample settings.
+ */
+#if PJ_CONFIG_IPHONE
+    /*
+     * PJLIB settings.
+     */
+
+    /* Both armv6 and armv7 has FP hardware support.
+     * See https://trac.pjsip.org/repos/ticket/1589 for more info
+     */
+    #define PJ_HAS_FLOATING_POINT		1
+
+    /*
+     * PJMEDIA settings
+     */
+
+    /* We have our own native CoreAudio backend */
+    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO	0
+    #define PJMEDIA_AUDIO_DEV_HAS_WMME		0
+    #define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO	1
+
+    /* The CoreAudio backend has built-in echo canceller! */
+    #define PJMEDIA_HAS_SPEEX_AEC    0
+
+    /* Disable some codecs */
+    #define PJMEDIA_HAS_L16_CODEC		0
+    #define PJMEDIA_HAS_G722_CODEC		0
+
+    /* Use the built-in CoreAudio's iLBC codec (yay!) */
+    #define PJMEDIA_HAS_ILBC_CODEC		1
+    #define PJMEDIA_ILBC_CODEC_USE_COREAUDIO	1
+
+    /* Fine tune Speex's default settings for best performance/quality */
+    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY	5
+
+    /*
+     * PJSIP settings.
+     */
+
+    /* Increase allowable packet size, just in case */
+    //#define PJSIP_MAX_PKT_LEN			2000
+
+    /*
+     * PJSUA settings.
+     */
+
+    /* Default codec quality, previously was set to 5, however it is now
+     * set to 4 to make sure pjsua instantiates resampler with small filter.
+     */
+    #define PJSUA_DEFAULT_CODEC_QUALITY		4
+
+    /* Set maximum number of dialog/transaction/calls to minimum */
+    #define PJSIP_MAX_TSX_COUNT 		31
+    #define PJSIP_MAX_DIALOG_COUNT 		31
+    #define PJSUA_MAX_CALLS			4
+
+    /* Other pjsua settings */
+    #define PJSUA_MAX_ACC			4
+    #define PJSUA_MAX_PLAYERS			4
+    #define PJSUA_MAX_RECORDERS			4
+    #define PJSUA_MAX_CONF_PORTS		(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
+    #define PJSUA_MAX_BUDDIES			32
+
+#endif
+
+/*
+ * Android sample settings.
+ */
+#if PJ_CONFIG_ANDROID
+
+    #define PJ_ANDROID                          1
+
+    /*
+     * PJLIB settings.
+     */
+
+    /* Disable floating point support */
+    #undef PJ_HAS_FLOATING_POINT
+    #define PJ_HAS_FLOATING_POINT		0
+
+    /*
+     * PJMEDIA settings
+     */
+
+    /* We have our own OpenSL ES backend */
+    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO	0
+    #define PJMEDIA_AUDIO_DEV_HAS_WMME		0
+    #define PJMEDIA_AUDIO_DEV_HAS_OPENSL        1
+    #define PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI	0
+
+    /* Disable some codecs */
+    #define PJMEDIA_HAS_L16_CODEC		0
+    #define PJMEDIA_HAS_G722_CODEC		0
+
+    /* Fine tune Speex's default settings for best performance/quality */
+    #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY	5
+
+    /*
+     * PJSIP settings.
+     */
+
+    /* Increase allowable packet size, just in case */
+    //#define PJSIP_MAX_PKT_LEN			2000
+
+    /*
+     * PJSUA settings.
+     */
+
+    /* Default codec quality, previously was set to 5, however it is now
+     * set to 4 to make sure pjsua instantiates resampler with small filter.
+     */
+    #define PJSUA_DEFAULT_CODEC_QUALITY		4
+
+    /* Set maximum number of dialog/transaction/calls to minimum */
+    #define PJSIP_MAX_TSX_COUNT 		31
+    #define PJSIP_MAX_DIALOG_COUNT 		31
+    #define PJSUA_MAX_CALLS			4
+
+    /* Other pjsua settings */
+    #define PJSUA_MAX_ACC			4
+    #define PJSUA_MAX_PLAYERS			4
+    #define PJSUA_MAX_RECORDERS			4
+    #define PJSUA_MAX_CONF_PORTS		(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
+    #define PJSUA_MAX_BUDDIES			32
+#endif
+
+
+/*
+ * BB10
+ */
+#if defined(PJ_CONFIG_BB10) && PJ_CONFIG_BB10
+    /* Quality 3 - 4 to use resampling small filter */
+    #define PJSUA_DEFAULT_CODEC_QUALITY			4
+    #define PJMEDIA_HAS_LEGACY_SOUND_API		0
+    #undef PJMEDIA_HAS_SPEEX_AEC
+    #define PJMEDIA_HAS_SPEEX_AEC			0
+    #undef PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO
+    #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO		0
+#endif
+
+
+/*
+ * Minimum size
+ */
+#ifdef PJ_CONFIG_MINIMAL_SIZE
+
+#   undef PJ_OS_HAS_CHECK_STACK
+#   define PJ_OS_HAS_CHECK_STACK	0
+#   define PJ_LOG_MAX_LEVEL		0
+#   define PJ_ENABLE_EXTRA_CHECK	0
+#   define PJ_HAS_ERROR_STRING		0
+#   undef PJ_IOQUEUE_MAX_HANDLES
+/* Putting max handles to lower than 32 will make pj_fd_set_t size smaller
+ * than native fdset_t and will trigger assertion on sock_select.c.
+ */
+#   define PJ_IOQUEUE_MAX_HANDLES	32
+#   define PJ_CRC32_HAS_TABLES		0
+#   define PJSIP_MAX_TSX_COUNT		15
+#   define PJSIP_MAX_DIALOG_COUNT	15
+#   define PJSIP_UDP_SO_SNDBUF_SIZE	4000
+#   define PJSIP_UDP_SO_RCVBUF_SIZE	4000
+#   define PJMEDIA_HAS_ALAW_ULAW_TABLE	0
+
+#elif defined(PJ_CONFIG_MAXIMUM_SPEED)
+#   define PJ_SCANNER_USE_BITWISE	0
+#   undef PJ_OS_HAS_CHECK_STACK
+#   define PJ_OS_HAS_CHECK_STACK	0
+#   define PJ_LOG_MAX_LEVEL		3
+#   define PJ_ENABLE_EXTRA_CHECK	0
+#   define PJ_IOQUEUE_MAX_HANDLES	5000
+#   define PJSIP_MAX_TSX_COUNT		((640*1024)-1)
+#   define PJSIP_MAX_DIALOG_COUNT	((640*1024)-1)
+#   define PJSIP_UDP_SO_SNDBUF_SIZE	(24*1024*1024)
+#   define PJSIP_UDP_SO_RCVBUF_SIZE	(24*1024*1024)
+#   define PJ_DEBUG			0
+#   define PJSIP_SAFE_MODULE		0
+#   define PJ_HAS_STRICMP_ALNUM		0
+#   define PJ_HASH_USE_OWN_TOLOWER	1
+#   define PJSIP_UNESCAPE_IN_PLACE	1
+
+#   if defined(PJ_WIN32) || defined(PJ_WIN64) 
+#     define PJSIP_MAX_NET_EVENTS	10
+#   endif
+
+#   define PJSUA_MAX_CALLS		512
+
+#endif
+