* #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/build.symbian/00.bat b/jni/pjproject-android/build.symbian/00.bat
new file mode 100644
index 0000000..4d41259
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/00.bat
@@ -0,0 +1,7 @@
+@rem set MWSym2Libraries=1
+@rem set EPOCROOT=\Symbian\9.1\S60_3rd\
+@rem set EPOCROOT=\Symbian\9.1\S60_3rd_MR_2\
+@rem set EPOCROOT=\Symbian\UIQ3SDK\
+@rem set EPOCROOT=\symbian\UIQ3.1\
+@rem set EPOCROOT=\symbian\9.2\S60_3rd_FP1\
+bldmake bldfiles
diff --git a/jni/pjproject-android/build.symbian/01.bat b/jni/pjproject-android/build.symbian/01.bat
new file mode 100644
index 0000000..e670ae6
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/01.bat
@@ -0,0 +1,7 @@
+@rem call abld build -v vs6 udeb
+@rem call abld build -v gcce urel
+@rem call abld build winscw udeb
+call abld build %1 %2 %3 %4
+
+
+
diff --git a/jni/pjproject-android/build.symbian/bld.inf b/jni/pjproject-android/build.symbian/bld.inf
new file mode 100644
index 0000000..f4ce903
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/bld.inf
@@ -0,0 +1,35 @@
+prj_platforms
+winscw
+armv5
+gcce
+
+prj_mmpfiles
+
+/* Libraries */
+pjlib.mmp
+pjlib_util.mmp
+pjnath.mmp
+pjsdp.mmp
+pjmedia.mmp
+pjsip.mmp
+pjsip_simple.mmp
+pjsip_ua.mmp
+pjsua_lib.mmp
+libsrtp.mmp
+
+/* Codecs */
+libgsmcodec.mmp
+libspeexcodec.mmp
+libg7221codec.mmp
+libpassthroughcodec.mmp
+
+/* Resample */
+libresample.mmp
+
+/* Audio device. */
+pjmedia_audiodev.mmp
+
+/* Applications */
+//symsndtest.mmp
+pjlib_test.mmp
+../pjsip-apps/src/pjsua/symbian/group/pjsua.mmp
diff --git a/jni/pjproject-android/build.symbian/libg7221codec.mmp b/jni/pjproject-android/build.symbian/libg7221codec.mmp
new file mode 100644
index 0000000..814fcae
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/libg7221codec.mmp
@@ -0,0 +1,56 @@
+TARGET 		libg7221codec.lib

+TARGETTYPE 	lib

+

+//OPTION		CW -lang c++

+OPTION		GCCE -O2 -fno-unit-at-a-time

+OPTION          ARMCC --gnu

+

+MACRO		PJ_M_I386=1

+MACRO		PJ_SYMBIAN=1

+

+//

+// GSM codec third party source

+//

+

+SOURCEPATH	..\third_party\g7221\common

+

+SOURCE		basic_op.c

+SOURCE		common.c

+SOURCE		huff_tab.c

+SOURCE		tables.c

+

+SOURCEPATH	..\third_party\g7221\decode

+

+SOURCE		coef2sam.c

+SOURCE		dct4_s.c

+SOURCE		decoder.c

+

+SOURCEPATH	..\third_party\g7221\encode

+

+SOURCE		dct4_a.c

+SOURCE		encoder.c

+SOURCE		sam2coef.c

+

+

+//

+// GSM codec wrapper for pjmedia-codec

+//

+

+SOURCEPATH 	..\pjmedia\src\pjmedia-codec

+SOURCE		g7221.c

+

+//

+// Header files

+//

+

+

+SYSTEMINCLUDE	..\pjmedia\include

+SYSTEMINCLUDE	..\pjlib\include 

+SYSTEMINCLUDE	..\third_party

+SYSTEMINCLUDE	..\third_party\g7221\common

+SYSTEMINCLUDE	..\third_party\g7221\decode

+SYSTEMINCLUDE	..\third_party\g7221\encode

+

+SYSTEMINCLUDE	\epoc32\include

+SYSTEMINCLUDE	\epoc32\include\libc

+

diff --git a/jni/pjproject-android/build.symbian/libgsmcodec.mmp b/jni/pjproject-android/build.symbian/libgsmcodec.mmp
new file mode 100644
index 0000000..875555b
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/libgsmcodec.mmp
@@ -0,0 +1,72 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		libgsmcodec.dll
+TARGETTYPE	dll
+UID		0x0 0xA000000F
+
+CAPABILITY	None
+LIBRARY		pjlib.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\libgsmcodec.def
+
+#else
+
+TARGET 		libgsmcodec.lib
+TARGETTYPE 	lib
+
+#endif
+
+//OPTION		CW -lang c++
+OPTION          ARMCC --gnu
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+//
+// GSM codec third party source
+//
+
+SOURCEPATH	..\third_party\gsm\src
+
+SOURCE		add.c
+SOURCE		code.c
+SOURCE		debug.c
+SOURCE		decode.c
+SOURCE		gsm_create.c
+SOURCE		gsm_decode.c
+SOURCE		gsm_destroy.c
+SOURCE		gsm_encode.c
+SOURCE		gsm_explode.c
+SOURCE		gsm_implode.c
+SOURCE		gsm_option.c
+SOURCE		gsm_print.c
+SOURCE		long_term.c
+SOURCE		lpc.c
+SOURCE		preprocess.c
+SOURCE		rpe.c
+SOURCE		short_term.c
+SOURCE		table.c
+
+
+//
+// GSM codec wrapper for pjmedia-codec
+//
+
+SOURCEPATH 	..\pjmedia\src\pjmedia-codec
+SOURCE		gsm.c
+
+//
+// Header files
+//
+
+
+SYSTEMINCLUDE	..\pjmedia\include
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\third_party\build\gsm
+SYSTEMINCLUDE	..\third_party\gsm\inc
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
diff --git a/jni/pjproject-android/build.symbian/libpassthroughcodec.mmp b/jni/pjproject-android/build.symbian/libpassthroughcodec.mmp
new file mode 100644
index 0000000..3a19117
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/libpassthroughcodec.mmp
@@ -0,0 +1,27 @@
+TARGET		libpassthroughcodec.lib
+TARGETTYPE	lib
+
+MACRO		HAVE_CONFIG_H
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+//
+// GCCE optimization setting
+//
+OPTION		GCCE -O2 -fno-unit-at-a-time
+OPTION          ARMCC --gnu
+
+//
+// Passthrough codecs wrapper for pjmedia-codec
+//
+SOURCEPATH 	..\pjmedia\src\pjmedia-codec
+SOURCE		passthrough.c
+
+//
+// Header files
+//
+SYSTEMINCLUDE	..\pjmedia\include
+SYSTEMINCLUDE	..\pjlib\include 
+
+SYSTEMINCLUDE	\epoc32\include 
+SYSTEMINCLUDE	\epoc32\include\libc
diff --git a/jni/pjproject-android/build.symbian/libresample.mmp b/jni/pjproject-android/build.symbian/libresample.mmp
new file mode 100644
index 0000000..0dd074f
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/libresample.mmp
@@ -0,0 +1,26 @@
+TARGET 		libresample.lib

+TARGETTYPE 	lib

+

+SOURCEPATH	..\third_party\resample\src

+

+//

+// GCCE optimization setting

+//

+OPTION		GCCE -O2 -fno-unit-at-a-time

+OPTION          ARMCC --gnu

+

+MACRO		PJ_M_I386=1

+MACRO		PJ_SYMBIAN=1

+

+MACRO       	RESAMPLE_HAS_SMALL_FILTER=1

+MACRO       	RESAMPLE_HAS_LARGE_FILTER=0

+

+SOURCE		resamplesubs.c

+

+SYSTEMINCLUDE	..\third_party\resample\include

+SYSTEMINCLUDE	..\third_party\build\resample

+

+SYSTEMINCLUDE	\epoc32\include

+SYSTEMINCLUDE	\epoc32\include\libc

+

+

diff --git a/jni/pjproject-android/build.symbian/libspeexcodec.mmp b/jni/pjproject-android/build.symbian/libspeexcodec.mmp
new file mode 100644
index 0000000..816d805
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/libspeexcodec.mmp
@@ -0,0 +1,74 @@
+TARGET		libspeexcodec.lib
+TARGETTYPE	lib
+
+MACRO		HAVE_CONFIG_H
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+//
+// GCCE optimization setting
+//
+OPTION		GCCE -O2 -fno-unit-at-a-time
+OPTION          ARMCC --gnu
+
+//
+// Speex files
+//
+SOURCEPATH	..\third_party\speex\libspeex
+
+SOURCE		bits.c
+SOURCE		cb_search.c
+SOURCE		exc_5_64_table.c
+SOURCE		exc_5_256_table.c
+SOURCE		exc_8_128_table.c
+SOURCE		exc_10_16_table.c
+SOURCE		exc_10_32_table.c
+SOURCE		exc_20_32_table.c
+SOURCE		fftwrap.c
+SOURCE		filterbank.c
+SOURCE		filters.c
+SOURCE		gain_table.c
+SOURCE		gain_table_lbr.c
+SOURCE		hexc_10_32_table.c
+SOURCE		hexc_table.c
+SOURCE		high_lsp_tables.c
+SOURCE		kiss_fft.c
+SOURCE		kiss_fftr.c
+SOURCE		lpc.c
+SOURCE		lsp.c
+SOURCE		lsp_tables_nb.c
+SOURCE		ltp.c
+SOURCE		mdf.c
+SOURCE		modes.c
+SOURCE		modes_wb.c
+SOURCE		nb_celp.c
+SOURCE		preprocess.c
+SOURCE		quant_lsp.c
+SOURCE		sb_celp.c
+SOURCE		smallft.c
+SOURCE		speex.c
+SOURCE		speex_callbacks.c
+SOURCE		speex_header.c
+SOURCE		stereo.c
+SOURCE		vbr.c
+SOURCE		vq.c
+SOURCE		window.c
+
+//
+// Speex codec wrapper for pjmedia-codec
+//
+SOURCEPATH 	..\pjmedia\src\pjmedia-codec
+SOURCE		speex_codec.c
+
+//
+// Header files
+//
+SYSTEMINCLUDE	..\third_party\speex\include\speex
+SYSTEMINCLUDE	..\third_party\speex\include
+SYSTEMINCLUDE	..\third_party\speex\symbian
+
+SYSTEMINCLUDE	..\pjmedia\include
+SYSTEMINCLUDE	..\pjlib\include 
+
+SYSTEMINCLUDE	\epoc32\include 
+SYSTEMINCLUDE	\epoc32\include\libc
diff --git a/jni/pjproject-android/build.symbian/libsrtp.mmp b/jni/pjproject-android/build.symbian/libsrtp.mmp
new file mode 100644
index 0000000..4309e6d
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/libsrtp.mmp
@@ -0,0 +1,60 @@
+TARGET		libsrtp.lib
+TARGETTYPE	lib
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+//
+// GCCE optimization setting
+//
+OPTION		GCCE -O2 -fno-unit-at-a-time
+OPTION          ARMCC --gnu
+
+//
+// Speex files
+//
+SOURCEPATH	..\third_party\srtp
+
+SOURCE crypto\ae_xfm\xfm.c
+SOURCE crypto\cipher\aes.c
+SOURCE crypto\cipher\aes_cbc.c
+SOURCE crypto\cipher\aes_icm.c
+SOURCE crypto\cipher\cipher.c
+SOURCE crypto\cipher\null_cipher.c
+SOURCE crypto\hash\auth.c
+SOURCE crypto\hash\hmac.c
+SOURCE crypto\hash\null_auth.c
+SOURCE crypto\hash\sha1.c
+SOURCE crypto\kernel\alloc.c
+SOURCE crypto\kernel\crypto_kernel.c
+//SOURCE crypto\kernel\err.c
+SOURCE crypto\kernel\key.c
+SOURCE crypto\math\datatypes.c
+SOURCE crypto\math\gf2_8.c
+//SOURCE crypto\math\math.c
+SOURCE crypto\math\stat.c
+SOURCE crypto\replay\rdb.c
+SOURCE crypto\replay\rdbx.c
+//SOURCE crypto\replay\ut_sim.c
+SOURCE crypto\rng\ctr_prng.c
+SOURCE crypto\rng\prng.c
+//SOURCE crypto\rng\rand_linux_kernel.c
+SOURCE crypto\rng\rand_source.c
+SOURCE pjlib\srtp_err.c
+SOURCE srtp\srtp.c
+SOURCE tables\aes_tables.c
+
+//SOURCEPATH	..\pjmedia\src\pjmedia
+
+//SOURCE transport_srtp.c
+
+//
+// Header files
+//
+SYSTEMINCLUDE	..\third_party\srtp\include
+SYSTEMINCLUDE	..\third_party\srtp\crypto\include
+SYSTEMINCLUDE	..\third_party\build\srtp
+SYSTEMINCLUDE	..\pjlib\include 
+
+SYSTEMINCLUDE	\epoc32\include 
+SYSTEMINCLUDE	\epoc32\include\libc
diff --git a/jni/pjproject-android/build.symbian/makedef.sh b/jni/pjproject-android/build.symbian/makedef.sh
new file mode 100644
index 0000000..df90992
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/makedef.sh
@@ -0,0 +1,80 @@
+#!/bin/sh

+

+MMP=$1

+if test "$MMP" == ""; then

+	echo "Usage: makedef.sh FILE.MMP"

+	echo "    or makedef.sh all"

+	exit 1

+fi

+

+if test "$MMP" == "all"; then

+	. $0 pjlib.mmp

+	. $0 pjlib_util.mmp

+	. $0 pjnath.mmp

+	. $0 pjmedia.mmp

+	. $0 pjsdp.mmp

+	. $0 pjsip.mmp

+	. $0 pjsip_simple.mmp

+	. $0 pjsip_ua.mmp

+	. $0 pjsua_lib.mmp

+	. $0 symbian_audio.mmp

+	. $0 null_audio.mmp

+	exit 0

+fi

+

+if test -f $MMP; then

+	true

+else

+	echo "Unable to open $MMP"

+	exit 1

+fi

+

+TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`

+DEFFILE="${TARGET}U.def"

+SOURCES=`grep -w '^SOURCE' $MMP | awk '{print $2}' | tr '\\\\' '/'`

+SOURCEPATH=`grep -w '^SOURCEPATH' $MMP | tr '\\\\' '/' | awk '{print $2}'`

+INCPATH=`grep 'INCLUDE' $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`

+INCLUDE=""

+for INC in $INCPATH; do

+	INCLUDE=`echo $INCLUDE -I$INC`

+done

+

+#-- debug --

+#echo TARGET=$TARGET

+#echo SOURCES=$SOURCES

+#echo SOURCEPATH=$SOURCEPATH

+#echo INCLUDE=$INCLUDE

+#-- end --

+

+echo > tmpnames.def

+

+echo "${TARGET}:"

+

+for file in $SOURCES; do

+	#SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`

+	SYMBOLS=`

+		cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |

+       		grep EXPORT_C | 

+		sed 's/(/;/' | 

+		sed 's/=/;/' | 

+		awk -F ';' '{print $1}' | 

+		awk '{print $NF}'`

+	echo Processing ${SOURCEPATH}/$file..

+	for SYM in $SYMBOLS; do

+		echo $SYM >> tmpnames.def

+	done

+done

+

+echo "Writing $DEFFILE"

+echo EXPORTS > $DEFFILE

+i=0

+for SYM in `cat tmpnames.def | sort | uniq`; do

+	echo "             $SYM"

+	i=`expr $i + 1`

+	printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE

+done

+

+

+echo

+echo "Done. Total $i symbols exported in $DEFFILE."

+

