diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 1ab0f8a..e8ae1c0 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5820,7 +5820,7 @@
 		f_pcu_data_req(0, 0, 0, 0, 0, PCU_IF_SAPI_PCH, '313233'O & c_PCU_DATA);
 	} else {
 		var PCUIF_pch_dt pch_dt;
-		pch_dt.tlli := '01020304'O;
+		pch_dt.msg_id := '01020304'O;
 		pch_dt.imsi := "00101000000000123";
 		pch_dt.data := c_PCU_DATA;
 		f_pcu_data_req(0, 0, 0, 0, 0, PCU_IF_SAPI_PCH_DT, enc_PCUIF_pch_dt(pch_dt));
diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn
index 8824a11..87a5b15 100644
--- a/library/PCUIF_CodecPort.ttcn
+++ b/library/PCUIF_CodecPort.ttcn
@@ -140,7 +140,7 @@
 }
 
 function f_PCUIF_tx_imm_ass_pch(PCUIF_CODEC_PT pt, integer conn_id, octetstring imm_ass, hexstring imsi,
-				uint8_t bts_nr := 0, boolean wait_for_cnf := true, OCT4 tlli := '01020304'O) return uint32_t {
+				uint8_t bts_nr := 0, boolean wait_for_cnf := true, OCT4 msg_id := '01020304'O) return uint32_t {
 	var PCUIF_send_data sd;
 	timer T := 3.0;
 
@@ -156,7 +156,7 @@
 			ts_PCUIF_DATA_REQ(bts_nr, 0, 0, 0, 0, PCU_IF_SAPI_PCH, prefix & imm_ass)));
 	} else {
 		var PCUIF_pch_dt pch_dt;
-		pch_dt.tlli := tlli;
+		pch_dt.msg_id := msg_id;
 		pch_dt.imsi := hex2str(imsi);
 		pch_dt.data := imm_ass;
 		pt.send(t_SD_PCUIF(conn_id, ts_PCUIF_DATA_REQ(bts_nr, 0, 0, 0, 0, PCU_IF_SAPI_PCH_DT, enc_PCUIF_pch_dt(pch_dt))));
diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn
index 94056b9..2e3667a 100644
--- a/library/PCUIF_Types.ttcn
+++ b/library/PCUIF_Types.ttcn
@@ -106,7 +106,7 @@
 
 type record PCUIF_data_cnf_dt {
 	PCUIF_Sapi	sapi,
-	OCT4		tlli,
+	OCT4		msg_id,
 	uint32_t	fn,
 	uint16_t	arfcn,
 	uint8_t		trx_nr,
@@ -315,11 +315,11 @@
 /* Record to send a (confirmed) IMMEDIATE ASSIGNMENT message via PCH. The record is sent by the PCU to the BTS as a
  * data request (data_req) under SAPI PCU_IF_SAPI_PCH_DT. */
 type record PCUIF_pch_dt {
-	OCT4		tlli,
+	OCT4		msg_id,
 	charstring	imsi length(17),
 	octetstring	data length(23)
 } with {
-	variant (tlli) "BYTEORDER(last)"
+	variant (msg_id) "BYTEORDER(last)"
 	variant (imsi) "FIELDLENGTH(17)"
 	variant (data) "FIELDLENGTH(23)"
 };
@@ -698,14 +698,14 @@
 						    template (value) uint32_t fn,
 						    template (value) uint16_t arfcn,
 						    template (value) PCUIF_Sapi sapi,
-						    template (value) OCT4 tlli) := {
+						    template (value) OCT4 msg_id) := {
 	msg_type := PCU_IF_MSG_DATA_CNF_DT,
 	bts_nr := bts_nr,
 	spare := '0000'O,
 	u := {
 		data_cnf_dt := {
 			sapi := sapi,
-			tlli := tlli,
+			msg_id := msg_id,
 			fn := fn,
 			arfcn := arfcn,
 			trx_nr := trx_nr,
@@ -722,14 +722,14 @@
 					    template uint8_t trx_nr := ?,
 					    template uint8_t ts_nr := ?,
 					    template PCUIF_Sapi sapi := ?,
-					    template OCT4 tlli := ?) := {
+					    template OCT4 msg_id := ?) := {
 	msg_type := PCU_IF_MSG_DATA_CNF_DT,
 	bts_nr := bts_nr,
 	spare := ?,
 	u := {
 		data_cnf_dt := {
 			sapi := sapi,
-			tlli := tlli,
+			msg_id := msg_id,
 			fn := ?,
 			arfcn := ?,
 			trx_nr := trx_nr,
diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn
index 8a1207a..a6c5bae 100644
--- a/pcu/PCUIF_Components.ttcn
+++ b/pcu/PCUIF_Components.ttcn
@@ -140,7 +140,7 @@
 type record BTS_CCCH_Block {
 	uint8_t		bts_nr,
 	PCUIF_data	raw,
-	OCT4		tlli optional,
+	OCT4		msg_id optional,
 	charstring	imsi optional,
 	GsmRrMessage	rr_msg
 };
@@ -161,11 +161,11 @@
 template BTS_CCCH_Block tr_PCUIF_DATA_RR(template uint8_t bts_nr,
 					    template PCUIF_data raw,
 					    template GsmRrMessage rr_msg := ?,
-					    template OCT4 tlli := *,
+					    template OCT4 msg_id := *,
 					    template charstring imsi := *) := {
 	bts_nr := bts_nr,
 	raw := raw,
-	tlli := tlli,
+	msg_id := msg_id,
 	imsi := imsi,
 	rr_msg := rr_msg
 };
@@ -550,11 +550,11 @@
 
 		if (pcu_msg_rr.raw.sapi == PCU_IF_SAPI_PCH_DT) {
 			pch_dt := dec_PCUIF_pch_dt(pcu_msg_rr.raw.data);
-			pcu_msg_rr.tlli := pch_dt.tlli;
+			pcu_msg_rr.msg_id := pch_dt.msg_id;
 			pcu_msg_rr.imsi := pch_dt.imsi;
 			pcu_msg_rr.rr_msg := dec_GsmRrMessage(pch_dt.data);
 		} else {
-			pcu_msg_rr.tlli := omit;
+			pcu_msg_rr.msg_id := omit;
 			pcu_msg_rr.imsi := omit;
 			pcu_msg_rr.rr_msg := dec_GsmRrMessage(data);
 		}
