diff --git a/Makefile b/Makefile
index c399714..1d119d1 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,7 @@
 	bts \
 	cbc \
 	ccid \
+	dia2gsup \
 	fr \
 	fr-net \
 	gbproxy \
diff --git a/dia2gsup/DIA2GSUP_Tests.cfg b/dia2gsup/DIA2GSUP_Tests.cfg
new file mode 100644
index 0000000..0c166fe
--- /dev/null
+++ b/dia2gsup/DIA2GSUP_Tests.cfg
@@ -0,0 +1,19 @@
+[ORDERED_INCLUDE]
+# Common configuration, shared between test suites
+"../Common.cfg"
+# testsuite specific configuration, not expected to change
+"./DIA2GSUP_Tests.default"
+
+# Local configuration below
+
+[LOGGING]
+
+[TESTPORT_PARAMETERS]
+
+
+[MODULE_PARAMETERS]
+
+[MAIN_CONTROLLER]
+
+[EXECUTE]
+DIA2GSUP_Tests.control
diff --git a/dia2gsup/DIA2GSUP_Tests.default b/dia2gsup/DIA2GSUP_Tests.default
new file mode 100644
index 0000000..95b42e9
--- /dev/null
+++ b/dia2gsup/DIA2GSUP_Tests.default
@@ -0,0 +1,8 @@
+[LOGGING]
+mtc.FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING; // | DEBUG_ENCDEC;
+
+[TESTPORT_PARAMETERS]
+
+[MODULE_PARAMETERS]
+
+[EXECUTE]
diff --git a/dia2gsup/DIA2GSUP_Tests.ttcn b/dia2gsup/DIA2GSUP_Tests.ttcn
new file mode 100644
index 0000000..d709512
--- /dev/null
+++ b/dia2gsup/DIA2GSUP_Tests.ttcn
@@ -0,0 +1,217 @@
+module DIA2GSUP_Tests {
+
+import from General_Types all;
+import from Osmocom_Types all;
+import from L3_Common all;
+
+import from IPA_Emulation all;
+import from GSUP_Emulation all;
+import from GSUP_Types all;
+
+import from DIAMETER_Types all;
+import from DIAMETER_Templates all;
+import from DIAMETER_Emulation all;
+
+type component MTC_CT {
+	var DIAMETER_Emulation_CT vc_DIAMETER;
+	port DIAMETER_PT DIAMETER_UNIT;
+	port DIAMETEREM_PROC_PT DIAMETER_PROC;
+
+	var GSUP_Emulation_CT vc_GSUP;
+	var IPA_Emulation_CT vc_GSUP_IPA;
+	port IPA_CTRL_PT GSUP_IPA_EVENT;
+
+};
+
+type component D2G_ConnHdlr extends DIAMETER_ConnHdlr, GSUP_ConnHdlr {
+	var D2G_ConnHdlrPars g_pars;
+	timer g_Tguard := 30.0;
+};
+
+type record D2G_ConnHdlrPars {
+	hexstring imsi,
+	AuthVector vec optional
+};
+
+private function f_init_pars(integer imsi_suffix)
+runs on MTC_CT return D2G_ConnHdlrPars {
+	var D2G_ConnHdlrPars pars := {
+		imsi := f_gen_imsi(imsi_suffix),
+		vec := f_gen_auth_vec_3g()
+	};
+	return pars;
+}
+
+
+modulepar {
+	/* our emulated GSUP HLR */
+	charstring mp_hlr_ip := "127.0.0.1";
+	integer mp_hlr_port := 4222;
+
+	/* our emulated MME */
+	charstring mp_s6_local_ip := "127.0.0.100";
+	integer mp_s6_local_port := 3868;
+
+	/* IUT behaving as HSS */
+	charstring mp_hss_ip := "127.0.0.4";
+	integer mp_hss_port := 3868;
+
+	charstring mp_diam_realm := "localdomain";
+}
+
+private altstep as_Tguard() runs on D2G_ConnHdlr {
+	[] g_Tguard.timeout {
+		setverdict(fail, "Tguard timeout");
+		mtc.stop;
+	}
+}
+
+private function f_init_gsup(charstring id) runs on MTC_CT {
+	id := id & "-GSUP";
+	var GsupOps ops := {
+		create_cb := refers(GSUP_Emulation.ExpectedCreateCallback)
+	};
+
+	vc_GSUP_IPA := IPA_Emulation_CT.create(id & "-IPA");
+	vc_GSUP := GSUP_Emulation_CT.create(id);
+
+	map(vc_GSUP_IPA:IPA_PORT, system:IPA_CODEC_PT);
+	connect(vc_GSUP:GSUP, vc_GSUP_IPA:IPA_GSUP_PORT);
+	/* we use this hack to get events like ASP_IPA_EVENT_UP */
+	connect(vc_GSUP_IPA:IPA_CTRL_PORT, self:GSUP_IPA_EVENT);
+
+	vc_GSUP.start(GSUP_Emulation.main(ops, id));
+	vc_GSUP_IPA.start(IPA_Emulation.main_server(mp_hlr_ip, mp_hlr_port));
+
+	/* wait for incoming connection to GSUP port before proceeding */
+	timer T := 10.0;
+	T.start;
+	alt {
+	[] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { }
+	[] T.timeout {
+		setverdict(fail, "No connection to GSUP Port");
+		mtc.stop;
+		}
+	}
+}
+
+private function f_init_handler(D2G_ConnHdlrPars pars, float t_guard := 20.0) runs on D2G_ConnHdlr {
+	g_pars := pars;
+	activate(as_Tguard());
+	g_Tguard.start(t_guard);
+
+	/* tell GSUP dispatcher to send this IMSI to us */
+	f_create_gsup_expect(hex2str(g_pars.imsi));
+}
+
+private type function void_fn(charstring id, D2G_ConnHdlrPars pars) runs on D2G_ConnHdlr;
+
+private function f_start_handler_with_pars(void_fn fn, D2G_ConnHdlrPars pars)
+runs on MTC_CT return D2G_ConnHdlr {
+	var D2G_ConnHdlr vc_conn;
+	var charstring id := testcasename();
+
+	vc_conn := D2G_ConnHdlr.create(id);
+
+	connect(vc_conn:GSUP, vc_GSUP:GSUP_CLIENT);
+	connect(vc_conn:GSUP_PROC, vc_GSUP:GSUP_PROC);
+
+	connect(vc_conn:DIAMETER, vc_DIAMETER:DIAMETER_CLIENT);
+	connect(vc_conn:DIAMETER_PROC, vc_DIAMETER:DIAMETER_PROC);
+
+	DIAMETER_UNIT.receive(DiameterCapabilityExchgInd:?);
+
+	vc_conn.start(derefers(fn)(id, pars));
+	return vc_conn;
+}
+
+private function DiameterForwardUnitdataCallback(PDU_DIAMETER msg)
+runs on DIAMETER_Emulation_CT return template PDU_DIAMETER {
+	DIAMETER_UNIT.send(msg);
+	return omit;
+}
+
+private function f_init_diameter(charstring id) runs on MTC_CT {
+	var DIAMETEROps ops := {
+		create_cb := refers(DIAMETER_Emulation.ExpectedCreateCallback),
+		unitdata_cb := refers(DiameterForwardUnitdataCallback),
+		raw := false /* handler mode (IMSI based routing) */
+	};
+	var DIAMETER_conn_parameters pars := {
+		remote_ip := mp_hss_ip,
+		remote_sctp_port := mp_hss_port,
+		local_ip := mp_s6_local_ip,
+		local_sctp_port := mp_s6_local_port,
+		origin_host := "hss." & mp_diam_realm,
+		origin_realm := mp_diam_realm,
+		auth_app_id := omit,
+		vendor_app_id := c_DIAMETER_3GPP_S6_AID
+	};
+	vc_DIAMETER := DIAMETER_Emulation_CT.create(id);
+	map(vc_DIAMETER:DIAMETER, system:DIAMETER_CODEC_PT);
+	connect(vc_DIAMETER:DIAMETER_UNIT, self:DIAMETER_UNIT);
+	connect(vc_DIAMETER:DIAMETER_PROC, self:DIAMETER_PROC);
+	vc_DIAMETER.start(DIAMETER_Emulation.main(ops, pars, id));
+}
+
+private function f_init() runs on MTC_CT {
+	f_init_gsup(testcasename());
+	f_init_diameter(testcasename());
+}
+
+
+private function f_DIA_AI() runs on D2G_ConnHdlr {
+	var PDU_DIAMETER rx_dia;
+	var UINT32 hbh_id := f_rnd_octstring(4);
+	var UINT32 ete_id := f_rnd_octstring(4);
+	var octetstring sess_id := char2oct("foobar");
+	var OCT3 vplmn := '00F110'O;
+
+	/* Unlike AIR, AIA contains no IMSI. Register ete_id in DIAMETER_Emulation,
+	 * so AIA is forwarded back to us in DIAMETER port instead of MTC_CT.DIAMETER_UNIT.
+	 */
+	f_diameter_expect_eteid(ete_id);
+
+	/* Send AIR to translator; expect it to show up on GSUP side */
+	DIAMETER.send(ts_DIA_AIR(g_pars.imsi, vplmn, sess_id, hbh_id := hbh_id, ete_id := ete_id));
+	GSUP.receive(tr_GSUP_SAI_REQ(g_pars.imsi));
+
+	/* Send a positive response back to the translator; expect AIA */
+	var GSUP_IE auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G3G(g_pars.vec.rand,
+								   g_pars.vec.sres,
+								   g_pars.vec.kc,
+								   g_pars.vec.ik,
+								   g_pars.vec.ck,
+								   g_pars.vec.autn,
+								   g_pars.vec.res));
+	GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple));
+
+	alt {
+	/* Unlike AIR, AIA contains no IMSI, hence it is received in DIAMETER_UNIT: */
+	[] DIAMETER.receive(tr_DIA_AIA) {
+		setverdict(pass);
+		}
+	}
+}
+
+private function f_TC_authinfo_normal(charstring id, D2G_ConnHdlrPars pars) runs on D2G_ConnHdlr {
+	f_init_handler(pars);
+	f_DIA_AI();
+}
+
+testcase TC_authinfo_normal() runs on MTC_CT {
+	var D2G_ConnHdlrPars pars := f_init_pars(1);
+	var D2G_ConnHdlr vc_conn;
+	f_init();
+	f_sleep(10.0);
+	vc_conn := f_start_handler_with_pars(refers(f_TC_authinfo_normal), pars);
+	vc_conn.done;
+	setverdict(pass);
+}
+
+
+control {
+	execute ( TC_authinfo_normal() );
+}
+
+}
diff --git a/dia2gsup/gen_links.sh b/dia2gsup/gen_links.sh
new file mode 100755
index 0000000..d0002eb
--- /dev/null
+++ b/dia2gsup/gen_links.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+BASEDIR=../deps
+
+. ../gen_links.sh.inc
+
+DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
+FILES+=" TCCEncoding_Functions.ttcn TCCEncoding.cc " # GSM 7-bit coding
+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=$BASEDIR/titan.TestPorts.TELNETasp/src
+FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.DIAMETER_ProtocolModule_Generator/src
+FILES="DIAMETER_EncDec.cc"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+#FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn "
+#FILES+="SS_DataTypes.asn SS_Errors.asn SS_Operations.asn SS_PDU_Defs.asn SS_Protocol.asn SS_Types.ttcn SS_EncDec.cc"
+FILES="MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn "
+gen_links $DIR $FILES
+
+
+DIR=../library
+FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc "
+FILES+="Osmocom_CTRL_Types.ttcn "
+FILES+="L3_Common.ttcn "
+FILES+="DIAMETER_Types.ttcn DIAMETER_CodecPort.ttcn DIAMETER_CodecPort_CtrlFunct.ttcn DIAMETER_CodecPort_CtrlFunctDef.cc DIAMETER_Emulation.ttcn DIAMETER_Templates.ttcn "
+FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc
+IPA_Emulation.ttcnpp "
+FILES+="GSUP_Types.ttcn GSUP_Emulation.ttcn "
+gen_links $DIR $FILES
+
+ignore_pp_results
diff --git a/dia2gsup/regen_makefile.sh b/dia2gsup/regen_makefile.sh
new file mode 100755
index 0000000..22d8e06
--- /dev/null
+++ b/dia2gsup/regen_makefile.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+NAME=DIA2GSUP_Tests
+
+FILES="
+	*.ttcn
+	*.ttcnpp
+	IPA_CodecPort_CtrlFunctDef.cc
+	IPL4asp_PT.cc
+	IPL4asp_discovery.cc
+	Native_FunctionDefs.cc
+	TCCConversion.cc
+	TCCEncoding.cc
+	TCCInterface.cc
+	TELNETasp_PT.cc
+	DIAMETER_EncDec.cc
+	DIAMETER_CodecPort_CtrlFunctDef.cc
+"
+
+export CPPFLAGS_TTCN3="
+	-DIPA_EMULATION_GSUP
+	-DIPA_EMULATION_CTRL
+"
+
+../regen-makefile.sh DIA2GSUP_Tests.ttcn $FILES
