L3_Templates: add enum CmIdentityType
Change-Id: Ibe50669663e641cdfd6a88f22c5404e2d90323b7
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index b39bb7a..3011919 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -35,6 +35,15 @@
CM_TYPE_LCS ('1011'B)
}
+/* TS 24.008 10.5.3.4 Identity Type */
+type enumerated CmIdentityType {
+ CM_ID_TYPE_IMSI ('001'B),
+ CM_ID_TYPE_IMEI ('010'B),
+ CM_ID_TYPE_IMEISV ('011'B),
+ CM_ID_TYPE_TMSI ('100'B),
+ CM_ID_TYPE_PTMSI_RAI_PTMSI_SIG ('101'B)
+}
+
template ML3_Cause_TLV ts_ML3_Cause(BIT7 cause, BIT4 loc := '0001'B, BIT2 std := '11'B) := {
elementIdentifier := '08'O,
lengthIndicator := 0, /* overwritten */
@@ -864,7 +873,7 @@
}
}
-template PDU_ML3_NW_MS tr_ML3_MT_MM_ID_Req(template BIT3 id_type := ?) := {
+template PDU_ML3_NW_MS tr_ML3_MT_MM_ID_Req(template CmIdentityType id_type := ?) := {
discriminator := '0101'B,
tiOrSkip := {
skipIndicator := '0000'B
@@ -874,7 +883,7 @@
identityRequest := {
messageType := '011000'B,
nsd := '00'B,
- identityType := id_type,
+ identityType := int2bit(enum2int(valueof(id_type)), 3),
spare1_5 := ?
}
}
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index f551513..6f9eecd 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -817,7 +817,7 @@
BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3));
/* Wait for + respond to ID REQ (IMSI) */
- BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req('001'B)));
+ BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_MM_ID_Req(CM_ID_TYPE_IMSI)));
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(overlong_imsi))); /* test for OS#2864 */
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_MM_ID_Rsp_IMSI(g_pars.imsi)));