diff --git a/ipa/IPA_Test.cfg b/ipa/IPA_Test.cfg
new file mode 100644
index 0000000..e5a3d13
--- /dev/null
+++ b/ipa/IPA_Test.cfg
@@ -0,0 +1,19 @@
+[LOGGING]
+#FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING | DEBUG_ENCDEC;
+#ConsoleMask := ERROR | WARNING | TESTCASE | TTCN_MATCHING | DEBUG_ENCDEC
+FileMask := LOG_ALL | TTCN_MATCHING;
+
+[TESTPORT_PARAMETERS]
+#*.*.udpReuseAddress := "yes";
+
+[MODULE_PARAMETERS]
+#mp_local_port := 2727;
+#mp_local_ip:= "127.0.0.1";
+#mp_remote_port := 2427;
+#mp_remote_ip:= "127.0.0.1";
+
+[MAIN_CONTROLLER]
+
+[EXECUTE]
+#MGCP_Test.TC_selftest
+IPA_Test.TC_recv_dump
diff --git a/ipa/IPA_Test.ttcn b/ipa/IPA_Test.ttcn
new file mode 100644
index 0000000..925f86f
--- /dev/null
+++ b/ipa/IPA_Test.ttcn
@@ -0,0 +1,46 @@
+module IPA_Test {
+
+	import from IPA_CodecPort all;
+	import from IPA_CodecPort_CtrlFunct all;
+	import from IPL4asp_Types all;
+
+	type component ipa_CT {
+		port IPA_CODEC_PT IPA;
+		var boolean g_initialized := false;
+
+		var ConnectionId g_ipa_conn_id := -1;
+	}
+
+	modulepar {
+		PortNumber mp_local_port := 0;
+		charstring mp_local_ip := "127.0.0.1";
+		PortNumber mp_remote_port := 3002;
+		charstring mp_remote_ip := "127.0.0.1";
+	}
+
+	private function f_init() runs on ipa_CT {
+		var Result res;
+
+		if (g_initialized == true) {
+			return;
+		}
+		g_initialized := true;
+		map(self:IPA, system:IPA_CODEC_PT);
+
+		res := IPA_CodecPort_CtrlFunct.f_IPL4_connect(IPA, mp_remote_ip, mp_remote_port,
+							mp_local_ip, mp_local_port, 0, { tcp:={} });
+		g_ipa_conn_id := res.connId;
+	}
+
+	testcase TC_recv_dump() runs on ipa_CT {
+		f_init();
+
+		while (true) {
+			IPA.receive;
+		}
+	}
+
+	control {
+		execute( TC_recv_dump() );
+	}
+}
diff --git a/ipa/gen_links.sh b/ipa/gen_links.sh
new file mode 100755
index 0000000..775ae71
--- /dev/null
+++ b/ipa/gen_links.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+BASEDIR=~/projects/git
+
+gen_links() {
+	DIR=$1
+	FILES=$*
+	for f in $FILES; do
+		echo "Linking $f"
+		ln -sf $DIR/$f $f
+	done
+}
+
+#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+#FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
+#gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCConversion.hh TCCInterface.cc TCCInterface_ip.h"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+FILES="Socket_API_Definitions.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
+gen_links $DIR $FILES
+
+DIR=../library
+FILES="Osmocom_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc"
+gen_links $DIR $FILES
diff --git a/ipa/regen_makefile.sh b/ipa/regen_makefile.sh
new file mode 100755
index 0000000..a5d05de
--- /dev/null
+++ b/ipa/regen_makefile.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+MAIN=IPA_Test.ttcn
+
+FILES="*.ttcn IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc"
+
+ttcn3_makefilegen -l -f $MAIN $FILES
+sed -i -e 's/# TTCN3_DIR = /TTCN3_DIR = \/usr/' Makefile
+sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan /' Makefile
+#sed -i -e 's/TTCN3_LIB = ttcn3-parallel/TTCN3_LIB = ttcn3/' Makefile
+sed -i -e 's/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include -I\/usr\/include\/titan/' Makefile
