diff --git a/epdg/EPDG_Tests.ttcn b/epdg/EPDG_Tests.ttcn
index 6263828..92f49ff 100644
--- a/epdg/EPDG_Tests.ttcn
+++ b/epdg/EPDG_Tests.ttcn
@@ -18,6 +18,10 @@
 import from DIAMETER_ts29_273_Templates all;
 import from DIAMETER_Emulation all;
 
+import from GTPv1U_CodecPort all;
+import from GTPU_Types all;
+import from GTPv1U_Templates all;
+
 import from GTPv2_Types all;
 import from GTPv2_Templates all;
 import from GTPv2_Emulation all;
@@ -50,6 +54,8 @@
 	charstring mp_s2b_dns_ipv6 := "::1";
 	charstring mp_s2b_pcscf_ipv4 := "5.6.7.8";
 	charstring mp_s2b_pcscf_ipv6 := "::2";
+	/* our emulated PGW /* GTP1U */
+	charstring mp_upf_gtpu_local_ip := "127.0.0.100";
 
 	charstring mp_diam_realm := "localdomain";
 	integer mp_diam_watchdog_initial_wait_sec := 6*3;
@@ -289,6 +295,8 @@
 		gtpc_bind_port := mp_s2b_local_port,
 		gtpc_remote_ip := mp_s2b_remote_ip,
 		gtpc_remote_port := mp_s2b_remote_port,
+		gtpu_bind_ip := mp_upf_gtpu_local_ip,
+		gtpu_bind_port := GTP1U_PORT,
 		sgw_role := false,
 		use_gtpu_daemon := false /* TODO: maybe use, set to true */
 	};
diff --git a/epdg/gen_links.sh b/epdg/gen_links.sh
index f981586..ed4209c 100755
--- a/epdg/gen_links.sh
+++ b/epdg/gen_links.sh
@@ -33,6 +33,10 @@
 FILES="UECUPS_CodecPort.ttcn  UECUPS_CodecPort_CtrlFunct.ttcn  UECUPS_CodecPort_CtrlFunctDef.cc UECUPS_Types.ttcn "
 gen_links $DIR $FILES
 
+DIR=$BASEDIR/titan.ProtocolModules.GTP_v13.5.0/src
+FILES="GTPU_EncDec.cc GTPU_Types.ttcn "
+gen_links $DIR $FILES
+
 DIR=$BASEDIR/titan.ProtocolModules.GTPv2_v13.7.0/src
 FILES="GTPv2_Types.ttcn"
 gen_links $DIR $FILES
@@ -47,6 +51,7 @@
 FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc
 IPA_Emulation.ttcnpp "
 FILES+="PCO_Types.ttcn GSUP_Types.ttcn GSUP_Templates.ttcn GSUP_Emulation.ttcn "
+FILES+="GTPv1U_CodecPort.ttcn GTPv1U_CodecPort_CtrlFunct.ttcn GTPv1U_CodecPort_CtrlFunctDef.cc GTPv1U_Templates.ttcn "
 FILES+="GTPv2_PrivateExtensions.ttcn GTPv2_Templates.ttcn "
 FILES+="GTPv2_CodecPort.ttcn GTPv2_CodecPort_CtrlFunctDef.cc GTPv2_CodecPort_CtrlFunct.ttcn GTPv2_Emulation.ttcn "
 gen_links $DIR $FILES
diff --git a/epdg/regen_makefile.sh b/epdg/regen_makefile.sh
index 8be3bde..eb5935e 100755
--- a/epdg/regen_makefile.sh
+++ b/epdg/regen_makefile.sh
@@ -16,6 +16,8 @@
 	DIAMETER_EncDec.cc
 	DIAMETER_CodecPort_CtrlFunctDef.cc
 	UECUPS_CodecPort_CtrlFunctDef.cc
+	GTPU_EncDec.cc
+	GTPv1U_CodecPort_CtrlFunctDef.cc
 	GTPv2_CodecPort_CtrlFunctDef.cc
 "
 
diff --git a/library/GTPv2_Emulation.ttcn b/library/GTPv2_Emulation.ttcn
index 054bd4b..f3f09f8 100644
--- a/library/GTPv2_Emulation.ttcn
+++ b/library/GTPv2_Emulation.ttcn
@@ -14,6 +14,9 @@
 import from IPL4asp_Types all;
 import from General_Types all;
 import from Osmocom_Types all;
+import from GTPU_Types all;
+import from GTPv1U_CodecPort all;
+import from GTPv1U_CodecPort_CtrlFunct all;
 import from GTPv2_Types all;
 import from GTPv2_Templates all;
 import from GTPv2_CodecPort all;