diff --git a/jni/pjproject-android/build.symbian/null_audio.mmp b/jni/pjproject-android/build.symbian/null_audio.mmp
new file mode 100644
index 0000000..de1dcbd
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/null_audio.mmp
@@ -0,0 +1,40 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		null_audio.dll
+TARGETTYPE	dll
+UID		0x0 0xA0000000
+
+
+CAPABILITY	None
+LIBRARY		pjlib.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\null_audio.def
+
+#else
+
+TARGET 		null_audio.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjmedia\src\pjmedia
+
+OPTION		CW -lang c++
+OPTION          ARMCC --gnu
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+//
+// Platform independent source
+//
+SOURCE		nullsound.c
+
+SYSTEMINCLUDE	..\pjlib\include
+SYSTEMINCLUDE	..\pjmedia\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
diff --git a/jni/pjproject-android/build.symbian/null_audioU.def b/jni/pjproject-android/build.symbian/null_audioU.def
new file mode 100644
index 0000000..883d5d8
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/null_audioU.def
@@ -0,0 +1,12 @@
+EXPORTS
+	pjmedia_snd_deinit                       @ 1 NONAME
+	pjmedia_snd_get_dev_count                @ 2 NONAME
+	pjmedia_snd_get_dev_info                 @ 3 NONAME
+	pjmedia_snd_init                         @ 4 NONAME
+	pjmedia_snd_open                         @ 5 NONAME
+	pjmedia_snd_open_player                  @ 6 NONAME
+	pjmedia_snd_open_rec                     @ 7 NONAME
+	pjmedia_snd_stream_close                 @ 8 NONAME
+	pjmedia_snd_stream_get_info              @ 9 NONAME
+	pjmedia_snd_stream_start                 @ 10 NONAME
+	pjmedia_snd_stream_stop                  @ 11 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjlib.mmp b/jni/pjproject-android/build.symbian/pjlib.mmp
new file mode 100644
index 0000000..e5c3107
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjlib.mmp
@@ -0,0 +1,122 @@
+#if defined(PJ_BUILD_DLL)
+TARGET		pjlib.dll
+TARGETTYPE	dll
+UID		0x0 0xA0000001
+
+CAPABILITY	NONE
+LIBRARY		esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjlib.def
+
+#else
+
+TARGET 		pjlib.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjlib\src\pj
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
+//
+// Platform independent source
+//
+SOURCE		activesock.c
+SOURCE		array.c
+SOURCE		config.c
+SOURCE		ctype.c
+SOURCE		errno.c
+SOURCE		fifobuf.c
+SOURCE		guid.c
+SOURCE		hash.c
+SOURCE		list.c
+SOURCE		lock.c
+SOURCE		string.c
+SOURCE		log.c
+SOURCE		os_info.c
+SOURCE		os_info_symbian.cpp
+SOURCE		os_time_common.c
+SOURCE		pool.c
+SOURCE		pool_buf.c
+SOURCE		pool_caching.c
+SOURCE		rand.c
+SOURCE		rbtree.c
+SOURCE		ssl_sock_common.c
+SOURCE		ssl_sock_dump.c
+SOURCE		sock_common.c
+SOURCE		sock_qos_common.c
+SOURCE		types.c
+
+
+//
+// Platform dependent source
+//
+SOURCE		compat\string_compat.c
+SOURCE		addr_resolv_symbian.cpp
+SOURCE		exception_symbian.cpp
+SOURCE		file_access_unistd.c
+SOURCE		file_io_ansi.c
+SOURCE		guid_simple.c
+SOURCE		ioqueue_symbian.cpp
+SOURCE		ip_helper_symbian.cpp
+SOURCE		log_writer_symbian_console.cpp
+SOURCE		os_core_symbian.cpp
+SOURCE		os_error_symbian.cpp
+SOURCE		os_timestamp_common.c
+SOURCE		os_time_unix.c
+SOURCE		os_timestamp_posix.c
+SOURCE		pool_policy_new.cpp
+SOURCE		ssl_sock_symbian.cpp
+SOURCE		sock_symbian.cpp
+SOURCE		sock_select_symbian.cpp
+SOURCE		sock_qos_symbian.cpp
+SOURCE		timer_symbian.cpp
+SOURCE		unicode_symbian.cpp
+
+//DOCUMENT	os_symbian.h
+
+//DOCUMENT	pj\addr_resolv.h
+//DOCUMENT	pj\array.h
+//DOCUMENT	pj\assert.h
+//DOCUMENT	pj\config.h
+//DOCUMENT	pj\config_site.h
+//DOCUMENT	pj\config_site_sample.h
+//DOCUMENT	pj\ctype.h
+//DOCUMENT	pj\errno.h
+//DOCUMENT	pj\except.h
+//DOCUMENT	pj\file_access.h
+//DOCUMENT	pj\file_io.h
+//DOCUMENT	pj\guid.h
+//DOCUMENT	pj\hash.h
+//DOCUMENT	pj\ioqueue.h
+//DOCUMENT	pj\ip_helper.h
+//DOCUMENT	pj\list.h
+//DOCUMENT	pj\lock.h
+//DOCUMENT	pj\log.h
+//DOCUMENT	pj\os.h
+//DOCUMENT	pj\\pool.h
+//DOCUMENT	pj\\pool_buf.h
+//DOCUMENT	pj\rand.h
+//DOCUMENT	pj\rbtree.h
+//DOCUMENT	pj\sock.h
+//DOCUMENT	pj\sock_select.h
+//DOCUMENT	pj\string.h
+//DOCUMENT	pj\timer.h
+//DOCUMENT	pj\types.h
+//DOCUMENT	pj\unicode.h
+
+SYSTEMINCLUDE	..\pjlib\include
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
+
diff --git a/jni/pjproject-android/build.symbian/pjlibU.def b/jni/pjproject-android/build.symbian/pjlibU.def
new file mode 100644
index 0000000..6dbffdf
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjlibU.def
@@ -0,0 +1,326 @@
+EXPORTS
+	PJ_FD_CLR                                @ 1 NONAME
+	PJ_FD_COUNT                              @ 2 NONAME
+	PJ_FD_ISSET                              @ 3 NONAME
+	PJ_FD_SET                                @ 4 NONAME
+	PJ_FD_ZERO                               @ 5 NONAME
+	PJ_GUID_STRING_LENGTH                    @ 6 NONAME
+	PJ_NO_MEMORY_EXCEPTION                   @ 7 NONAME
+	PJ_VERSION                               @ 8 NONAME
+	pj_AF_INET                               @ 9 NONAME
+	pj_AF_INET6                              @ 10 NONAME
+	pj_AF_IRDA                               @ 11 NONAME
+	pj_AF_PACKET                             @ 12 NONAME
+	pj_AF_UNIX                               @ 13 NONAME
+	pj_AF_UNSPEC                             @ 14 NONAME
+	pj_GUID_STRING_LENGTH                    @ 15 NONAME
+	pj_IPTOS_LOWDELAY                        @ 16 NONAME
+	pj_IPTOS_MINCOST                         @ 17 NONAME
+	pj_IPTOS_RELIABILITY                     @ 18 NONAME
+	pj_IPTOS_THROUGHPUT                      @ 19 NONAME
+	pj_IP_TOS                                @ 20 NONAME
+	pj_MSG_DONTROUTE                         @ 21 NONAME
+	pj_MSG_OOB                               @ 22 NONAME
+	pj_MSG_PEEK                              @ 23 NONAME
+	pj_NO_MEMORY_EXCEPTION                   @ 24 NONAME
+	pj_SOCK_DGRAM                            @ 25 NONAME
+	pj_SOCK_RAW                              @ 26 NONAME
+	pj_SOCK_RDM                              @ 27 NONAME
+	pj_SOCK_STREAM                           @ 28 NONAME
+	pj_SOL_IP                                @ 29 NONAME
+	pj_SOL_IPV6                              @ 30 NONAME
+	pj_SOL_SOCKET                            @ 31 NONAME
+	pj_SOL_TCP                               @ 32 NONAME
+	pj_SOL_UDP                               @ 33 NONAME
+	pj_SO_RCVBUF                             @ 34 NONAME
+	pj_SO_SNDBUF                             @ 35 NONAME
+	pj_SO_TYPE                               @ 36 NONAME
+	pj_ansi_to_unicode                       @ 37 NONAME
+	pj_array_erase                           @ 38 NONAME
+	pj_array_find                            @ 39 NONAME
+	pj_array_insert                          @ 40 NONAME
+	pj_atexit                                @ 41 NONAME
+	pj_atomic_add                            @ 42 NONAME
+	pj_atomic_add_and_get                    @ 43 NONAME
+	pj_atomic_create                         @ 44 NONAME
+	pj_atomic_dec                            @ 45 NONAME
+	pj_atomic_dec_and_get                    @ 46 NONAME
+	pj_atomic_destroy                        @ 47 NONAME
+	pj_atomic_get                            @ 48 NONAME
+	pj_atomic_inc                            @ 49 NONAME
+	pj_atomic_inc_and_get                    @ 50 NONAME
+	pj_atomic_set                            @ 51 NONAME
+	pj_caching_pool_destroy                  @ 52 NONAME
+	pj_caching_pool_init                     @ 53 NONAME
+	pj_create_random_string                  @ 54 NONAME
+	pj_create_unique_string                  @ 55 NONAME
+	pj_dump_config                           @ 56 NONAME
+	pj_elapsed_cycle                         @ 57 NONAME
+	pj_elapsed_msec                          @ 58 NONAME
+	pj_elapsed_nanosec                       @ 59 NONAME
+	pj_elapsed_time                          @ 60 NONAME
+	pj_elapsed_usec                          @ 61 NONAME
+	pj_enter_critical_section                @ 62 NONAME
+	pj_enum_ip_interface                     @ 63 NONAME
+	pj_enum_ip_route                         @ 64 NONAME
+	pj_exception_id_alloc                    @ 65 NONAME
+	pj_exception_id_free                     @ 66 NONAME
+	pj_exception_id_name                     @ 67 NONAME
+	pj_fifobuf_alloc                         @ 68 NONAME
+	pj_fifobuf_free                          @ 69 NONAME
+	pj_fifobuf_init                          @ 70 NONAME
+	pj_fifobuf_max_size                      @ 71 NONAME
+	pj_fifobuf_unalloc                       @ 72 NONAME
+	pj_file_close                            @ 73 NONAME
+	pj_file_delete                           @ 74 NONAME
+	pj_file_exists                           @ 75 NONAME
+	pj_file_flush                            @ 76 NONAME
+	pj_file_getpos                           @ 77 NONAME
+	pj_file_getstat                          @ 78 NONAME
+	pj_file_move                             @ 79 NONAME
+	pj_file_open                             @ 80 NONAME
+	pj_file_read                             @ 81 NONAME
+	pj_file_setpos                           @ 82 NONAME
+	pj_file_size                             @ 83 NONAME
+	pj_file_write                            @ 84 NONAME
+	pj_generate_unique_string                @ 85 NONAME
+	pj_get_netos_error                       @ 86 NONAME
+	pj_get_os_error                          @ 87 NONAME
+	pj_get_timestamp                         @ 88 NONAME
+	pj_get_timestamp_freq                    @ 89 NONAME
+	pj_get_version                           @ 90 NONAME
+	pj_getaddrinfo                           @ 91 NONAME
+	pj_getdefaultipinterface                 @ 92 NONAME
+	pj_gethostaddr                           @ 93 NONAME
+	pj_gethostbyname                         @ 94 NONAME
+	pj_gethostip                             @ 95 NONAME
+	pj_gethostname                           @ 96 NONAME
+	pj_getpid                                @ 97 NONAME
+	pj_gettimeofday                          @ 98 NONAME
+	pj_hash_calc                             @ 99 NONAME
+	pj_hash_calc_tolower                     @ 100 NONAME
+	pj_hash_count                            @ 101 NONAME
+	pj_hash_create                           @ 102 NONAME
+	pj_hash_first                            @ 103 NONAME
+	pj_hash_get                              @ 104 NONAME
+	pj_hash_next                             @ 105 NONAME
+	pj_hash_set                              @ 106 NONAME
+	pj_hash_set_np                           @ 107 NONAME
+	pj_hash_this                             @ 108 NONAME
+	pj_htonl                                 @ 109 NONAME
+	pj_htons                                 @ 110 NONAME
+	pj_inet_addr                             @ 111 NONAME
+	pj_inet_addr2                            @ 112 NONAME
+	pj_inet_aton                             @ 113 NONAME
+	pj_inet_ntoa                             @ 114 NONAME
+	pj_inet_ntop                             @ 115 NONAME
+	pj_inet_ntop2                            @ 116 NONAME
+	pj_inet_pton                             @ 117 NONAME
+	pj_init                                  @ 118 NONAME
+	pj_ioqueue_accept                        @ 119 NONAME
+	pj_ioqueue_connect                       @ 120 NONAME
+	pj_ioqueue_create                        @ 121 NONAME
+	pj_ioqueue_destroy                       @ 122 NONAME
+	pj_ioqueue_get_user_data                 @ 123 NONAME
+	pj_ioqueue_is_pending                    @ 124 NONAME
+	pj_ioqueue_name                          @ 125 NONAME
+	pj_ioqueue_op_key_init                   @ 126 NONAME
+	pj_ioqueue_poll                          @ 127 NONAME
+	pj_ioqueue_post_completion               @ 128 NONAME
+	pj_ioqueue_recv                          @ 129 NONAME
+	pj_ioqueue_recvfrom                      @ 130 NONAME
+	pj_ioqueue_register_sock                 @ 131 NONAME
+	pj_ioqueue_register_sock2                @ 132 NONAME
+	pj_ioqueue_send                          @ 133 NONAME
+	pj_ioqueue_sendto                        @ 134 NONAME
+	pj_ioqueue_set_lock                      @ 135 NONAME
+	pj_ioqueue_set_user_data                 @ 136 NONAME
+	pj_ioqueue_unregister                    @ 137 NONAME
+	pj_leave_critical_section                @ 138 NONAME
+	pj_list_erase                            @ 139 NONAME
+	pj_list_find_node                        @ 140 NONAME
+	pj_list_insert_after                     @ 141 NONAME
+	pj_list_insert_before                    @ 142 NONAME
+	pj_list_insert_nodes_after               @ 143 NONAME
+	pj_list_insert_nodes_before              @ 144 NONAME
+	pj_list_merge_first                      @ 145 NONAME
+	pj_list_merge_last                       @ 146 NONAME
+	pj_list_search                           @ 147 NONAME
+	pj_list_size                             @ 148 NONAME
+	pj_lock_acquire                          @ 149 NONAME
+	pj_lock_create_null_mutex                @ 150 NONAME
+	pj_lock_create_recursive_mutex           @ 151 NONAME
+	pj_lock_create_semaphore                 @ 152 NONAME
+	pj_lock_create_simple_mutex              @ 153 NONAME
+	pj_lock_destroy                          @ 154 NONAME
+	pj_lock_release                          @ 155 NONAME
+	pj_lock_tryacquire                       @ 156 NONAME
+	pj_log                                   @ 157 NONAME
+	pj_log_1                                 @ 158 NONAME
+	pj_log_2                                 @ 159 NONAME
+	pj_log_3                                 @ 160 NONAME
+	pj_log_4                                 @ 161 NONAME
+	pj_log_5                                 @ 162 NONAME
+	pj_log_get_decor                         @ 163 NONAME
+	pj_log_get_level                         @ 164 NONAME
+	pj_log_get_log_func                      @ 165 NONAME
+	pj_log_set_decor                         @ 166 NONAME
+	pj_log_set_level                         @ 167 NONAME
+	pj_log_set_log_func                      @ 168 NONAME
+	pj_log_write                             @ 169 NONAME
+	pj_mutex_create                          @ 170 NONAME
+	pj_mutex_create_recursive                @ 171 NONAME
+	pj_mutex_create_simple                   @ 172 NONAME
+	pj_mutex_destroy                         @ 173 NONAME
+	pj_mutex_lock                            @ 174 NONAME
+	pj_mutex_trylock                         @ 175 NONAME
+	pj_mutex_unlock                          @ 176 NONAME
+	pj_ntohl                                 @ 177 NONAME
+	pj_ntohs                                 @ 178 NONAME
+	pj_pool_alloc                            @ 179 NONAME
+	pj_pool_alloc_from_block                 @ 180 NONAME
+	pj_pool_allocate_find                    @ 181 NONAME
+	pj_pool_calloc                           @ 182 NONAME
+	pj_pool_create                           @ 183 NONAME
+	pj_pool_create_int                       @ 184 NONAME
+	pj_pool_create_on_buf                    @ 185 NONAME
+	pj_pool_destroy_int                      @ 186 NONAME
+	pj_pool_factory_default_policy           @ 187 NONAME
+	pj_pool_factory_get_default_policy       @ 188 NONAME
+	pj_pool_get_capacity                     @ 189 NONAME
+	pj_pool_get_used_size                    @ 190 NONAME
+	pj_pool_getobjname                       @ 191 NONAME
+	pj_pool_init_int                         @ 192 NONAME
+	pj_pool_release                          @ 193 NONAME
+	pj_pool_reset                            @ 194 NONAME
+	pj_rand                                  @ 195 NONAME
+	pj_rbtree_erase                          @ 196 NONAME
+	pj_rbtree_find                           @ 197 NONAME
+	pj_rbtree_first                          @ 198 NONAME
+	pj_rbtree_init                           @ 199 NONAME
+	pj_rbtree_insert                         @ 200 NONAME
+	pj_rbtree_last                           @ 201 NONAME
+	pj_rbtree_max_height                     @ 202 NONAME
+	pj_rbtree_min_height                     @ 203 NONAME
+	pj_rbtree_next                           @ 204 NONAME
+	pj_rbtree_prev                           @ 205 NONAME
+	pj_register_strerror                     @ 206 NONAME
+	pj_rwmutex_create                        @ 207 NONAME
+	pj_rwmutex_destroy                       @ 208 NONAME
+	pj_rwmutex_lock_read                     @ 209 NONAME
+	pj_rwmutex_lock_write                    @ 210 NONAME
+	pj_rwmutex_unlock_read                   @ 211 NONAME
+	pj_rwmutex_unlock_write                  @ 212 NONAME
+	pj_sem_create                            @ 213 NONAME
+	pj_sem_destroy                           @ 214 NONAME
+	pj_sem_post                              @ 215 NONAME
+	pj_sem_trywait                           @ 216 NONAME
+	pj_sem_wait                              @ 217 NONAME
+	pj_set_netos_error                       @ 218 NONAME
+	pj_set_os_error                          @ 219 NONAME
+	pj_shutdown                              @ 220 NONAME
+	pj_sock_accept                           @ 221 NONAME
+	pj_sock_bind                             @ 222 NONAME
+	pj_sock_bind_in                          @ 223 NONAME
+	pj_sock_close                            @ 224 NONAME
+	pj_sock_connect                          @ 225 NONAME
+	pj_sock_getpeername                      @ 226 NONAME
+	pj_sock_getsockname                      @ 227 NONAME
+	pj_sock_getsockopt                       @ 228 NONAME
+	pj_sock_listen                           @ 229 NONAME
+	pj_sock_recv                             @ 230 NONAME
+	pj_sock_recvfrom                         @ 231 NONAME
+	pj_sock_select                           @ 232 NONAME
+	pj_sock_send                             @ 233 NONAME
+	pj_sock_sendto                           @ 234 NONAME
+	pj_sock_setsockopt                       @ 235 NONAME
+	pj_sock_shutdown                         @ 236 NONAME
+	pj_sock_socket                           @ 237 NONAME
+	pj_sockaddr_cmp                          @ 238 NONAME
+	pj_sockaddr_copy_addr                    @ 239 NONAME
+	pj_sockaddr_get_addr                     @ 240 NONAME
+	pj_sockaddr_get_addr_len                 @ 241 NONAME
+	pj_sockaddr_get_len                      @ 242 NONAME
+	pj_sockaddr_get_port                     @ 243 NONAME
+	pj_sockaddr_has_addr                     @ 244 NONAME
+	pj_sockaddr_in_get_addr                  @ 245 NONAME
+	pj_sockaddr_in_get_port                  @ 246 NONAME
+	pj_sockaddr_in_init                      @ 247 NONAME
+	pj_sockaddr_in_set_addr                  @ 248 NONAME
+	pj_sockaddr_in_set_port                  @ 249 NONAME
+	pj_sockaddr_in_set_str_addr              @ 250 NONAME
+	pj_sockaddr_init                         @ 251 NONAME
+	pj_sockaddr_print                        @ 252 NONAME
+	pj_sockaddr_set_port                     @ 253 NONAME
+	pj_sockaddr_set_str_addr                 @ 254 NONAME
+	pj_srand                                 @ 255 NONAME
+	pj_str                                   @ 256 NONAME
+	pj_strassign                             @ 257 NONAME
+	pj_strcat                                @ 258 NONAME
+	pj_strcat2                               @ 259 NONAME
+	pj_strcmp                                @ 260 NONAME
+	pj_strcmp2                               @ 261 NONAME
+	pj_strcpy                                @ 262 NONAME
+	pj_strcpy2                               @ 263 NONAME
+	pj_strdup                                @ 264 NONAME
+	pj_strdup2                               @ 265 NONAME
+	pj_strdup2_with_null                     @ 266 NONAME
+	pj_strdup3                               @ 267 NONAME
+	pj_strdup_with_null                      @ 268 NONAME
+	pj_strerror                              @ 269 NONAME
+	pj_stricmp                               @ 270 NONAME
+	pj_stricmp2                              @ 271 NONAME
+	pj_strltrim                              @ 272 NONAME
+	pj_strncmp                               @ 273 NONAME
+	pj_strncmp2                              @ 274 NONAME
+	pj_strncpy                               @ 275 NONAME
+	pj_strncpy_with_null                     @ 276 NONAME
+	pj_strnicmp                              @ 277 NONAME
+	pj_strnicmp2                             @ 278 NONAME
+	pj_strrtrim                              @ 279 NONAME
+	pj_strtoul                               @ 280 NONAME
+	pj_strtoul2                              @ 281 NONAME
+	pj_strtrim                               @ 282 NONAME
+	pj_symbianos_poll                        @ 283 NONAME
+	pj_symbianos_set_params                  @ 284 NONAME
+	pj_thread_check_stack                    @ 285 NONAME
+	pj_thread_create                         @ 286 NONAME
+	pj_thread_destroy                        @ 287 NONAME
+	pj_thread_get_name                       @ 288 NONAME
+	pj_thread_get_os_handle                  @ 289 NONAME
+	pj_thread_get_stack_info                 @ 290 NONAME
+	pj_thread_get_stack_max_usage            @ 291 NONAME
+	pj_thread_is_registered                  @ 292 NONAME
+	pj_thread_join                           @ 293 NONAME
+	pj_thread_local_alloc                    @ 294 NONAME
+	pj_thread_local_free                     @ 295 NONAME
+	pj_thread_local_get                      @ 296 NONAME
+	pj_thread_local_set                      @ 297 NONAME
+	pj_thread_register                       @ 298 NONAME
+	pj_thread_resume                         @ 299 NONAME
+	pj_thread_sleep                          @ 300 NONAME
+	pj_thread_this                           @ 301 NONAME
+	pj_time_decode                           @ 302 NONAME
+	pj_time_encode                           @ 303 NONAME
+	pj_time_gmt_to_local                     @ 304 NONAME
+	pj_time_local_to_gmt                     @ 305 NONAME
+	pj_time_val_normalize                    @ 306 NONAME
+	pj_timer_entry_init                      @ 307 NONAME
+	pj_timer_heap_cancel                     @ 308 NONAME
+	pj_timer_heap_cancel_if_active           @ 309 NONAME
+	pj_timer_heap_count                      @ 310 NONAME
+	pj_timer_heap_create                     @ 311 NONAME
+	pj_timer_heap_destroy                    @ 312 NONAME
+	pj_timer_heap_earliest_time              @ 313 NONAME
+	pj_timer_heap_mem_size                   @ 314 NONAME
+	pj_timer_heap_poll                       @ 315 NONAME
+	pj_timer_heap_schedule                   @ 316 NONAME
+	pj_timer_heap_schedule_w_grp_lock        @ 317 NONAME
+	pj_timer_heap_set_lock                   @ 318 NONAME
+	pj_timer_heap_set_max_timed_out_per_poll @ 319 NONAME
+	pj_unicode_to_ansi                       @ 320 NONAME
+	pj_utoa                                  @ 321 NONAME
+	pj_utoa_pad                              @ 322 NONAME
+	platform_strerror                        @ 323 NONAME
+	snprintf                                 @ 324 NONAME
+	vsnprintf                                @ 325 NONAME
\ No newline at end of file
diff --git a/jni/pjproject-android/build.symbian/pjlib_test.mmp b/jni/pjproject-android/build.symbian/pjlib_test.mmp
new file mode 100644
index 0000000..73f004b
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjlib_test.mmp
@@ -0,0 +1,83 @@
+TARGET 		pjlib_test.exe
+TARGETTYPE 	exe
+UID		0x0 0xA0000002
+
+
+SOURCEPATH	..\pjlib\src\pjlib-test
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION CW -lang c++
+OPTION ARMCC --cpp --gnu
+OPTION GCC -x c++
+OPTION GCCE -x c++
+
+#if defined(PJ_BUILD_DLL)
+MACRO		PJ_DLL
+LIBRARY		pjlib.lib 
+#else
+STATICLIBRARY	pjlib.lib 
+#endif
+
+// Test files
+
+SOURCE	activesock.c
+SOURCE	atomic.c
+SOURCE	echo_clt.c
+SOURCE	errno.c
+SOURCE	exception_wrap.cpp
+SOURCE	fifobuf.c
+SOURCE	file.c
+SOURCE	hash_test.c
+SOURCE	ioq_perf.c
+SOURCE	ioq_tcp.c
+SOURCE	ioq_udp.c
+SOURCE	ioq_unreg.c
+SOURCE	list.c
+SOURCE	mutex.c
+SOURCE	os.c
+SOURCE	pool_wrap.cpp
+SOURCE	pool_perf.c
+SOURCE	rand.c
+SOURCE	rbtree.c
+SOURCE	select.c
+SOURCE	sleep.c
+SOURCE	sock.c
+SOURCE	sock_perf.c
+SOURCE	ssl_sock.c
+SOURCE	string.c
+SOURCE	test_wrap.cpp
+SOURCE	thread.c
+SOURCE	timer.c
+SOURCE	timestamp.c
+SOURCE	udp_echo_srv_ioqueue.c
+SOURCE	udp_echo_srv_sync.c
+SOURCE	util.c
+
+SOURCE	main_symbian.cpp
+
+DOCUMENT test.h
+
+START RESOURCE  	pjlib_test_reg.rss
+	TARGETPATH      \private\10003a3f\apps
+END
+
+SYSTEMINCLUDE	..\pjlib\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
+LIBRARY		esock.lib insock.lib charconv.lib euser.lib estlib.lib 
+LIBRARY		securesocket.lib x509.lib crypto.lib x500.lib 
+LIBRARY		hal.lib efsrv.lib
+ 
+#ifdef WINSCW
+STATICLIBRARY   eexe.lib ecrt0.lib
+#endif
+
+// Need a bit of mem for logging in the app.
+EPOCSTACKSIZE		32768
+
+CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
diff --git a/jni/pjproject-android/build.symbian/pjlib_test.pkg b/jni/pjproject-android/build.symbian/pjlib_test.pkg
new file mode 100644
index 0000000..e406415
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjlib_test.pkg
@@ -0,0 +1,19 @@
+; pjlib_test.pkg

