aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2024-01-09 10:27:16 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2024-01-15 10:38:14 +0100
commita94e823416a808d6315fda8e9f005843b97ac45d (patch)
tree18b5d45abebcdfc97c37f707f47d14c12b627568
parenta8aa16e1eb4a95580c103c4bec9e5e1a41815782 (diff)
NAS_Templates: Allow passing old_guti and ptmsi_sig to TAU Req template
-rw-r--r--library/NAS_Templates.ttcn42
1 files changed, 37 insertions, 5 deletions
diff --git a/library/NAS_Templates.ttcn b/library/NAS_Templates.ttcn
index 76527209..4b5758e6 100644
--- a/library/NAS_Templates.ttcn
+++ b/library/NAS_Templates.ttcn
@@ -142,13 +142,21 @@ ts_NAS_MobileId_IMEI(hexstring imei) := {
}
template (value) EPS_MobileIdentityV
-ts_NAS_MobileId_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {
+ts_NAS_MobileId_GUTI_fields(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {
typeOfIdentity := '110'B,
oddEvenInd_identity := {
guti := ts_NAS_GUTI(mcc_mnc, mmegi, mmec, tmsi)
}
}
+template (value) EPS_MobileIdentityV
+ts_NAS_MobileId_GUTI(template (value) GUTI guti) := {
+ typeOfIdentity := '110'B,
+ oddEvenInd_identity := {
+ guti := guti
+ }
+}
+
/* 9.9.3.12 EPS mobile identity */
template (value) EPS_MobileIdentityLV
ts_EPS_MobileId_IMSI(hexstring imsi) := {
@@ -162,7 +170,29 @@ ts_EPS_MobileId_IMEI(hexstring imei) := {
template (value) EPS_MobileIdentityLV
ts_EPS_MobileId_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {
- ePS_MobileIdentity := ts_NAS_MobileId_GUTI(mcc_mnc, mmegi, mmec, tmsi)
+ ePS_MobileIdentity := ts_NAS_MobileId_GUTI_fields(mcc_mnc, mmegi, mmec, tmsi)
+}
+
+template (value) EPS_MobileIdentityLV
+ts_EPS_MobileId_GUTI_(template (value) GUTI guti) := {
+ ePS_MobileIdentity := ts_NAS_MobileId_GUTI(guti)
+}
+
+/* 9.9.3.26 P-TMSI signature */
+template (value) P_TMSISignatureTV
+ts_PTMSI_SignatureTV(template (value) OCT3 ptmsi_sig) := {
+ elementIdentifier := '19'O,
+ valueField := ptmsi_sig
+}
+
+/* 9.9.3.45 GUTI Type */
+const BIT1 GUTI_TYPE_NATIVE := '0'B;
+const BIT1 GUTI_TYPE_MAPPED := '1'B;
+template (value) GUTI_TypeTV
+ts_GUTI_TypeTV(template (value) BIT1 guti_type) := {
+ gUTI_Type := guti_type,
+ spare := '000'B,
+ elementIdentifier := '1110'B
}
template (value) PDU_NAS_EPS
@@ -354,7 +384,9 @@ tr_PDU_NAS_EPS_TrackingAreaUpdateReject(template (present) EMM_CauseV cause := ?
/* 8.2.29 Tracking Area Update Request */
template (value) PDU_NAS_EPS
-ts_PDU_NAS_EPS_TrackingAreaUpdateRequest(EPS_MobileIdentityLV old_guti) := {
+ts_PDU_NAS_EPS_TrackingAreaUpdateRequest(template (value) EPS_MobileIdentityLV old_guti,
+ template (omit) P_TMSISignatureTV old_ptmsi_sig := omit,
+ template (omit) GUTI_TypeTV old_guti_type := omit) := {
protocolDiscriminator := c_EPS_NAS_PD_EMM,
ePS_messages := {
ePS_MobilityManagement := {
@@ -366,7 +398,7 @@ ts_PDU_NAS_EPS_TrackingAreaUpdateRequest(EPS_MobileIdentityLV old_guti) := {
oldGUTI := old_guti,
nonCurrentNative_nasKeySetId := omit,
gprsCipheringKeySequenceNumber := omit,
- old_P_TMSISignature := omit,
+ old_P_TMSISignature := old_ptmsi_sig,
additionalGUTI := omit,
nonce := omit,
uENetworkCapability := omit,
@@ -382,7 +414,7 @@ ts_PDU_NAS_EPS_TrackingAreaUpdateRequest(EPS_MobileIdentityLV old_guti) := {
supportedCodecList := omit,
additionalUpdateType := omit,
voiceDomainPrefandUEsettings := omit,
- oldGUTI_Type := omit,
+ oldGUTI_Type := old_guti_type,
deviceProperties := omit,
mS_NetworkFeatureSupport := omit,
tMSIBasedNRIContainer := omit,