@@ -40,8 +43,8 @@
 	IPL4asp_Types.PortNumber gtpc_bind_port,
 	HostName gtpc_remote_ip,
 	IPL4asp_Types.PortNumber gtpc_remote_port,
-	//HostName gtpu_bind_ip,
-	//PortNumber gtpu_bind_port,
+	HostName gtpu_bind_ip optional,
+	IPL4asp_Types.PortNumber gtpu_bind_port optional,
 	boolean sgw_role,
 	boolean use_gtpu_daemon
 };
@@ -49,6 +52,7 @@
 type component GTPv2_Emulation_CT {
 	/* Communication with underlying GTP CodecPort */
 	port GTPv2C_PT GTP2C;
+	port GTPU_PT GTPU;
 
 	/* Control port to GTP-U Daemon */
 	port UECUPS_CODEC_PT UECUPS;
@@ -63,7 +67,7 @@
 
 	/* State */
 	var Gtp2cPeer g_peer;
-	var integer g_gtp2c_id;
+	var integer g_gtp2c_id, g_gtp1u_id;
 	var OCT1 g_restart_ctr;
 	var uint16_t g_c_seq_nr;
 	var TidTableRec TidTable[256];
@@ -508,6 +512,11 @@
 
 		/* clear all tunnel state in the daemon at start */
 		f_uecups_xceive({reset_all_state := {}}, {reset_all_state_res:=?}, 30.0);
+	} else if (isvalue(cfg.gtpu_bind_ip) and isvalue(cfg.gtpu_bind_port)) {
+		map(self:GTPU, system:GTPU);
+		res := GTPv1U_CodecPort_CtrlFunct.f_GTPU_listen(GTPU, cfg.gtpu_bind_ip,
+								cfg.gtpu_bind_port, {udp:={}});
+		g_gtp1u_id := res.connId;
 	}
 
 	/* make sure we always pass incoming UECUPS indications whenever receiving fom the UECUPS port */
@@ -543,6 +552,7 @@
 
 function main(Gtp2EmulationCfg cfg) runs on GTPv2_Emulation_CT {
 	var Gtp2cUnitdata g2c_ud;
+	var Gtp1uUnitdata g1u_ud;
 	var PDU_GTPCv2 g2c;
 	var GTP2_ConnHdlr vc_conn;
 	var hexstring imsi;
@@ -589,6 +599,16 @@
 		}
 
 		}
+	[] GTPU.receive(Gtp1uUnitdata:?) -> value g1u_ud {
+		if (f_teid_known(g1u_ud.gtpu.teid)) {
+			vc_conn := f_comp_by_teid(g1u_ud.gtpu.teid);
+			CLIENT.send(g1u_ud) to vc_conn;
+		} else if (g1u_ud.gtpu.teid == '00000000'O) {
+			TEID0.send(g1u_ud);
+		} else {
+			log("No client registered for TEID=", g1u_ud.gtpu.teid, "!");
+		}
+		}
 
 	[] TEID0.receive(PDU_GTPCv2:?) -> value g2c sender vc_conn {
 		/* patch in the next sequence number on outbound Initial message */
@@ -603,6 +623,9 @@
 			f_seq_tbl_add(g2c.sequenceNumber, vc_conn);
 		}
 		}
+	[] TEID0.receive(Gtp1uUnitdata:?) -> value g1u_ud sender vc_conn {
+		GTPU.send(g1u_ud);
+		}
 
 	[] CLIENT.receive(PDU_GTPCv2:?) -> value g2c sender vc_conn {
 		/* patch in the next sequence number on outbound Initial message */
@@ -617,6 +640,9 @@
 			f_seq_tbl_add(g2c.sequenceNumber, vc_conn);
 		}
 		}
+	[] CLIENT.receive(Gtp1uUnitdata:?) -> value g1u_ud sender vc_conn {
+		GTPU.send(g1u_ud);
+		}
 
 	[] CLIENT_PROC.getcall(GTP2EM_register_imsi:{?}) -> param(imsi) sender vc_conn {
 		f_imsi_tbl_add(imsi, vc_conn);
@@ -662,7 +688,7 @@
  * Interaction between Main and Client Components
  ***********************************************************************/
 type port GTP2EM_PT message {
-	inout PDU_GTPCv2, UECUPS_ProgramTermInd;
+	inout PDU_GTPCv2, Gtp1uUnitdata, UECUPS_ProgramTermInd;
 } with { extension "internal" };
 
 signature GTP2EM_register_imsi(hexstring imsi);