+

+; Languages

+&EN

+

+; Header

+;#{"pjlib_test"},(0x200235D3), 0, 1, 1

+#{"pjlib_test"},(0xA0000002), 0, 1, 1

+

+; Platform compatibility

+[0x101F7961], *, *, *,{"Series60ProductID"}

+

+; vendor

+%{"PJSIP"}

+:"PJSIP"

+

+; Target

+"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\pjlib_test.exe"-"!:\sys\bin\pjlib_test.exe"

+"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\pjlib_test_reg.rSC"-"!:\private\10003a3f\import\apps\pjlib_test_reg.rSC"

diff --git a/jni/pjproject-android/build.symbian/pjlib_util.mmp b/jni/pjproject-android/build.symbian/pjlib_util.mmp
new file mode 100644
index 0000000..f38134d
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjlib_util.mmp
@@ -0,0 +1,86 @@
+#if defined(PJ_BUILD_DLL)
+TARGET		pjlib_util.dll
+TARGETTYPE	dll
+UID		0x0 0xA0000003
+
+CAPABILITY	NONE
+LIBRARY		pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjlib_util.def
+
+#else
+
+TARGET 		pjlib_util.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjlib-util\src\pjlib-util
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC -x c++
+OPTION          GCCE -x c++
+
+//
+// PJLIB-UTIL files
+//
+SOURCE	base64.c
+SOURCE	cli.c
+SOURCE	cli_console.c
+SOURCE	cli_telnet.c
+SOURCE	crc32.c
+SOURCE	dns.c
+SOURCE	dns_dump.c
+SOURCE	dns_server.c
+SOURCE	errno.c
+SOURCE	getopt.c
+SOURCE	hmac_md5.c
+SOURCE	hmac_sha1.c
+SOURCE	http_client.c
+SOURCE	md5.c
+SOURCE	pcap.c
+SOURCE	resolver_wrap.cpp
+SOURCE	scanner.c
+SOURCE	sha1.c
+SOURCE	srv_resolver.c
+SOURCE	string.c
+SOURCE	stun_simple.c
+SOURCE	stun_simple_client.c
+SOURCE	xml_wrap.cpp
+
+//
+// Header files
+//
+//DOCUMENT pjlib-util\\config.h
+//DOCUMENT pjlib-util\\crc32.h
+//DOCUMENT pjlib-util\\dns.h
+//DOCUMENT pjlib-util\\errno.h
+//DOCUMENT pjlib-util\\getopt.h
+//DOCUMENT pjlib-util\\hmac_md5.h
+//DOCUMENT pjlib-util\hmac_sha1.h
+//DOCUMENT pjlib-util\http_client.h
+//DOCUMENT pjlib-util\md5.h
+//DOCUMENT pjlib-util\resolver.h
+//DOCUMENT pjlib-util\scanner.h
+//DOCUMENT pjlib-util\sha1.h
+//DOCUMENT pjlib-util\srv_resolver.h
+//DOCUMENT pjlib-util\string.h
+//DOCUMENT pjlib-util\stun_simple.h
+//DOCUMENT pjlib-util\types.h
+//DOCUMENT pjlib-util\xml.h
+
+
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
+
diff --git a/jni/pjproject-android/build.symbian/pjlib_utilU.def b/jni/pjproject-android/build.symbian/pjlib_utilU.def
new file mode 100644
index 0000000..3e482af
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjlib_utilU.def
@@ -0,0 +1,92 @@
+EXPORTS
+	pj_cis_add_alpha                         @ 1 NONAME
+	pj_cis_add_cis                           @ 2 NONAME
+	pj_cis_add_num                           @ 3 NONAME
+	pj_cis_add_range                         @ 4 NONAME
+	pj_cis_add_str                           @ 5 NONAME
+	pj_cis_buf_init                          @ 6 NONAME
+	pj_cis_del_range                         @ 7 NONAME
+	pj_cis_del_str                           @ 8 NONAME
+	pj_cis_dup                               @ 9 NONAME
+	pj_cis_init                              @ 10 NONAME
+	pj_cis_invert                            @ 11 NONAME
+	pj_crc32_calc                            @ 12 NONAME
+	pj_crc32_final                           @ 13 NONAME
+	pj_crc32_init                            @ 14 NONAME
+	pj_crc32_update                          @ 15 NONAME
+	pj_dns_dump_packet                       @ 16 NONAME
+	pj_dns_get_type_name                     @ 17 NONAME
+	pj_dns_make_query                        @ 18 NONAME
+	pj_dns_packet_dup                        @ 19 NONAME
+	pj_dns_parse_a_response                  @ 20 NONAME
+	pj_dns_parse_packet                      @ 21 NONAME
+	pj_dns_resolver_add_entry                @ 22 NONAME
+	pj_dns_resolver_cancel_query             @ 23 NONAME
+	pj_dns_resolver_create                   @ 24 NONAME
+	pj_dns_resolver_destroy                  @ 25 NONAME
+	pj_dns_resolver_dump                     @ 26 NONAME
+	pj_dns_resolver_get_cached_count         @ 27 NONAME
+	pj_dns_resolver_get_settings             @ 28 NONAME
+	pj_dns_resolver_handle_events            @ 29 NONAME
+	pj_dns_resolver_set_ns                   @ 30 NONAME
+	pj_dns_resolver_set_settings             @ 31 NONAME
+	pj_dns_resolver_start_query              @ 32 NONAME
+	pj_dns_settings_default                  @ 33 NONAME
+	pj_dns_srv_resolve                       @ 34 NONAME
+	pj_hmac_md5                              @ 35 NONAME
+	pj_hmac_md5_final                        @ 36 NONAME
+	pj_hmac_md5_init                         @ 37 NONAME
+	pj_hmac_md5_update                       @ 38 NONAME
+	pj_hmac_sha1                             @ 39 NONAME
+	pj_hmac_sha1_final                       @ 40 NONAME
+	pj_hmac_sha1_init                        @ 41 NONAME
+	pj_hmac_sha1_update                      @ 42 NONAME
+	pj_md5_final                             @ 43 NONAME
+	pj_md5_init                              @ 44 NONAME
+	pj_md5_update                            @ 45 NONAME
+	pj_scan_advance_n                        @ 46 NONAME
+	pj_scan_fini                             @ 47 NONAME
+	pj_scan_get                              @ 48 NONAME
+	pj_scan_get_char                         @ 49 NONAME
+	pj_scan_get_n                            @ 50 NONAME
+	pj_scan_get_newline                      @ 51 NONAME
+	pj_scan_get_quote                        @ 52 NONAME
+	pj_scan_get_quotes                       @ 53 NONAME
+	pj_scan_get_unescape                     @ 54 NONAME
+	pj_scan_get_until                        @ 55 NONAME
+	pj_scan_get_until_ch                     @ 56 NONAME
+	pj_scan_get_until_chr                    @ 57 NONAME
+	pj_scan_init                             @ 58 NONAME
+	pj_scan_peek                             @ 59 NONAME
+	pj_scan_peek_n                           @ 60 NONAME
+	pj_scan_peek_until                       @ 61 NONAME
+	pj_scan_restore_state                    @ 62 NONAME
+	pj_scan_save_state                       @ 63 NONAME
+	pj_scan_skip_line                        @ 64 NONAME
+	pj_scan_skip_whitespace                  @ 65 NONAME
+	pj_scan_strcmp                           @ 66 NONAME
+	pj_scan_stricmp                          @ 67 NONAME
+	pj_scan_stricmp_alnum                    @ 68 NONAME
+	pj_sha1_final                            @ 69 NONAME
+	pj_sha1_init                             @ 70 NONAME
+	pj_sha1_update                           @ 71 NONAME
+	pj_str_unescape                          @ 72 NONAME
+	pj_strcpy_unescape                       @ 73 NONAME
+	pj_strncpy2_escape                       @ 74 NONAME
+	pj_strncpy_escape                        @ 75 NONAME
+	pj_xml_add_attr                          @ 76 NONAME
+	pj_xml_add_node                          @ 77 NONAME
+	pj_xml_attr_new                          @ 78 NONAME
+	pj_xml_clone                             @ 79 NONAME
+	pj_xml_find                              @ 80 NONAME
+	pj_xml_find_attr                         @ 81 NONAME
+	pj_xml_find_next_node                    @ 82 NONAME
+	pj_xml_find_node                         @ 83 NONAME
+	pj_xml_node_new                          @ 84 NONAME
+	pj_xml_parse                             @ 85 NONAME
+	pj_xml_print                             @ 86 NONAME
+	pjlib_util_init                          @ 87 NONAME
+	pjstun_create_bind_req                   @ 88 NONAME
+	pjstun_get_mapped_addr                   @ 89 NONAME
+	pjstun_msg_find_attr                     @ 90 NONAME
+	pjstun_parse_msg                         @ 91 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjmedia.mmp b/jni/pjproject-android/build.symbian/pjmedia.mmp
new file mode 100644
index 0000000..45903fe
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjmedia.mmp
@@ -0,0 +1,136 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		pjmedia.dll
+TARGETTYPE	dll
+UID		0x0 0xA0000004
+
+CAPABILITY	None
+LIBRARY		null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjmedia.def
+
+#else
+
+TARGET 		pjmedia.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjmedia\src\pjmedia
+
+//
+// GCCE optimization setting
+//
+OPTION		GCCE -O2 -fno-unit-at-a-time
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
+//
+// Platform independent source
+//
+
+SOURCE		alaw_ulaw.c
+SOURCE		alaw_ulaw_table.c
+SOURCE		avi_player.c
+SOURCE		bidirectional.c
+SOURCE		clock_thread.c
+SOURCE		codec.c
+SOURCE		conf_switch.c
+SOURCE		conference.c
+SOURCE		converter.c
+SOURCE		converter_libswscale.c
+SOURCE		delaybuf.c
+SOURCE		echo_common.c
+SOURCE		echo_port.c
+SOURCE		echo_suppress.c
+SOURCE		endpoint.c
+SOURCE		errno.c
+SOURCE		event.c
+SOURCE		format.c
+SOURCE		g711.c
+SOURCE		jbuf.c
+SOURCE		master_port.c
+SOURCE		mem_capture.c
+SOURCE		mem_player.c
+SOURCE		null_port.c
+SOURCE		plc_common.c
+SOURCE		port.c
+SOURCE		resample_port.c
+SOURCE		resample_resample.c
+SOURCE		rtcp.c
+SOURCE		rtcp_xr.c
+SOURCE		rtp.c
+//SDP files are in pjsdp.mmp: sdp.c, sdp_cmp.c, sdp_neg.c
+//SOURCE		session.c		// deprecated
+SOURCE		silencedet.c
+SOURCE		sound_port.c
+SOURCE		splitcomb.c
+SOURCE		stereo_port.c
+SOURCE		stream.c
+SOURCE		stream_common.c
+SOURCE		stream_info.c
+SOURCE		tonegen.c
+SOURCE		transport_adapter_sample.c
+SOURCE		transport_ice.c
+SOURCE		transport_udp.c
+SOURCE		transport_srtp.c
+SOURCE		types.c
+SOURCE		vid_codec.c
+SOURCE		vid_codec_util.c
+SOURCE		vid_port.c
+SOURCE		vid_stream.c
+SOURCE		vid_stream_info.c
+SOURCE		vid_tee.c
+SOURCE		wav_player.c
+SOURCE		wav_playlist.c
+SOURCE		wav_writer.c
+SOURCE		wave.c
+SOURCE		wsola.c
+
+//
+// pjmedia-codec common files
+//
+SOURCEPATH	..\pjmedia\src\pjmedia-codec
+SOURCE		audio_codecs.c
+SOURCE		amr_sdp_match.c
+SOURCE		g7221_sdp_match.c
+SOURCE		h263_packetizer.c
+SOURCE		h264_packetizer.c
+
+
+//
+// Symbian specific
+// These are on separate project
+//
+//SOURCE		symbian_sound.cpp
+//SOURCE		null_sound.c
+
+
+//
+// Header files
+//
+
+
+SYSTEMINCLUDE	..\pjmedia\include
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include 
+SYSTEMINCLUDE	..\pjnath\include 
+SYSTEMINCLUDE	..\third_party\srtp\include
+SYSTEMINCLUDE	..\third_party\srtp\crypto\include
+SYSTEMINCLUDE	..\third_party\build\srtp
+SYSTEMINCLUDE	..
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+//SYSTEMINCLUDE	\epoc32\include\mmf\plugin
+
+
diff --git a/jni/pjproject-android/build.symbian/pjmediaU.def b/jni/pjproject-android/build.symbian/pjmediaU.def
new file mode 100644
index 0000000..5d14f35
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjmediaU.def
@@ -0,0 +1,193 @@
+EXPORTS
+	echo_supp_cancel_echo                    @ 1 NONAME
+	echo_supp_capture                        @ 2 NONAME
+	echo_supp_create                         @ 3 NONAME
+	echo_supp_destroy                        @ 4 NONAME
+	echo_supp_playback                       @ 5 NONAME
+	pjmedia_bidirectional_port_create        @ 6 NONAME
+	pjmedia_calc_avg_signal                  @ 7 NONAME
+	pjmedia_clock_create                     @ 8 NONAME
+	pjmedia_clock_destroy                    @ 9 NONAME
+	pjmedia_clock_start                      @ 10 NONAME
+	pjmedia_clock_stop                       @ 11 NONAME
+	pjmedia_clock_wait                       @ 12 NONAME
+	pjmedia_codec_g711_deinit                @ 13 NONAME
+	pjmedia_codec_g711_init                  @ 14 NONAME
+	pjmedia_codec_info_to_id                 @ 15 NONAME
+	pjmedia_codec_mgr_alloc_codec            @ 16 NONAME
+	pjmedia_codec_mgr_dealloc_codec          @ 17 NONAME
+	pjmedia_codec_mgr_enum_codecs            @ 18 NONAME
+	pjmedia_codec_mgr_find_codecs_by_id      @ 19 NONAME
+	pjmedia_codec_mgr_get_codec_info         @ 20 NONAME
+	pjmedia_codec_mgr_get_default_param      @ 21 NONAME
+	pjmedia_codec_mgr_init                   @ 22 NONAME
+	pjmedia_codec_mgr_register_factory       @ 23 NONAME
+	pjmedia_codec_mgr_set_codec_priority     @ 24 NONAME
+	pjmedia_codec_mgr_unregister_factory     @ 25 NONAME
+	pjmedia_conf_add_passive_port            @ 26 NONAME
+	pjmedia_conf_add_port                    @ 27 NONAME
+	pjmedia_conf_adjust_rx_level             @ 28 NONAME
+	pjmedia_conf_adjust_tx_level             @ 29 NONAME
+	pjmedia_conf_configure_port              @ 30 NONAME
+	pjmedia_conf_connect_port                @ 31 NONAME
+	pjmedia_conf_create                      @ 32 NONAME
+	pjmedia_conf_destroy                     @ 33 NONAME
+	pjmedia_conf_disconnect_port             @ 34 NONAME
+	pjmedia_conf_enum_ports                  @ 35 NONAME
+	pjmedia_conf_get_connect_count           @ 36 NONAME
+	pjmedia_conf_get_master_port             @ 37 NONAME
+	pjmedia_conf_get_port_count              @ 38 NONAME
+	pjmedia_conf_get_port_info               @ 39 NONAME
+	pjmedia_conf_get_ports_info              @ 40 NONAME
+	pjmedia_conf_get_signal_level            @ 41 NONAME
+	pjmedia_conf_remove_port                 @ 42 NONAME
+	pjmedia_conf_set_port0_name              @ 43 NONAME
+	pjmedia_delay_buf_create                 @ 44 NONAME
+	pjmedia_delay_buf_get                    @ 45 NONAME
+	pjmedia_delay_buf_put                    @ 46 NONAME
+	pjmedia_echo_cancel                      @ 47 NONAME
+	pjmedia_echo_capture                     @ 48 NONAME
+	pjmedia_echo_create                      @ 49 NONAME
+	pjmedia_echo_destroy                     @ 50 NONAME
+	pjmedia_echo_playback                    @ 51 NONAME
+	pjmedia_echo_port_create                 @ 52 NONAME
+	pjmedia_endpt_create                     @ 53 NONAME
+	pjmedia_endpt_create_pool                @ 54 NONAME
+	pjmedia_endpt_create_sdp                 @ 55 NONAME
+	pjmedia_endpt_destroy                    @ 56 NONAME
+	pjmedia_endpt_dump                       @ 57 NONAME
+	pjmedia_endpt_get_codec_mgr              @ 58 NONAME
+	pjmedia_endpt_get_ioqueue                @ 59 NONAME
+	pjmedia_endpt_get_thread                 @ 60 NONAME
+	pjmedia_endpt_get_thread_count           @ 61 NONAME
+	pjmedia_ice_create                       @ 62 NONAME
+	pjmedia_ice_destroy                      @ 63 NONAME
+	pjmedia_ice_get_comp                     @ 64 NONAME
+	pjmedia_ice_get_init_status              @ 65 NONAME
+	pjmedia_ice_init_ice                     @ 66 NONAME
+	pjmedia_ice_modify_sdp                   @ 67 NONAME
+	pjmedia_ice_simulate_lost                @ 68 NONAME
+	pjmedia_ice_start_ice                    @ 69 NONAME
+	pjmedia_ice_start_init                   @ 70 NONAME
+	pjmedia_ice_stop_ice                     @ 71 NONAME
+	pjmedia_jbuf_create                      @ 72 NONAME
+	pjmedia_jbuf_destroy                     @ 73 NONAME
+	pjmedia_jbuf_get_frame                   @ 74 NONAME
+	pjmedia_jbuf_get_state                   @ 75 NONAME
+	pjmedia_jbuf_put_frame                   @ 76 NONAME
+	pjmedia_jbuf_reset                       @ 77 NONAME
+	pjmedia_jbuf_set_adaptive                @ 78 NONAME
+	pjmedia_jbuf_set_fixed                   @ 79 NONAME
+	pjmedia_master_port_create               @ 80 NONAME
+	pjmedia_master_port_destroy              @ 81 NONAME
+	pjmedia_master_port_get_dport            @ 82 NONAME
+	pjmedia_master_port_get_uport            @ 83 NONAME
+	pjmedia_master_port_set_dport            @ 84 NONAME
+	pjmedia_master_port_set_uport            @ 85 NONAME
+	pjmedia_master_port_start                @ 86 NONAME
+	pjmedia_master_port_stop                 @ 87 NONAME
+	pjmedia_mem_capture_create               @ 88 NONAME
+	pjmedia_mem_capture_get_size             @ 89 NONAME
+	pjmedia_mem_capture_set_eof_cb           @ 90 NONAME
+	pjmedia_mem_player_create                @ 91 NONAME
+	pjmedia_mem_player_set_eof_cb            @ 92 NONAME
+	pjmedia_null_port_create                 @ 93 NONAME
+	pjmedia_plc_create                       @ 94 NONAME
+	pjmedia_plc_generate                     @ 95 NONAME
+	pjmedia_plc_save                         @ 96 NONAME
+	pjmedia_port_destroy                     @ 97 NONAME
+	pjmedia_port_get_frame                   @ 98 NONAME
+	pjmedia_port_info_init                   @ 99 NONAME
+	pjmedia_port_put_frame                   @ 100 NONAME
+	pjmedia_resample_create                  @ 101 NONAME
+	pjmedia_resample_destroy                 @ 102 NONAME
+	pjmedia_resample_get_input_size          @ 103 NONAME
+	pjmedia_resample_port_create             @ 104 NONAME
+	pjmedia_resample_run                     @ 105 NONAME
+	pjmedia_rtcp_build_rtcp                  @ 106 NONAME
+	pjmedia_rtcp_fini                        @ 107 NONAME
+	pjmedia_rtcp_get_ntp_time                @ 108 NONAME
+	pjmedia_rtcp_init                        @ 109 NONAME
+	pjmedia_rtcp_rx_rtcp                     @ 110 NONAME
+	pjmedia_rtcp_rx_rtp                      @ 111 NONAME
+	pjmedia_rtcp_tx_rtp                      @ 112 NONAME
+	pjmedia_rtp_decode_rtp                   @ 113 NONAME
+	pjmedia_rtp_encode_rtp                   @ 114 NONAME
+	pjmedia_rtp_session_init                 @ 115 NONAME
+	pjmedia_rtp_session_update               @ 116 NONAME
+	pjmedia_session_check_dtmf               @ 117 NONAME
+	pjmedia_session_create                   @ 118 NONAME
+	pjmedia_session_destroy                  @ 119 NONAME
+	pjmedia_session_dial_dtmf                @ 120 NONAME
+	pjmedia_session_enum_streams             @ 121 NONAME
+	pjmedia_session_get_dtmf                 @ 122 NONAME
+	pjmedia_session_get_info                 @ 123 NONAME
+	pjmedia_session_get_port                 @ 124 NONAME
+	pjmedia_session_get_stream_stat          @ 125 NONAME
+	pjmedia_session_info_from_sdp            @ 126 NONAME
+	pjmedia_session_pause                    @ 127 NONAME
+	pjmedia_session_pause_stream             @ 128 NONAME
+	pjmedia_session_resume                   @ 129 NONAME
+	pjmedia_session_resume_stream            @ 130 NONAME
+	pjmedia_session_set_dtmf_callback        @ 131 NONAME
+	pjmedia_silence_det_apply                @ 132 NONAME
+	pjmedia_silence_det_create               @ 133 NONAME
+	pjmedia_silence_det_detect               @ 134 NONAME
+	pjmedia_silence_det_disable              @ 135 NONAME
+	pjmedia_silence_det_set_adaptive         @ 136 NONAME
+	pjmedia_silence_det_set_fixed            @ 137 NONAME
+	pjmedia_silence_det_set_name             @ 138 NONAME
+	pjmedia_silence_det_set_params           @ 139 NONAME
+	pjmedia_snd_port_connect                 @ 140 NONAME
+	pjmedia_snd_port_create                  @ 141 NONAME
+	pjmedia_snd_port_create_player           @ 142 NONAME
+	pjmedia_snd_port_create_rec              @ 143 NONAME
+	pjmedia_snd_port_destroy                 @ 144 NONAME
+	pjmedia_snd_port_disconnect              @ 145 NONAME
+	pjmedia_snd_port_get_ec_tail             @ 146 NONAME
+	pjmedia_snd_port_get_port                @ 147 NONAME
+	pjmedia_snd_port_get_snd_stream          @ 148 NONAME
+	pjmedia_snd_port_set_ec                  @ 149 NONAME
+	pjmedia_splitcomb_create                 @ 150 NONAME
+	pjmedia_splitcomb_create_rev_channel     @ 151 NONAME
+	pjmedia_splitcomb_set_channel            @ 152 NONAME
+	pjmedia_stream_check_dtmf                @ 153 NONAME
+	pjmedia_stream_create                    @ 154 NONAME
+	pjmedia_stream_destroy                   @ 155 NONAME
+	pjmedia_stream_dial_dtmf                 @ 156 NONAME
+	pjmedia_stream_get_dtmf                  @ 157 NONAME
+	pjmedia_stream_get_port                  @ 158 NONAME
+	pjmedia_stream_get_stat                  @ 159 NONAME
+	pjmedia_stream_get_transport             @ 160 NONAME
+	pjmedia_stream_info_from_sdp             @ 161 NONAME
+	pjmedia_stream_pause                     @ 162 NONAME
+	pjmedia_stream_resume                    @ 163 NONAME
+	pjmedia_stream_set_dtmf_callback         @ 164 NONAME
+	pjmedia_stream_start                     @ 165 NONAME
+	pjmedia_strerror                         @ 166 NONAME
+	pjmedia_tonegen_create                   @ 167 NONAME
+	pjmedia_tonegen_create2                  @ 168 NONAME
+	pjmedia_tonegen_get_digit_map            @ 169 NONAME
+	pjmedia_tonegen_is_busy                  @ 170 NONAME
+	pjmedia_tonegen_play                     @ 171 NONAME
+	pjmedia_tonegen_play_digits              @ 172 NONAME
+	pjmedia_tonegen_set_digit_map            @ 173 NONAME
+	pjmedia_tonegen_stop                     @ 174 NONAME
+	pjmedia_transport_udp_attach             @ 175 NONAME
+	pjmedia_transport_udp_close              @ 176 NONAME
+	pjmedia_transport_udp_create             @ 177 NONAME
+	pjmedia_transport_udp_create2            @ 178 NONAME
+	pjmedia_transport_udp_create3            @ 179 NONAME
+	pjmedia_transport_udp_get_info           @ 180 NONAME
+	pjmedia_transport_udp_simulate_lost      @ 181 NONAME
+	pjmedia_wav_player_port_create           @ 182 NONAME
+	pjmedia_wav_player_port_get_pos          @ 183 NONAME
+	pjmedia_wav_player_port_set_pos          @ 184 NONAME
+	pjmedia_wav_player_set_eof_cb            @ 185 NONAME
+	pjmedia_wav_playlist_create              @ 186 NONAME
+	pjmedia_wav_playlist_set_eof_cb          @ 187 NONAME
+	pjmedia_wav_writer_port_create           @ 188 NONAME
+	pjmedia_wav_writer_port_get_pos          @ 189 NONAME
+	pjmedia_wav_writer_port_set_cb           @ 190 NONAME
+	pjmedia_wave_hdr_file_to_host            @ 191 NONAME
+	pjmedia_wave_hdr_host_to_file            @ 192 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjmedia_audiodev.mmp b/jni/pjproject-android/build.symbian/pjmedia_audiodev.mmp
new file mode 100644
index 0000000..a80cfeb
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjmedia_audiodev.mmp
@@ -0,0 +1,33 @@
+TARGET 		pjmedia_audiodev.lib
+TARGETTYPE 	lib
+
+SOURCEPATH	..\pjmedia\src\pjmedia-audiodev
+
+//
+// GCCE optimization setting
+//
+//OPTION		GCCE -O2 -fno-unit-at-a-time
+OPTION          ARMCC --gnu
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+SOURCE		audiodev.c
+SOURCE		errno.c
+SOURCE		symb_aps_dev.cpp
+SOURCE		symb_mda_dev.cpp
+SOURCE		symb_vas_dev.cpp
+SOURCE		null_dev.c
+
+SYSTEMINCLUDE	..\pjmedia\include
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include 
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+SYSTEMINCLUDE   \epoc32\include\mmf\server 
+SYSTEMINCLUDE   \epoc32\include\mmf\common 
+SYSTEMINCLUDE   \epoc32\include\mda\common 
+SYSTEMINCLUDE	\epoc32\include\mmf\plugin 
+
+
diff --git a/jni/pjproject-android/build.symbian/pjnath.mmp b/jni/pjproject-android/build.symbian/pjnath.mmp
new file mode 100644
index 0000000..76b64dd
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjnath.mmp
@@ -0,0 +1,65 @@
+#if defined(PJ_BUILD_DLL)
+TARGET		pjnath.dll
+TARGETTYPE	dll
+UID		0x0 0xA0000005
+
+CAPABILITY	None
+LIBRARY		pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjnath.def
+
+#else
+
+TARGET 		pjnath.lib
+TARGETTYPE 	lib
+
+#endif
+
+OPTION          ARMCC --gnu
+
+SOURCEPATH	..\pjnath\src\pjnath
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+//
+// PJNATH files
+//
+SOURCE	errno.c
+SOURCE	ice_session.c
+SOURCE	ice_strans.c
+SOURCE	nat_detect.c
+SOURCE	stun_auth.c
+SOURCE	stun_msg.c
+SOURCE	stun_msg_dump.c
+SOURCE	stun_session.c
+SOURCE	stun_sock.c
+SOURCE	stun_transaction.c
+SOURCE	turn_session.c
+SOURCE	turn_sock.c
+
+//
+// Include files
+//
+//DOCUMENT pjnath\config.h
+//DOCUMENT pjnath\\errno.h
+//DOCUMENT pjnath\\ice_session.h
+//DOCUMENT pjnath\\ice_strans.h
+//DOCUMENT pjnath\\stun_auth.h
+//DOCUMENT pjnath\\stun_config.h
+//DOCUMENT pjnath\\stun_msg.h
+//DOCUMENT pjnath\\stun_session.h
+//DOCUMENT pjnath\\stun_transaction.h
+//DOCUMENT pjnath\\types.h
+
+
+
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include
+SYSTEMINCLUDE	..\pjnath\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
diff --git a/jni/pjproject-android/build.symbian/pjnathU.def b/jni/pjproject-android/build.symbian/pjnathU.def
new file mode 100644
index 0000000..db4c282
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjnathU.def
@@ -0,0 +1,88 @@
+EXPORTS
+	pj_ice_calc_foundation                   @ 1 NONAME
+	pj_ice_get_cand_type_name                @ 2 NONAME
+	pj_ice_sess_add_cand                     @ 3 NONAME
+	pj_ice_sess_change_role                  @ 4 NONAME
+	pj_ice_sess_create                       @ 5 NONAME
+	pj_ice_sess_create_check_list            @ 6 NONAME
+	pj_ice_sess_destroy                      @ 7 NONAME
+	pj_ice_sess_find_default_cand            @ 8 NONAME
+	pj_ice_sess_on_rx_pkt                    @ 9 NONAME
+	pj_ice_sess_send_data                    @ 10 NONAME
+	pj_ice_sess_set_prefs                    @ 11 NONAME
+	pj_ice_sess_start_check                  @ 12 NONAME
+	pj_ice_strans_add_cand                   @ 13 NONAME
+	pj_ice_strans_create                     @ 14 NONAME
+	pj_ice_strans_create_comp                @ 15 NONAME
+	pj_ice_strans_destroy                    @ 16 NONAME
+	pj_ice_strans_enum_cands                 @ 17 NONAME
+	pj_ice_strans_get_comps_status           @ 18 NONAME
+	pj_ice_strans_init_ice                   @ 19 NONAME
+	pj_ice_strans_sendto                     @ 20 NONAME
+	pj_ice_strans_set_stun_domain            @ 21 NONAME
+	pj_ice_strans_set_stun_srv               @ 22 NONAME
+	pj_ice_strans_start_ice                  @ 23 NONAME
+	pj_ice_strans_stop_ice                   @ 24 NONAME
+	pj_stun_auth_cred_dup                    @ 25 NONAME
+	pj_stun_auth_valid_for_msg               @ 26 NONAME
+	pj_stun_authenticate_request             @ 27 NONAME
+	pj_stun_authenticate_response            @ 28 NONAME
+	pj_stun_binary_attr_create               @ 29 NONAME
+	pj_stun_client_tsx_create                @ 30 NONAME
+	pj_stun_client_tsx_destroy               @ 31 NONAME
+	pj_stun_client_tsx_get_data              @ 32 NONAME
+	pj_stun_client_tsx_is_complete           @ 33 NONAME
+	pj_stun_client_tsx_on_rx_msg             @ 34 NONAME
+	pj_stun_client_tsx_retransmit            @ 35 NONAME
+	pj_stun_client_tsx_schedule_destroy      @ 36 NONAME
+	pj_stun_client_tsx_send_msg              @ 37 NONAME
+	pj_stun_client_tsx_set_data              @ 38 NONAME
+	pj_stun_create_key                       @ 39 NONAME
+	pj_stun_detect_nat_type                  @ 40 NONAME
+	pj_stun_empty_attr_create                @ 41 NONAME
+	pj_stun_errcode_attr_create              @ 42 NONAME
+	pj_stun_get_attr_name                    @ 43 NONAME
+	pj_stun_get_class_name                   @ 44 NONAME
+	pj_stun_get_err_reason                   @ 45 NONAME
+	pj_stun_get_method_name                  @ 46 NONAME
+	pj_stun_get_nat_name                     @ 47 NONAME
+	pj_stun_msg_add_attr                     @ 48 NONAME
+	pj_stun_msg_add_binary_attr              @ 49 NONAME
+	pj_stun_msg_add_empty_attr               @ 50 NONAME
+	pj_stun_msg_add_errcode_attr             @ 51 NONAME
+	pj_stun_msg_add_msgint_attr              @ 52 NONAME
+	pj_stun_msg_add_sockaddr_attr            @ 53 NONAME
+	pj_stun_msg_add_string_attr              @ 54 NONAME
+	pj_stun_msg_add_uint64_attr              @ 55 NONAME
+	pj_stun_msg_add_uint_attr                @ 56 NONAME
+	pj_stun_msg_add_unknown_attr             @ 57 NONAME
+	pj_stun_msg_check                        @ 58 NONAME
+	pj_stun_msg_create                       @ 59 NONAME
+	pj_stun_msg_create_response              @ 60 NONAME
+	pj_stun_msg_decode                       @ 61 NONAME
+	pj_stun_msg_destroy_tdata                @ 62 NONAME
+	pj_stun_msg_dump                         @ 63 NONAME
+	pj_stun_msg_encode                       @ 64 NONAME
+	pj_stun_msg_find_attr                    @ 65 NONAME
+	pj_stun_msgint_attr_create               @ 66 NONAME
+	pj_stun_session_cancel_req               @ 67 NONAME
+	pj_stun_session_create                   @ 68 NONAME
+	pj_stun_session_create_ind               @ 69 NONAME
+	pj_stun_session_create_req               @ 70 NONAME
+	pj_stun_session_create_res               @ 71 NONAME
+	pj_stun_session_destroy                  @ 72 NONAME
+	pj_stun_session_get_user_data            @ 73 NONAME
+	pj_stun_session_on_rx_pkt                @ 74 NONAME
+	pj_stun_session_retransmit_req           @ 75 NONAME
+	pj_stun_session_send_msg                 @ 76 NONAME
+	pj_stun_session_set_credential           @ 77 NONAME
+	pj_stun_session_set_server_name          @ 78 NONAME
+	pj_stun_session_set_user_data            @ 79 NONAME
+	pj_stun_set_padding_char                 @ 80 NONAME
+	pj_stun_sockaddr_attr_create             @ 81 NONAME
+	pj_stun_string_attr_create               @ 82 NONAME
+	pj_stun_uint64_attr_create               @ 83 NONAME
+	pj_stun_uint_attr_create                 @ 84 NONAME
+	pj_stun_unknown_attr_create              @ 85 NONAME
+	pjnath_init                              @ 86 NONAME
+	pjnath_perror                            @ 87 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjproject.cww b/jni/pjproject-android/build.symbian/pjproject.cww
new file mode 100644
index 0000000..766cf8f
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjproject.cww
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

+<?codewarrior exportversion="1.0" ideversion="5.5" success="y" ?>

+

+<!DOCTYPE MWIDEWORKSPACE [

+<!ELEMENT MWIDEWORKSPACE (WINDOW*, COMWINDOW*)>

+<!ELEMENT WINDOW (SESSION, EDOCTYPE, PATH, FRAMELOC, FRAMESIZE, DOCKINFO)>

+<!ELEMENT COMWINDOW (SESSION, CLSID, OWNERPROJECT, DATA, FRAMELOC, FRAMESIZE, DOCKINFO)>

+<!ELEMENT SESSION (#PCDATA)>

+<!ELEMENT EDOCTYPE (#PCDATA)>

+<!ELEMENT DEFAULT (#PCDATA)>

+<!ELEMENT MAXIMIZED (#PCDATA)>

+<!ELEMENT PATH (#PCDATA)>

+<!ATTLIST PATH USERELATIVEPATHS (true | false) "true">

+<!ELEMENT FRAMELOC (X, Y)>

+<!ELEMENT X (#PCDATA)>

+<!ELEMENT Y (#PCDATA)>

+<!ELEMENT FRAMESIZE (W, H)>

+<!ELEMENT W (#PCDATA)>

+<!ELEMENT H (#PCDATA)>

+<!ELEMENT DOCKINFO (STATUS, ROW, COLUMN, DOCKBARID, PCTWIDTH, HGT, GROUPID)>

+<!ELEMENT STATUS (#PCDATA)>

+<!ELEMENT ROW (#PCDATA)>

+<!ELEMENT COLUMN (#PCDATA)>

+<!ELEMENT DOCKBARID (#PCDATA)>

+<!ELEMENT PCTWIDTH (#PCDATA)>

+<!ELEMENT HGT (#PCDATA)>

+<!ELEMENT GROUPID (GIDHIGHPART, GIDLOWPART)>

+<!ELEMENT GIDHIGHPART (#PCDATA)>

+<!ELEMENT GIDLOWPART (#PCDATA)>

+<!ELEMENT CLSID (#PCDATA)>

+<!ELEMENT OWNERPROJECT (#PCDATA)>

+<!ATTLIST OWNERPROJECT USERELATIVEPATHS (true | false) "true">

+<!ELEMENT DATA (#PCDATA)>

+<!ATTLIST DATA BINARYFORMAT (true | false) "true">

+]>

+

+<MWIDEWORKSPACE>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <DEFAULT>true</DEFAULT>

+        <PATH USERELATIVEPATHS = "true">pjlib.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjlib_util.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjnath.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">null_audio.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjsdp.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjmedia.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjsip.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjsip_simple.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjsip_ua.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">pjsua_lib.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-1</SESSION>

+        <EDOCTYPE>0</EDOCTYPE>

+        <PATH USERELATIVEPATHS = "true">symbian_ua.mcp</PATH>

+        <FRAMELOC>

+            <X>0</X>

+            <Y>0</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>347</W>

+            <H>128</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>1</STATUS>

+            <ROW>0</ROW>

+            <COLUMN>0</COLUMN>

+            <DOCKBARID>59420</DOCKBARID>

+            <PCTWIDTH>1.000000</PCTWIDTH>

+            <HGT>350</HGT>

+            <GROUPID>

+                <GIDHIGHPART>4294967294</GIDHIGHPART>

+                <GIDLOWPART>4294967294</GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-2147483648</SESSION>

+        <EDOCTYPE>20</EDOCTYPE>

+        <FRAMELOC>

+            <X>4</X>

+            <Y>23</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>1464</W>

+            <H>3681</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>0</STATUS>

+            <ROW></ROW>

+            <COLUMN></COLUMN>

+            <DOCKBARID></DOCKBARID>

+            <PCTWIDTH></PCTWIDTH>

+            <HGT></HGT>

+            <GROUPID>

+                <GIDHIGHPART></GIDHIGHPART>

+                <GIDLOWPART></GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-2147483648</SESSION>

+        <EDOCTYPE>36</EDOCTYPE>

+        <FRAMELOC>

+            <X>4</X>

+            <Y>23</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>366</W>

+            <H>354</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>0</STATUS>

+            <ROW></ROW>

+            <COLUMN></COLUMN>

+            <DOCKBARID></DOCKBARID>

+            <PCTWIDTH></PCTWIDTH>

+            <HGT></HGT>

+            <GROUPID>

+                <GIDHIGHPART></GIDHIGHPART>

+                <GIDLOWPART></GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+    <WINDOW>

+        <SESSION>-2147483648</SESSION>

+        <EDOCTYPE>23</EDOCTYPE>

+        <FRAMELOC>

+            <X>6</X>

+            <Y>81</Y>

+        </FRAMELOC>

+        <FRAMESIZE>

+            <W>566</W>

+            <H>477</H>

+        </FRAMESIZE>

+        <DOCKINFO>

+            <STATUS>0</STATUS>

+            <ROW></ROW>

+            <COLUMN></COLUMN>

+            <DOCKBARID></DOCKBARID>

+            <PCTWIDTH></PCTWIDTH>

+            <HGT></HGT>

+            <GROUPID>

+                <GIDHIGHPART></GIDHIGHPART>

+                <GIDLOWPART></GIDLOWPART>

+            </GROUPID>

+        </DOCKINFO>

+    </WINDOW>

+</MWIDEWORKSPACE>

diff --git a/jni/pjproject-android/build.symbian/pjsdp.mmp b/jni/pjproject-android/build.symbian/pjsdp.mmp
new file mode 100644
index 0000000..e165704
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsdp.mmp
@@ -0,0 +1,46 @@
+#if defined(PJ_BUILD_DLL)
+TARGET		pjsdp.dll
+TARGETTYPE	dll
+UID		0x0 0xA0000006
+
+CAPABILITY	None
+LIBRARY		pjlib_util.lib pjlib.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjsdp.def
+
+#else
+
+TARGET 		pjsdp.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjmedia\src\pjmedia
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
+//
+// Platform independent source
+//
+SOURCE		errno.c
+SOURCE		sdp_wrap.cpp
+SOURCE		sdp_cmp.c
+SOURCE		sdp_neg.c
+
+
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include 
+SYSTEMINCLUDE	..\pjmedia\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
diff --git a/jni/pjproject-android/build.symbian/pjsdpU.def b/jni/pjproject-android/build.symbian/pjsdpU.def
new file mode 100644
index 0000000..569193d
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsdpU.def
@@ -0,0 +1,45 @@
+EXPORTS
+	pjmedia_sdp_attr_add                     @ 1 NONAME
+	pjmedia_sdp_attr_clone                   @ 2 NONAME
+	pjmedia_sdp_attr_create                  @ 3 NONAME
+	pjmedia_sdp_attr_find                    @ 4 NONAME
+	pjmedia_sdp_attr_find2                   @ 5 NONAME
+	pjmedia_sdp_attr_get_fmtp                @ 6 NONAME
+	pjmedia_sdp_attr_get_rtcp                @ 7 NONAME
+	pjmedia_sdp_attr_get_rtpmap              @ 8 NONAME
+	pjmedia_sdp_attr_remove                  @ 9 NONAME
+	pjmedia_sdp_attr_remove_all              @ 10 NONAME
+	pjmedia_sdp_attr_to_rtpmap               @ 11 NONAME
+	pjmedia_sdp_conn_clone                   @ 12 NONAME
+	pjmedia_sdp_media_add_attr               @ 13 NONAME
+	pjmedia_sdp_media_clone                  @ 14 NONAME
+	pjmedia_sdp_media_cmp                    @ 15 NONAME
+	pjmedia_sdp_media_find_attr              @ 16 NONAME
+	pjmedia_sdp_media_find_attr2             @ 17 NONAME
+	pjmedia_sdp_media_remove_all_attr        @ 18 NONAME
+	pjmedia_sdp_media_remove_attr            @ 19 NONAME
+	pjmedia_sdp_neg_cancel_offer             @ 20 NONAME
+	pjmedia_sdp_neg_create_w_local_offer     @ 21 NONAME
+	pjmedia_sdp_neg_create_w_remote_offer    @ 22 NONAME
+	pjmedia_sdp_neg_get_active_local         @ 23 NONAME
+	pjmedia_sdp_neg_get_active_remote        @ 24 NONAME
+	pjmedia_sdp_neg_get_neg_local            @ 25 NONAME
+	pjmedia_sdp_neg_get_neg_remote           @ 26 NONAME
+	pjmedia_sdp_neg_get_state                @ 27 NONAME
+	pjmedia_sdp_neg_has_local_answer         @ 28 NONAME
+	pjmedia_sdp_neg_modify_local_offer       @ 29 NONAME
+	pjmedia_sdp_neg_negotiate                @ 30 NONAME
+	pjmedia_sdp_neg_send_local_offer         @ 31 NONAME
+	pjmedia_sdp_neg_set_local_answer         @ 32 NONAME
+	pjmedia_sdp_neg_set_prefer_remote_codec_order @ 33 NONAME
+	pjmedia_sdp_neg_set_remote_answer        @ 34 NONAME
+	pjmedia_sdp_neg_set_remote_offer         @ 35 NONAME
+	pjmedia_sdp_neg_state_str                @ 36 NONAME
+	pjmedia_sdp_neg_was_answer_remote        @ 37 NONAME
+	pjmedia_sdp_parse                        @ 38 NONAME
+	pjmedia_sdp_print                        @ 39 NONAME
+	pjmedia_sdp_rtpmap_to_attr               @ 40 NONAME
+	pjmedia_sdp_session_clone                @ 41 NONAME
+	pjmedia_sdp_session_cmp                  @ 42 NONAME
+	pjmedia_sdp_validate                     @ 43 NONAME
+	pjmedia_strerror                         @ 44 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjsip.mmp b/jni/pjproject-android/build.symbian/pjsip.mmp
new file mode 100644
index 0000000..1fd7440
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsip.mmp
@@ -0,0 +1,69 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		pjsip.dll
+TARGETTYPE	dll
+
+UID		0x0 0xA0000007
+
+
+CAPABILITY	None
+LIBRARY		pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjsip.def
+
+#else
+
+TARGET 		pjsip.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjsip\src\pjsip
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
+// PJSIP-CORE files
+
+//SOURCE	sip_auth_aka.c
+SOURCE	sip_auth_client.c
+SOURCE	sip_auth_msg.c
+SOURCE	sip_auth_parser_wrap.cpp
+SOURCE	sip_auth_server.c
+SOURCE	sip_config.c
+SOURCE	sip_dialog_wrap.cpp
+SOURCE	sip_endpoint_wrap.cpp
+SOURCE	sip_errno.c
+SOURCE	sip_msg.c
+SOURCE	sip_multipart.c
+SOURCE	sip_parser_wrap.cpp
+SOURCE	sip_resolve.c
+SOURCE	sip_tel_uri_wrap.cpp
+SOURCE	sip_transaction.c
+SOURCE	sip_transport_wrap.cpp
+SOURCE	sip_transport_loop.c
+SOURCE	sip_transport_tcp.c
+SOURCE	sip_transport_udp.c
+SOURCE	sip_transport_tls.c
+SOURCE	sip_ua_layer.c
+SOURCE	sip_uri.c
+SOURCE	sip_util_wrap.cpp
+SOURCE	sip_util_proxy_wrap.cpp
+SOURCE	sip_util_statefull.c
+
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include 
+SYSTEMINCLUDE	..\pjsip\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
+
diff --git a/jni/pjproject-android/build.symbian/pjsipU.def b/jni/pjproject-android/build.symbian/pjsipU.def
new file mode 100644
index 0000000..68d31eb
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsipU.def
@@ -0,0 +1,280 @@
+EXPORTS
+	pjsip_accept_hdr_create                  @ 1 NONAME
+	pjsip_accept_hdr_init                    @ 2 NONAME
+	pjsip_ack_method                         @ 3 NONAME
+	pjsip_allow_hdr_create                   @ 4 NONAME
+	pjsip_allow_hdr_init                     @ 5 NONAME
+	pjsip_auth_clt_clone                     @ 6 NONAME
+	pjsip_auth_clt_get_prefs                 @ 7 NONAME
+	pjsip_auth_clt_init                      @ 8 NONAME
+	pjsip_auth_clt_init_req                  @ 9 NONAME
+	pjsip_auth_clt_reinit_req                @ 10 NONAME
+	pjsip_auth_clt_set_credentials           @ 11 NONAME
+	pjsip_auth_clt_set_prefs                 @ 12 NONAME
+	pjsip_auth_create_digest                 @ 13 NONAME
+	pjsip_auth_deinit_parser                 @ 14 NONAME
+	pjsip_auth_init_parser                   @ 15 NONAME
+	pjsip_auth_srv_challenge                 @ 16 NONAME
+	pjsip_auth_srv_init                      @ 17 NONAME
+	pjsip_auth_srv_verify                    @ 18 NONAME
+	pjsip_authorization_hdr_create           @ 19 NONAME
+	pjsip_bye_method                         @ 20 NONAME
+	pjsip_calculate_branch_id                @ 21 NONAME
+	pjsip_cancel_method                      @ 22 NONAME
+	pjsip_cid_hdr_create                     @ 23 NONAME
+	pjsip_cid_hdr_init                       @ 24 NONAME
+	pjsip_clen_hdr_create                    @ 25 NONAME
+	pjsip_clen_hdr_init                      @ 26 NONAME
+	pjsip_clone_text_data                    @ 27 NONAME
+	pjsip_concat_param_imp                   @ 28 NONAME
+	pjsip_contact_hdr_create                 @ 29 NONAME
+	pjsip_contact_hdr_init                   @ 30 NONAME
+	pjsip_cred_info_dup                      @ 31 NONAME
+	pjsip_cseq_hdr_create                    @ 32 NONAME
+	pjsip_cseq_hdr_init                      @ 33 NONAME
+	pjsip_ctype_hdr_create                   @ 34 NONAME
+	pjsip_ctype_hdr_init                     @ 35 NONAME
+	pjsip_dlg_add_usage                      @ 36 NONAME
+	pjsip_dlg_create_request                 @ 37 NONAME
+	pjsip_dlg_create_response                @ 38 NONAME
+	pjsip_dlg_create_uac                     @ 39 NONAME
+	pjsip_dlg_create_uas                     @ 40 NONAME
+	pjsip_dlg_dec_lock                       @ 41 NONAME
+	pjsip_dlg_dec_session                    @ 42 NONAME
+	pjsip_dlg_fork                           @ 43 NONAME
+	pjsip_dlg_get_mod_data                   @ 44 NONAME
+	pjsip_dlg_inc_lock                       @ 45 NONAME
+	pjsip_dlg_inc_session                    @ 46 NONAME
+	pjsip_dlg_modify_response                @ 47 NONAME
+	pjsip_dlg_respond                        @ 48 NONAME
+	pjsip_dlg_send_request                   @ 49 NONAME
+	pjsip_dlg_send_response                  @ 50 NONAME
+	pjsip_dlg_set_mod_data                   @ 51 NONAME
+	pjsip_dlg_set_route_set                  @ 52 NONAME
+	pjsip_dlg_set_transport                  @ 53 NONAME
+	pjsip_dlg_terminate                      @ 54 NONAME
+	pjsip_dlg_try_inc_lock                   @ 55 NONAME
+	pjsip_endpt_acquire_transport            @ 56 NONAME
+	pjsip_endpt_add_capability               @ 57 NONAME
+	pjsip_endpt_cancel_timer                 @ 58 NONAME
+	pjsip_endpt_create                       @ 59 NONAME
+	pjsip_endpt_create_ack                   @ 60 NONAME
+	pjsip_endpt_create_cancel                @ 61 NONAME
+	pjsip_endpt_create_pool                  @ 62 NONAME
+	pjsip_endpt_create_request               @ 63 NONAME
+	pjsip_endpt_create_request_from_hdr      @ 64 NONAME
+	pjsip_endpt_create_request_fwd           @ 65 NONAME
+	pjsip_endpt_create_resolver              @ 66 NONAME
+	pjsip_endpt_create_response              @ 67 NONAME
+	pjsip_endpt_create_response_fwd          @ 68 NONAME
+	pjsip_endpt_create_tdata                 @ 69 NONAME
+	pjsip_endpt_destroy                      @ 70 NONAME
+	pjsip_endpt_dump                         @ 71 NONAME
+	pjsip_endpt_get_capability               @ 72 NONAME
+	pjsip_endpt_get_ioqueue                  @ 73 NONAME
+	pjsip_endpt_get_request_headers          @ 74 NONAME
+	pjsip_endpt_get_resolver                 @ 75 NONAME
+	pjsip_endpt_get_timer_heap               @ 76 NONAME
+	pjsip_endpt_get_tpmgr                    @ 77 NONAME
+	pjsip_endpt_handle_events                @ 78 NONAME
+	pjsip_endpt_handle_events2               @ 79 NONAME
+	pjsip_endpt_has_capability               @ 80 NONAME
+	pjsip_endpt_log_error                    @ 81 NONAME
+	pjsip_endpt_name                         @ 82 NONAME
+	pjsip_endpt_register_module              @ 83 NONAME
+	pjsip_endpt_release_pool                 @ 84 NONAME
+	pjsip_endpt_resolve                      @ 85 NONAME
+	pjsip_endpt_respond                      @ 86 NONAME
+	pjsip_endpt_respond_stateless            @ 87 NONAME
+	pjsip_endpt_schedule_timer               @ 88 NONAME
+	pjsip_endpt_send_raw                     @ 89 NONAME
+	pjsip_endpt_send_raw_to_uri              @ 90 NONAME
+	pjsip_endpt_send_request                 @ 91 NONAME
+	pjsip_endpt_send_request_stateless       @ 92 NONAME
+	pjsip_endpt_send_response                @ 93 NONAME
+	pjsip_endpt_send_response2               @ 94 NONAME
+	pjsip_endpt_set_resolver                 @ 95 NONAME
+	pjsip_endpt_unregister_module            @ 96 NONAME
+	pjsip_event_str                          @ 97 NONAME
+	pjsip_expires_hdr_create                 @ 98 NONAME
+	pjsip_expires_hdr_init                   @ 99 NONAME
+	pjsip_find_msg                           @ 100 NONAME
+	pjsip_from_hdr_create                    @ 101 NONAME
+	pjsip_from_hdr_init                      @ 102 NONAME
+	pjsip_fromto_hdr_set_from                @ 103 NONAME
+	pjsip_fromto_hdr_set_to                  @ 104 NONAME
+	pjsip_generic_array_hdr_create           @ 105 NONAME
+	pjsip_generic_array_hdr_init             @ 106 NONAME
+	pjsip_generic_int_hdr_create             @ 107 NONAME
+	pjsip_generic_int_hdr_init               @ 108 NONAME
+	pjsip_generic_string_hdr_create          @ 109 NONAME
+	pjsip_generic_string_hdr_init            @ 110 NONAME
+	pjsip_generic_string_hdr_init2           @ 111 NONAME
+	pjsip_get_ack_method                     @ 112 NONAME
+	pjsip_get_bye_method                     @ 113 NONAME
+	pjsip_get_cancel_method                  @ 114 NONAME
+	pjsip_get_invite_method                  @ 115 NONAME
+	pjsip_get_options_method                 @ 116 NONAME
+	pjsip_get_register_method                @ 117 NONAME
+	pjsip_get_request_dest                   @ 118 NONAME
+	pjsip_get_response_addr                  @ 119 NONAME
+	pjsip_get_status_text                    @ 120 NONAME
+	pjsip_hdr_clone                          @ 121 NONAME
+	pjsip_hdr_print_on                       @ 122 NONAME
+	pjsip_hdr_shallow_clone                  @ 123 NONAME
+	pjsip_invite_method                      @ 124 NONAME
+	pjsip_loop_set_delay                     @ 125 NONAME
+	pjsip_loop_set_discard                   @ 126 NONAME
+	pjsip_loop_set_failure                   @ 127 NONAME
+	pjsip_loop_set_recv_delay                @ 128 NONAME
+	pjsip_loop_set_send_callback_delay       @ 129 NONAME
+	pjsip_loop_start                         @ 130 NONAME
+	pjsip_max_fwd_hdr_create                 @ 131 NONAME
+	pjsip_max_fwd_hdr_init                   @ 132 NONAME
+	pjsip_method_cmp                         @ 133 NONAME
+	pjsip_method_copy                        @ 134 NONAME
+	pjsip_method_creates_dialog              @ 135 NONAME
+	pjsip_method_init                        @ 136 NONAME
+	pjsip_method_init_np                     @ 137 NONAME
+	pjsip_method_set                         @ 138 NONAME
+	pjsip_min_expires_hdr_create             @ 139 NONAME
+	pjsip_min_expires_hdr_init               @ 140 NONAME
+	pjsip_msg_body_clone                     @ 141 NONAME
+	pjsip_msg_body_copy                      @ 142 NONAME
+	pjsip_msg_body_create                    @ 143 NONAME
+	pjsip_msg_clone                          @ 144 NONAME
+	pjsip_msg_create                         @ 145 NONAME
+	pjsip_msg_find_hdr                       @ 146 NONAME
+	pjsip_msg_find_hdr_by_name               @ 147 NONAME
+	pjsip_msg_find_remove_hdr                @ 148 NONAME
+	pjsip_msg_print                          @ 149 NONAME
+	pjsip_name_addr_assign                   @ 150 NONAME
+	pjsip_name_addr_create                   @ 151 NONAME
+	pjsip_name_addr_init                     @ 152 NONAME
+	pjsip_options_method                     @ 153 NONAME
+	pjsip_param_cfind                        @ 154 NONAME
+	pjsip_param_clone                        @ 155 NONAME
+	pjsip_param_find                         @ 156 NONAME
+	pjsip_param_print_on                     @ 157 NONAME
+	pjsip_param_shallow_clone                @ 158 NONAME
+	pjsip_parse_end_hdr_imp                  @ 159 NONAME
+	pjsip_parse_hdr                          @ 160 NONAME
+	pjsip_parse_msg                          @ 161 NONAME
+	pjsip_parse_param_imp                    @ 162 NONAME
+	pjsip_parse_rdata                        @ 163 NONAME
+	pjsip_parse_status_line                  @ 164 NONAME
+	pjsip_parse_uri                          @ 165 NONAME
+	pjsip_parse_uri_param_imp                @ 166 NONAME
+	pjsip_parser_const                       @ 167 NONAME
+	pjsip_print_text_body                    @ 168 NONAME
+	pjsip_process_route_set                  @ 169 NONAME
+	pjsip_proxy_authenticate_hdr_create      @ 170 NONAME
+	pjsip_proxy_authorization_hdr_create     @ 171 NONAME
+	pjsip_rdata_get_dlg                      @ 172 NONAME
+	pjsip_rdata_get_tsx                      @ 173 NONAME
+	pjsip_register_hdr_parser                @ 174 NONAME
+	pjsip_register_method                    @ 175 NONAME
+	pjsip_register_uri_parser                @ 176 NONAME
+	pjsip_require_hdr_create                 @ 177 NONAME
+	pjsip_require_hdr_init                   @ 178 NONAME
+	pjsip_resolve                            @ 179 NONAME
+	pjsip_resolver_create                    @ 180 NONAME
+	pjsip_resolver_destroy                   @ 181 NONAME
+	pjsip_resolver_get_resolver              @ 182 NONAME
+	pjsip_resolver_set_resolver              @ 183 NONAME
+	pjsip_retry_after_hdr_create             @ 184 NONAME
+	pjsip_retry_after_hdr_init               @ 185 NONAME
+	pjsip_role_name                          @ 186 NONAME
+	pjsip_route_hdr_create                   @ 187 NONAME
+	pjsip_route_hdr_init                     @ 188 NONAME
+	pjsip_routing_hdr_set_route              @ 189 NONAME
+	pjsip_routing_hdr_set_rr                 @ 190 NONAME
+	pjsip_rr_hdr_create                      @ 191 NONAME
+	pjsip_rr_hdr_init                        @ 192 NONAME
+	pjsip_rx_data_get_info                   @ 193 NONAME
+	pjsip_sip_uri_assign                     @ 194 NONAME
+	pjsip_sip_uri_create                     @ 195 NONAME
+	pjsip_sip_uri_init                       @ 196 NONAME
+	pjsip_sip_uri_set_secure                 @ 197 NONAME
+	pjsip_strerror                           @ 198 NONAME
+	pjsip_supported_hdr_create               @ 199 NONAME
+	pjsip_supported_hdr_init                 @ 200 NONAME
+	pjsip_tcp_transport_start                @ 201 NONAME
+	pjsip_tcp_transport_start2               @ 202 NONAME
+	pjsip_tel_nb_cmp                         @ 203 NONAME
+	pjsip_tel_uri_create                     @ 204 NONAME
+	pjsip_to_hdr_create                      @ 205 NONAME
+	pjsip_to_hdr_init                        @ 206 NONAME
+	pjsip_tpmgr_acquire_transport            @ 207 NONAME
+	pjsip_tpmgr_create                       @ 208 NONAME
+	pjsip_tpmgr_destroy                      @ 209 NONAME
+	pjsip_tpmgr_dump_transports              @ 210 NONAME
+	pjsip_tpmgr_find_local_addr              @ 211 NONAME
+	pjsip_tpmgr_get_transport_count          @ 212 NONAME
+	pjsip_tpmgr_receive_packet               @ 213 NONAME
+	pjsip_tpmgr_register_tpfactory           @ 214 NONAME
+	pjsip_tpmgr_send_raw                     @ 215 NONAME
+	pjsip_tpmgr_unregister_tpfactory         @ 216 NONAME
+	pjsip_tpselector_add_ref                 @ 217 NONAME
+	pjsip_tpselector_dec_ref                 @ 218 NONAME
+	pjsip_transport_add_ref                  @ 219 NONAME
+	pjsip_transport_dec_ref                  @ 220 NONAME
+	pjsip_transport_destroy                  @ 221 NONAME
+	pjsip_transport_get_default_port_for_type @ 222 NONAME
+	pjsip_transport_get_flag_from_type       @ 223 NONAME
+	pjsip_transport_get_type_desc            @ 224 NONAME
+	pjsip_transport_get_type_from_flag       @ 225 NONAME
+	pjsip_transport_get_type_from_name       @ 226 NONAME
+	pjsip_transport_get_type_name            @ 227 NONAME
+	pjsip_transport_register                 @ 228 NONAME
+	pjsip_transport_register_type            @ 229 NONAME
+	pjsip_transport_send                     @ 230 NONAME
+	pjsip_transport_shutdown                 @ 231 NONAME
+	pjsip_transport_type_get_af              @ 232 NONAME
+	pjsip_tsx_create_key                     @ 233 NONAME
+	pjsip_tsx_create_uac                     @ 234 NONAME
+	pjsip_tsx_create_uas                     @ 235 NONAME
+	pjsip_tsx_get_dlg                        @ 236 NONAME
+	pjsip_tsx_layer_destroy                  @ 237 NONAME
+	pjsip_tsx_layer_dump                     @ 238 NONAME
+	pjsip_tsx_layer_find_tsx                 @ 239 NONAME
+	pjsip_tsx_layer_get_tsx_count            @ 240 NONAME
+	pjsip_tsx_layer_init_module              @ 241 NONAME
+	pjsip_tsx_layer_instance                 @ 242 NONAME
+	pjsip_tsx_recv_msg                       @ 243 NONAME
+	pjsip_tsx_retransmit_no_state            @ 244 NONAME
+	pjsip_tsx_send_msg                       @ 245 NONAME
+	pjsip_tsx_set_transport                  @ 246 NONAME
+	pjsip_tsx_state_str                      @ 247 NONAME
+	pjsip_tsx_stop_retransmit                @ 248 NONAME
+	pjsip_tsx_terminate                      @ 249 NONAME
+	pjsip_tx_data_add_ref                    @ 250 NONAME
+	pjsip_tx_data_create                     @ 251 NONAME
+	pjsip_tx_data_dec_ref                    @ 252 NONAME
+	pjsip_tx_data_get_info                   @ 253 NONAME
+	pjsip_tx_data_invalidate_msg             @ 254 NONAME
+	pjsip_tx_data_is_valid                   @ 255 NONAME
+	pjsip_tx_data_set_transport              @ 256 NONAME
+	pjsip_ua_destroy                         @ 257 NONAME
+	pjsip_ua_dump                            @ 258 NONAME
+	pjsip_ua_find_dialog                     @ 259 NONAME
+	pjsip_ua_get_dlg_set_count               @ 260 NONAME
+	pjsip_ua_get_endpt                       @ 261 NONAME
+	pjsip_ua_init_module                     @ 262 NONAME
+	pjsip_ua_instance                        @ 263 NONAME
+	pjsip_ua_register_dlg                    @ 264 NONAME
+	pjsip_ua_unregister_dlg                  @ 265 NONAME
+	pjsip_udp_transport_attach               @ 266 NONAME
+	pjsip_udp_transport_attach2              @ 267 NONAME
+	pjsip_udp_transport_get_socket           @ 268 NONAME
+	pjsip_udp_transport_pause                @ 269 NONAME
+	pjsip_udp_transport_restart              @ 270 NONAME
+	pjsip_udp_transport_start                @ 271 NONAME
+	pjsip_udp_transport_start6               @ 272 NONAME
+	pjsip_unsupported_hdr_create             @ 273 NONAME
+	pjsip_unsupported_hdr_init               @ 274 NONAME
+	pjsip_via_hdr_create                     @ 275 NONAME
+	pjsip_via_hdr_init                       @ 276 NONAME
+	pjsip_warning_hdr_create                 @ 277 NONAME
+	pjsip_warning_hdr_create_from_status     @ 278 NONAME
+	pjsip_www_authenticate_hdr_create        @ 279 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjsip_simple.mmp b/jni/pjproject-android/build.symbian/pjsip_simple.mmp
new file mode 100644
index 0000000..9b83a9d
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsip_simple.mmp
@@ -0,0 +1,54 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		pjsip_simple.dll
+TARGETTYPE	dll
+
+UID		0x0 0xA0000008
+
+
+CAPABILITY	None
+LIBRARY		pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjsip_simple.def
+
+#else
+
+TARGET 		pjsip_simple.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjsip\src\pjsip-simple
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
+// PJSIP-SIMPLE files
+
+SOURCE	errno.c
+SOURCE	evsub.c
+SOURCE	evsub_msg.c
+SOURCE	iscomposing.c
+SOURCE	mwi.c
+SOURCE	pidf.c
+SOURCE	presence.c
+SOURCE	presence_body.c
+SOURCE	publishc.c
+SOURCE	rpid.c
+SOURCE	xpidf.c
+
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include 
+SYSTEMINCLUDE	..\pjsip\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
diff --git a/jni/pjproject-android/build.symbian/pjsip_simpleU.def b/jni/pjproject-android/build.symbian/pjsip_simpleU.def
new file mode 100644
index 0000000..7e41793
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsip_simpleU.def
@@ -0,0 +1,96 @@
+EXPORTS
+	pjpidf_create                            @ 1 NONAME
+	pjpidf_parse                             @ 2 NONAME
+	pjpidf_pres_add_note                     @ 3 NONAME
+	pjpidf_pres_add_tuple                    @ 4 NONAME
+	pjpidf_pres_construct                    @ 5 NONAME
+	pjpidf_pres_find_tuple                   @ 6 NONAME
+	pjpidf_pres_get_first_note               @ 7 NONAME
+	pjpidf_pres_get_first_tuple              @ 8 NONAME
+	pjpidf_pres_get_next_note                @ 9 NONAME
+	pjpidf_pres_get_next_tuple               @ 10 NONAME
+	pjpidf_pres_remove_tuple                 @ 11 NONAME
+	pjpidf_print                             @ 12 NONAME
+	pjpidf_status_construct                  @ 13 NONAME
+	pjpidf_status_is_basic_open              @ 14 NONAME
+	pjpidf_status_set_basic_open             @ 15 NONAME
+	pjpidf_tuple_add_note                    @ 16 NONAME
+	pjpidf_tuple_construct                   @ 17 NONAME
+	pjpidf_tuple_get_contact                 @ 18 NONAME
+	pjpidf_tuple_get_contact_prio            @ 19 NONAME
+	pjpidf_tuple_get_first_note              @ 20 NONAME
+	pjpidf_tuple_get_id                      @ 21 NONAME
+	pjpidf_tuple_get_next_note               @ 22 NONAME
+	pjpidf_tuple_get_status                  @ 23 NONAME
+	pjpidf_tuple_get_timestamp               @ 24 NONAME
+	pjpidf_tuple_set_contact                 @ 25 NONAME
+	pjpidf_tuple_set_contact_prio            @ 26 NONAME
+	pjpidf_tuple_set_id                      @ 27 NONAME
+	pjpidf_tuple_set_timestamp               @ 28 NONAME
+	pjpidf_tuple_set_timestamp_np            @ 29 NONAME
+	pjrpid_add_element                       @ 30 NONAME
+	pjrpid_element_dup                       @ 31 NONAME
+	pjrpid_get_element                       @ 32 NONAME
+	pjsip_allow_events_hdr_create            @ 33 NONAME
+	pjsip_event_hdr_create                   @ 34 NONAME
+	pjsip_evsub_accept                       @ 35 NONAME
+	pjsip_evsub_create_uac                   @ 36 NONAME
+	pjsip_evsub_create_uas                   @ 37 NONAME
+	pjsip_evsub_current_notify               @ 38 NONAME
+	pjsip_evsub_get_allow_events_hdr         @ 39 NONAME
+	pjsip_evsub_get_mod_data                 @ 40 NONAME
+	pjsip_evsub_get_state                    @ 41 NONAME
+	pjsip_evsub_get_state_name               @ 42 NONAME
+	pjsip_evsub_init_module                  @ 43 NONAME
+	pjsip_evsub_init_parser                  @ 44 NONAME
+	pjsip_evsub_initiate                     @ 45 NONAME
+	pjsip_evsub_instance                     @ 46 NONAME
+	pjsip_evsub_notify                       @ 47 NONAME
+	pjsip_evsub_register_pkg                 @ 48 NONAME
+	pjsip_evsub_send_request                 @ 49 NONAME
+	pjsip_evsub_set_mod_data                 @ 50 NONAME
+	pjsip_evsub_terminate                    @ 51 NONAME
+	pjsip_get_notify_method                  @ 52 NONAME
+	pjsip_get_subscribe_method               @ 53 NONAME
+	pjsip_iscomposing_create_body            @ 54 NONAME
+	pjsip_iscomposing_create_xml             @ 55 NONAME
+	pjsip_iscomposing_parse                  @ 56 NONAME
+	pjsip_notify_method                      @ 57 NONAME
+	pjsip_pres_accept                        @ 58 NONAME
+	pjsip_pres_create_pidf                   @ 59 NONAME
+	pjsip_pres_create_uac                    @ 60 NONAME
+	pjsip_pres_create_uas                    @ 61 NONAME
+	pjsip_pres_create_xpidf                  @ 62 NONAME
+	pjsip_pres_current_notify                @ 63 NONAME
+	pjsip_pres_get_status                    @ 64 NONAME
+	pjsip_pres_init_module                   @ 65 NONAME
+	pjsip_pres_initiate                      @ 66 NONAME
+	pjsip_pres_instance                      @ 67 NONAME
+	pjsip_pres_notify                        @ 68 NONAME
+	pjsip_pres_parse_pidf                    @ 69 NONAME
+	pjsip_pres_parse_xpidf                   @ 70 NONAME
+	pjsip_pres_send_request                  @ 71 NONAME
+	pjsip_pres_set_status                    @ 72 NONAME
+	pjsip_pres_terminate                     @ 73 NONAME
+	pjsip_publishc_create                    @ 74 NONAME
+	pjsip_publishc_destroy                   @ 75 NONAME
+	pjsip_publishc_get_pool                  @ 76 NONAME
+	pjsip_publishc_init                      @ 77 NONAME
+	pjsip_publishc_init_module               @ 78 NONAME
+	pjsip_publishc_publish                   @ 79 NONAME
+	pjsip_publishc_send                      @ 80 NONAME
+	pjsip_publishc_set_credentials           @ 81 NONAME
+	pjsip_publishc_set_route_set             @ 82 NONAME
+	pjsip_publishc_unpublish                 @ 83 NONAME
+	pjsip_publishc_update_expires            @ 84 NONAME
+	pjsip_sub_state_hdr_create               @ 85 NONAME
+	pjsip_subscribe_method                   @ 86 NONAME
+	pjsip_tsx_get_evsub                      @ 87 NONAME
+	pjsipsimple_strerror                     @ 88 NONAME
+	pjxpidf_create                           @ 89 NONAME
+	pjxpidf_get_status                       @ 90 NONAME
+	pjxpidf_get_uri                          @ 91 NONAME
+	pjxpidf_parse                            @ 92 NONAME
+	pjxpidf_print                            @ 93 NONAME
+	pjxpidf_set_status                       @ 94 NONAME
+	pjxpidf_set_uri                          @ 95 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjsip_ua.mmp b/jni/pjproject-android/build.symbian/pjsip_ua.mmp
new file mode 100644
index 0000000..609c0a3
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsip_ua.mmp
@@ -0,0 +1,52 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		pjsip_ua.dll
+TARGETTYPE	dll
+
+UID		0x0 0xA0000009
+
+
+CAPABILITY	None
+LIBRARY		pjsip_simple.lib pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\pjsip_ua.def
+
+#else
+
+TARGET 		pjsip_ua.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjsip\src\pjsip-ua
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp --gnu
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
+
+// PJSIP-UA files
+
+SOURCE	sip_inv.c
+SOURCE	sip_reg.c
+SOURCE	sip_replaces.c
+SOURCE	sip_xfer.c
+SOURCE	sip_100rel.c
+SOURCE	sip_timer.c
+
+SYSTEMINCLUDE	..\pjlib\include 
+SYSTEMINCLUDE	..\pjlib-util\include 
+SYSTEMINCLUDE	..\pjsip\include 
+SYSTEMINCLUDE	..\pjmedia\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
+
diff --git a/jni/pjproject-android/build.symbian/pjsip_uaU.def b/jni/pjproject-android/build.symbian/pjsip_uaU.def
new file mode 100644
index 0000000..0c847a9
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsip_uaU.def
@@ -0,0 +1,58 @@
+EXPORTS
+	pjsip_100rel_attach                      @ 1 NONAME
+	pjsip_100rel_create_prack                @ 2 NONAME
+	pjsip_100rel_end_session                 @ 3 NONAME
+	pjsip_100rel_init_module                 @ 4 NONAME
+	pjsip_100rel_is_reliable                 @ 5 NONAME
+	pjsip_100rel_on_rx_prack                 @ 6 NONAME
+	pjsip_100rel_send_prack                  @ 7 NONAME
+	pjsip_100rel_tx_response                 @ 8 NONAME
+	pjsip_create_sdp_body                    @ 9 NONAME
+	pjsip_dlg_get_inv_session                @ 10 NONAME
+	pjsip_get_prack_method                   @ 11 NONAME
+	pjsip_get_refer_method                   @ 12 NONAME
+	pjsip_inv_answer                         @ 13 NONAME
+	pjsip_inv_create_ack                     @ 14 NONAME
+	pjsip_inv_create_uac                     @ 15 NONAME
+	pjsip_inv_create_uas                     @ 16 NONAME
+	pjsip_inv_end_session                    @ 17 NONAME
+	pjsip_inv_initial_answer                 @ 18 NONAME
+	pjsip_inv_invite                         @ 19 NONAME
+	pjsip_inv_reinvite                       @ 20 NONAME
+	pjsip_inv_send_msg                       @ 21 NONAME
+	pjsip_inv_set_sdp_answer                 @ 22 NONAME
+	pjsip_inv_state_name                     @ 23 NONAME
+	pjsip_inv_terminate                      @ 24 NONAME
+	pjsip_inv_update                         @ 25 NONAME
+	pjsip_inv_usage_init                     @ 26 NONAME
+	pjsip_inv_usage_instance                 @ 27 NONAME
+	pjsip_inv_verify_request                 @ 28 NONAME
+	pjsip_prack_method                       @ 29 NONAME
+	pjsip_refer_method                       @ 30 NONAME
+	pjsip_regc_add_headers                   @ 31 NONAME
+	pjsip_regc_create                        @ 32 NONAME
+	pjsip_regc_destroy                       @ 33 NONAME
+	pjsip_regc_get_info                      @ 34 NONAME
+	pjsip_regc_get_pool                      @ 35 NONAME
+	pjsip_regc_init                          @ 36 NONAME
+	pjsip_regc_register                      @ 37 NONAME
+	pjsip_regc_send                          @ 38 NONAME
+	pjsip_regc_set_credentials               @ 39 NONAME
+	pjsip_regc_set_prefs                     @ 40 NONAME
+	pjsip_regc_set_route_set                 @ 41 NONAME
+	pjsip_regc_set_transport                 @ 42 NONAME
+	pjsip_regc_unregister                    @ 43 NONAME
+	pjsip_regc_unregister_all                @ 44 NONAME
+	pjsip_regc_update_contact                @ 45 NONAME
+	pjsip_regc_update_expires                @ 46 NONAME
+	pjsip_replaces_hdr_create                @ 47 NONAME
+	pjsip_replaces_init_module               @ 48 NONAME
+	pjsip_replaces_verify_request            @ 49 NONAME
+	pjsip_xfer_accept                        @ 50 NONAME
+	pjsip_xfer_create_uac                    @ 51 NONAME
+	pjsip_xfer_create_uas                    @ 52 NONAME
+	pjsip_xfer_current_notify                @ 53 NONAME
+	pjsip_xfer_init_module                   @ 54 NONAME
+	pjsip_xfer_initiate                      @ 55 NONAME
+	pjsip_xfer_notify                        @ 56 NONAME
+	pjsip_xfer_send_request                  @ 57 NONAME
diff --git a/jni/pjproject-android/build.symbian/pjstun_client.mmp b/jni/pjproject-android/build.symbian/pjstun_client.mmp
new file mode 100644
index 0000000..6ca5eab
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjstun_client.mmp
@@ -0,0 +1,41 @@
+TARGET 		pjstun_client.exe
+TARGETTYPE 	exe
+UID		0x0 0xA000000A
+
+OPTION          ARMCC --gnu
+
+SOURCEPATH	..\pjnath\src\pjstun-client
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+// PJSTUN-CLIENT files
+
+SOURCE	client_main.c
+
+//SOURCE	main_symbian.cpp
+
+
+SYSTEMINCLUDE	..\pjlib\include
+SYSTEMINCLUDE	..\pjlib-util\include
+SYSTEMINCLUDE	..\pjnath\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+
+#if defined(PJ_BUILD_DLL)
+MACRO		PJ_DLL
+LIBRARY		pjnath.lib pjlib_util.lib pjlib.lib
+#else
+STATICLIBRARY	pjnath.lib pjlib_util.lib pjlib.lib
+#endif
+
+LIBRARY		esock.lib insock.lib charconv.lib euser.lib estlib.lib
+
+#ifdef WINSCW
+STATICLIBRARY   eexe.lib ecrt0.lib
+#endif
+
+
+CAPABILITY	None
+
diff --git a/jni/pjproject-android/build.symbian/pjsua_lib.mmp b/jni/pjproject-android/build.symbian/pjsua_lib.mmp
new file mode 100644
index 0000000..3a73018
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsua_lib.mmp
@@ -0,0 +1,55 @@
+#if defined(PJ_BUILD_DLL)

+

+TARGET		pjsua_lib.dll

+TARGETTYPE	dll

+

+UID		0x0 0xA000000B 

+

+

+CAPABILITY	None

+LIBRARY		pjsip_ua.lib pjsip_simple.lib pjsip.lib pjmedia.lib null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib

+MACRO		PJ_DLL

+MACRO		PJ_EXPORTING

+

+DEFFILE		.\pjsua_lib.def

+

+#else

+

+TARGET 		pjsua_lib.lib

+TARGETTYPE 	lib

+

+#endif

+

+SOURCEPATH	..\pjsip\src\pjsua-lib

+

+MACRO		PJ_M_I386=1

+MACRO		PJ_SYMBIAN=1

+

+// Must compile as C++, otherwise exception would not work

+OPTION          CW -lang c++

+OPTION          ARMCC --cpp --gnu

+OPTION          GCC     -x c++

+OPTION          GCCE    -x c++

+

+// PJLIB-UTIL files

+

+SOURCE	pjsua_acc.c

+SOURCE	pjsua_aud.c

+SOURCE	pjsua_call.c

+SOURCE	pjsua_core.c

+SOURCE	pjsua_dump.c

+SOURCE	pjsua_im.c

+SOURCE	pjsua_media.c

+SOURCE	pjsua_pres.c

+SOURCE	pjsua_vid.c

+

+SYSTEMINCLUDE	..\pjlib\include 

+SYSTEMINCLUDE	..\pjlib-util\include

+SYSTEMINCLUDE	..\pjnath\include

+SYSTEMINCLUDE	..\pjmedia\include

+SYSTEMINCLUDE	..\pjsip\include

+

+SYSTEMINCLUDE	\epoc32\include

+SYSTEMINCLUDE	\epoc32\include\libc

+

+

diff --git a/jni/pjproject-android/build.symbian/pjsua_libU.def b/jni/pjproject-android/build.symbian/pjsua_libU.def
new file mode 100644
index 0000000..911efbc
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/pjsua_libU.def
@@ -0,0 +1,122 @@
+EXPORTS
+	pjsua_acc_add                            @ 1 NONAME
+	pjsua_acc_add_local                      @ 2 NONAME
+	pjsua_acc_config_default                 @ 3 NONAME
+	pjsua_acc_config_dup                     @ 4 NONAME
+	pjsua_acc_create_request                 @ 5 NONAME
+	pjsua_acc_create_uac_contact             @ 6 NONAME
+	pjsua_acc_create_uas_contact             @ 7 NONAME
+	pjsua_acc_del                            @ 8 NONAME
+	pjsua_acc_enum_info                      @ 9 NONAME
+	pjsua_acc_find_for_incoming              @ 10 NONAME
+	pjsua_acc_find_for_outgoing              @ 11 NONAME
+	pjsua_acc_get_count                      @ 12 NONAME
+	pjsua_acc_get_default                    @ 13 NONAME
+	pjsua_acc_get_info                       @ 14 NONAME
+	pjsua_acc_is_valid                       @ 15 NONAME
+	pjsua_acc_modify                         @ 16 NONAME
+	pjsua_acc_set_default                    @ 17 NONAME
+	pjsua_acc_set_online_status              @ 18 NONAME
+	pjsua_acc_set_online_status2             @ 19 NONAME
+	pjsua_acc_set_registration               @ 20 NONAME
+	pjsua_acc_set_transport                  @ 21 NONAME
+	pjsua_buddy_add                          @ 22 NONAME
+	pjsua_buddy_config_default               @ 23 NONAME
+	pjsua_buddy_del                          @ 24 NONAME
+	pjsua_buddy_get_info                     @ 25 NONAME
+	pjsua_buddy_is_valid                     @ 26 NONAME
+	pjsua_buddy_subscribe_pres               @ 27 NONAME
+	pjsua_buddy_update_pres                  @ 28 NONAME
+	pjsua_call_answer                        @ 29 NONAME
+	pjsua_call_dial_dtmf                     @ 30 NONAME
+	pjsua_call_dump                          @ 31 NONAME
+	pjsua_call_get_conf_port                 @ 32 NONAME
+	pjsua_call_get_count                     @ 33 NONAME
+	pjsua_call_get_info                      @ 34 NONAME
+	pjsua_call_get_max_count                 @ 35 NONAME
+	pjsua_call_get_rem_nat_type              @ 36 NONAME
+	pjsua_call_get_user_data                 @ 37 NONAME
+	pjsua_call_hangup                        @ 38 NONAME
+	pjsua_call_hangup_all                    @ 39 NONAME
+	pjsua_call_has_media                     @ 40 NONAME
+	pjsua_call_is_active                     @ 41 NONAME
+	pjsua_call_make_call                     @ 42 NONAME
+	pjsua_call_reinvite                      @ 43 NONAME
+	pjsua_call_send_im                       @ 44 NONAME
+	pjsua_call_send_request                  @ 45 NONAME
+	pjsua_call_send_typing_ind               @ 46 NONAME
+	pjsua_call_set_hold                      @ 47 NONAME
+	pjsua_call_set_user_data                 @ 48 NONAME
+	pjsua_call_update                        @ 49 NONAME
+	pjsua_call_xfer                          @ 50 NONAME
+	pjsua_call_xfer_replaces                 @ 51 NONAME
+	pjsua_codec_get_param                    @ 52 NONAME
+	pjsua_codec_set_param                    @ 53 NONAME
+	pjsua_codec_set_priority                 @ 54 NONAME
+	pjsua_conf_add_port                      @ 55 NONAME
+	pjsua_conf_adjust_rx_level               @ 56 NONAME
+	pjsua_conf_adjust_tx_level               @ 57 NONAME
+	pjsua_conf_connect                       @ 58 NONAME
+	pjsua_conf_disconnect                    @ 59 NONAME
+	pjsua_conf_get_active_ports              @ 60 NONAME
+	pjsua_conf_get_max_ports                 @ 61 NONAME
+	pjsua_conf_get_port_info                 @ 62 NONAME
+	pjsua_conf_get_signal_level              @ 63 NONAME
+	pjsua_conf_remove_port                   @ 64 NONAME
+	pjsua_config_default                     @ 65 NONAME
+	pjsua_config_dup                         @ 66 NONAME
+	pjsua_create                             @ 67 NONAME
+	pjsua_destroy                            @ 68 NONAME
+	pjsua_detect_nat_type                    @ 69 NONAME
+	pjsua_dump                               @ 70 NONAME
+	pjsua_enum_accs                          @ 71 NONAME
+	pjsua_enum_buddies                       @ 72 NONAME
+	pjsua_enum_calls                         @ 73 NONAME
+	pjsua_enum_codecs                        @ 74 NONAME
+	pjsua_enum_conf_ports                    @ 75 NONAME
+	pjsua_enum_snd_devs                      @ 76 NONAME
+	pjsua_enum_transports                    @ 77 NONAME
+	pjsua_get_buddy_count                    @ 78 NONAME
+	pjsua_get_ec_tail                        @ 79 NONAME
+	pjsua_get_nat_type                       @ 80 NONAME
+	pjsua_get_pjmedia_endpt                  @ 81 NONAME
+	pjsua_get_pjsip_endpt                    @ 82 NONAME
+	pjsua_get_pool_factory                   @ 83 NONAME
+	pjsua_get_snd_dev                        @ 84 NONAME
+	pjsua_get_var                            @ 85 NONAME
+	pjsua_handle_events                      @ 86 NONAME
+	pjsua_im_send                            @ 87 NONAME
+	pjsua_im_typing                          @ 88 NONAME
+	pjsua_init                               @ 89 NONAME
+	pjsua_logging_config_default             @ 90 NONAME
+	pjsua_logging_config_dup                 @ 91 NONAME
+	pjsua_media_config_default               @ 92 NONAME
+	pjsua_media_transports_create            @ 93 NONAME
+	pjsua_msg_data_init                      @ 94 NONAME
+	pjsua_perror                             @ 95 NONAME
+	pjsua_player_create                      @ 96 NONAME
+	pjsua_player_destroy                     @ 97 NONAME
+	pjsua_player_get_conf_port               @ 98 NONAME
+	pjsua_player_get_port                    @ 99 NONAME
+	pjsua_player_set_pos                     @ 100 NONAME
+	pjsua_playlist_create                    @ 101 NONAME
+	pjsua_pool_create                        @ 102 NONAME
+	pjsua_pres_dump                          @ 103 NONAME
+	pjsua_reconfigure_logging                @ 104 NONAME
+	pjsua_recorder_create                    @ 105 NONAME
+	pjsua_recorder_destroy                   @ 106 NONAME
+	pjsua_recorder_get_conf_port             @ 107 NONAME
+	pjsua_recorder_get_port                  @ 108 NONAME
+	pjsua_set_ec                             @ 109 NONAME
+	pjsua_set_no_snd_dev                     @ 110 NONAME
+	pjsua_set_null_snd_dev                   @ 111 NONAME
+	pjsua_set_snd_dev                        @ 112 NONAME
+	pjsua_start                              @ 113 NONAME
+	pjsua_transport_close                    @ 114 NONAME
+	pjsua_transport_config_default           @ 115 NONAME
+	pjsua_transport_config_dup               @ 116 NONAME
+	pjsua_transport_create                   @ 117 NONAME
+	pjsua_transport_get_info                 @ 118 NONAME
+	pjsua_transport_register                 @ 119 NONAME
+	pjsua_transport_set_enable               @ 120 NONAME
+	pjsua_verify_sip_url                     @ 121 NONAME
diff --git a/jni/pjproject-android/build.symbian/symbian_audio.mmp b/jni/pjproject-android/build.symbian/symbian_audio.mmp
new file mode 100644
index 0000000..bba9ce5
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/symbian_audio.mmp
@@ -0,0 +1,47 @@
+#if defined(PJ_BUILD_DLL)
+
+TARGET		symbian_audio.dll
+TARGETTYPE	dll
+UID		0x0 0xA000000C
+
+CAPABILITY	None
+LIBRARY		pjlib.lib charconv.lib euser.lib estlib.lib
+LIBRARY 	mediaclientaudiostream.lib
+LIBRARY 	mediaclientaudioinputstream.lib
+
+MACRO		PJ_DLL
+MACRO		PJ_EXPORTING
+
+DEFFILE		.\symbian_audio.def
+
+#else
+
+TARGET 		symbian_audio.lib
+TARGETTYPE 	lib
+
+#endif
+
+SOURCEPATH	..\pjmedia\src\pjmedia
+
+OPTION		CW -lang c++
+OPTION		GCCE -O2 -fno-unit-at-a-time
+OPTION          ARMCC --gnu
+
+MACRO		PJ_M_I386=1
+MACRO		PJ_SYMBIAN=1
+
+SOURCE		nullsound.c
+SOURCE		symbian_sound.cpp
+SOURCE		symbian_sound_aps.cpp
+
+SYSTEMINCLUDE	..\pjlib\include
+SYSTEMINCLUDE	..\pjmedia\include
+
+SYSTEMINCLUDE	\epoc32\include
+SYSTEMINCLUDE	\epoc32\include\libc
+SYSTEMINCLUDE   \epoc32\include\mmf\server 
+SYSTEMINCLUDE   \epoc32\include\mmf\common 
+SYSTEMINCLUDE   \epoc32\include\mda\common 
+
+SYSTEMINCLUDE	\epoc32\include\mmf\plugin 
+
diff --git a/jni/pjproject-android/build.symbian/symbian_audioU.def b/jni/pjproject-android/build.symbian/symbian_audioU.def
new file mode 100644
index 0000000..883d5d8
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/symbian_audioU.def
@@ -0,0 +1,12 @@
+EXPORTS
+	pjmedia_snd_deinit                       @ 1 NONAME
+	pjmedia_snd_get_dev_count                @ 2 NONAME
+	pjmedia_snd_get_dev_info                 @ 3 NONAME
+	pjmedia_snd_init                         @ 4 NONAME
+	pjmedia_snd_open                         @ 5 NONAME
+	pjmedia_snd_open_player                  @ 6 NONAME
+	pjmedia_snd_open_rec                     @ 7 NONAME
+	pjmedia_snd_stream_close                 @ 8 NONAME
+	pjmedia_snd_stream_get_info              @ 9 NONAME
+	pjmedia_snd_stream_start                 @ 10 NONAME
+	pjmedia_snd_stream_stop                  @ 11 NONAME
diff --git a/jni/pjproject-android/build.symbian/symsndtest.mmp b/jni/pjproject-android/build.symbian/symsndtest.mmp
new file mode 100644
index 0000000..fb375db
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/symsndtest.mmp
@@ -0,0 +1,51 @@
+#define SND_USE_APS	0
+#define SND_USE_VAS	0
+
+TARGET 			symsndtest.exe
+TARGETTYPE 		exe
+UID			0x0 0xA000000E
+
+OPTION			ARMCC --gnu
+
+SOURCEPATH		..\pjsip-apps\src\symsndtest
+
+MACRO			PJ_M_I386=1
+MACRO			PJ_SYMBIAN=1
+
+// Test files
+
+SOURCE			app_main.cpp
+SOURCE			main_symbian.cpp
+
+START RESOURCE  	symsndtest_reg.rss
+	TARGETPATH	\private\10003a3f\apps
+END
+
+SYSTEMINCLUDE		..\pjlib\include
+SYSTEMINCLUDE		..\pjmedia\include
+
+SYSTEMINCLUDE		\epoc32\include
+SYSTEMINCLUDE		\epoc32\include\libc
+
+LIBRARY			charconv.lib euser.lib estlib.lib
+LIBRARY			esock.lib insock.lib
+STATICLIBRARY		pjmedia_audiodev.lib
+STATICLIBRARY		pjmedia.lib
+STATICLIBRARY		pjlib.lib 
+STATICLIBRARY		libresample.lib
+
+#if SND_USE_APS
+	LIBRARY		APSSession2.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
+#elif SND_USE_VAS
+	LIBRARY		VoIPAudioIntfc.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
+#else
+	LIBRARY 	mediaclientaudiostream.lib
+	LIBRARY 	mediaclientaudioinputstream.lib
+	CAPABILITY	NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
+#endif
+
+#ifdef WINSCW
+	STATICLIBRARY   eexe.lib ecrt0.lib
+#endif
diff --git a/jni/pjproject-android/build.symbian/symsndtest.pkg b/jni/pjproject-android/build.symbian/symsndtest.pkg
new file mode 100644
index 0000000..9dbb118
--- /dev/null
+++ b/jni/pjproject-android/build.symbian/symsndtest.pkg
@@ -0,0 +1,19 @@
+; symsndtest.pkg

+

+; Languages

+&EN

+

+; Header

+#{"symsndtest"},(0xA000000E), 0, 1, 1

+

+; Platform compatibility

+[0x101F7961], *, *, *, {"Series60ProductID"}

+

+; vendor

+%{"PJSIP"}

+:"PJSIP"

+

+; Target

+"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symsndtest.exe"-"!:\sys\bin\symsndtest.exe"

+"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symsndtest_reg.rSC"-"!:\private\10003a3f\import\apps\symsndtest_reg.rSC"

+