<p>laforge <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15197">View Change</a></p><div style="white-space:pre-wrap">Approvals:
pespin: Looks good to me, approved
Jenkins Builder: Verified
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">library: Add initial set of LTE/EPC NAS templates<br><br>Change-Id: I53a598011041d642f03dcd9cca128f4e9da4adfd<br>---<br>M deps/Makefile<br>A library/NAS_Templates.ttcn<br>M mme/gen_links.sh<br>3 files changed, 1,017 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/deps/Makefile b/deps/Makefile</span><br><span>index cdca8f1..61afb37 100644</span><br><span>--- a/deps/Makefile</span><br><span>+++ b/deps/Makefile</span><br><span>@@ -51,6 +51,7 @@</span><br><span> titan.ProtocolModules.GTPv2_v13.7.0 \</span><br><span> titan.ProtocolModules.ISUP_Q.762 \</span><br><span> titan.ProtocolModules.MobileL3_v13.4.0 \</span><br><span style="color: hsl(120, 100%, 40%);">+ titan.ProtocolModules.NAS_EPS_15.2.0.1 \</span><br><span> titan.ProtocolModules.NS_v7.3.0 \</span><br><span> titan.ProtocolModules.SNDCP_v7.0.0 \</span><br><span> titan.ProtocolEmulations.SCCP</span><br><span>diff --git a/library/NAS_Templates.ttcn b/library/NAS_Templates.ttcn</span><br><span>new file mode 100644</span><br><span>index 0000000..f819862</span><br><span>--- /dev/null</span><br><span>+++ b/library/NAS_Templates.ttcn</span><br><span>@@ -0,0 +1,1011 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/* EPC (Evolved Packet Core) NAS (Non-Access Stratum) templates in TTCN-3</span><br><span style="color: hsl(120, 100%, 40%);">+ * (C) 2019 Harald Welte <laforge@gnumonks.org></span><br><span style="color: hsl(120, 100%, 40%);">+ * All rights reserved.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Released under the terms of GNU General Public License, Version 2 or</span><br><span style="color: hsl(120, 100%, 40%);">+ * (at your option) any later version.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * SPDX-License-Identifier: GPL-2.0-or-later</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+module NAS_Templates {</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+import from General_Types all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from NAS_EPS_Types all;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_SM(template (value) EPS_SessionManagement sm) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := '0010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := sm</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_SM(template (present) EPS_SessionManagement sm) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := '0010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := sm</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_MM(template (value) EPS_MobilityManagement mm) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := mm</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_MM(template (present) EPS_MobilityManagement mm) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := mm</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT4 c_EPS_SEC_NONE := '0000'B;</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT4 c_EPS_NAS_PD_EMM := '0111'B;</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT4 c_EPS_NAS_PD_ESM := '0010'B;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private template (value) ESM_MessageContainerLVE</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_EsmMsgContLVE(template (value) octetstring inp) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ content := inp</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+private template (present) ESM_MessageContainerLVE</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_EsmMsgContLVE(template (present) octetstring inp) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ content := inp</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private template (value) MobileIdentityLV</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_MobileIdLV(template (value) MobileIdentityV mid) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileIdentityV := mid</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+private template (present) MobileIdentityLV</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_MobileIdLV(template (present) MobileIdentityV mid) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileIdentityV := mid</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_enc_IMSI_NAS(hexstring digits) return IMSI {</span><br><span style="color: hsl(120, 100%, 40%);">+ var IMSI l3;</span><br><span style="color: hsl(120, 100%, 40%);">+ var integer len := lengthof(digits);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (len rem 2 == 1) { /* modulo remainder */</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.oddevenIndicator := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.fillerDigit := omit;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.oddevenIndicator := '0'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.fillerDigit := '1111'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.digits := digits;</span><br><span style="color: hsl(120, 100%, 40%);">+ return l3;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_enc_IMEI_NAS(hexstring digits) return IMEI {</span><br><span style="color: hsl(120, 100%, 40%);">+ var IMEI l3;</span><br><span style="color: hsl(120, 100%, 40%);">+ var integer len := lengthof(digits);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (len rem 2 == 1) { /* modulo remainder */</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.oddevenIndicator := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.oddevenIndicator := '0'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.digits := digits;</span><br><span style="color: hsl(120, 100%, 40%);">+ return l3;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_enc_IMEI_SV(hexstring digits) return IMEI_SV {</span><br><span style="color: hsl(120, 100%, 40%);">+ var IMEI_SV l3;</span><br><span style="color: hsl(120, 100%, 40%);">+ var integer len := lengthof(digits);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (len rem 2 == 1) { /* modulo remainder */</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.oddevenIndicator := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.oddevenIndicator := '0'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.digits := digits;</span><br><span style="color: hsl(120, 100%, 40%);">+ l3.fillerDigit := '1111'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ return l3;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) GUTI ts_NAS_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ oddevenIndicator := '0'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '1111'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ /* mcc_mnc specified in format 262f42 */</span><br><span style="color: hsl(120, 100%, 40%);">+ mccDigit1 := mcc_mnc[0],</span><br><span style="color: hsl(120, 100%, 40%);">+ mccDigit2 := mcc_mnc[1],</span><br><span style="color: hsl(120, 100%, 40%);">+ mccDigit3 := mcc_mnc[2],</span><br><span style="color: hsl(120, 100%, 40%);">+ mncDigit3 := mcc_mnc[5],</span><br><span style="color: hsl(120, 100%, 40%);">+ mncDigit1 := mcc_mnc[3],</span><br><span style="color: hsl(120, 100%, 40%);">+ mncDigit2 := mcc_mnc[4],</span><br><span style="color: hsl(120, 100%, 40%);">+ mMEGI := mmegi,</span><br><span style="color: hsl(120, 100%, 40%);">+ mMEC := mmec,</span><br><span style="color: hsl(120, 100%, 40%);">+ mTMSI := tmsi</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) EPS_MobileIdentityV</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_MobileId_IMSI(hexstring imsi) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ typeOfIdentity := '001'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ oddEvenInd_identity := {</span><br><span style="color: hsl(120, 100%, 40%);">+ imsi := f_enc_IMSI_NAS(imsi)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) EPS_MobileIdentityV</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_MobileId_IMEI(hexstring imei) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ typeOfIdentity := '011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ oddEvenInd_identity := {</span><br><span style="color: hsl(120, 100%, 40%);">+ imei := f_enc_IMEI_NAS(imei)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) EPS_MobileIdentityV</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_MobileId_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ typeOfIdentity := '110'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ oddEvenInd_identity := {</span><br><span style="color: hsl(120, 100%, 40%);">+ guti := ts_NAS_GUTI(mcc_mnc, mmegi, mmec, tmsi)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_EMM_SecurityProtected(BIT4 sec_hdr_t, integer seq_nr, octetstring inner_nas) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_SecurityProtectedNASMessage := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := sec_hdr_t,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageAuthenticationCode := '00000000'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ sequenceNumber := seq_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+ nAS_Message := inner_nas</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_EMM_SecurityProtected := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_SecurityProtectedNASMessage := ?</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT3 NAS_PDN_T_IPv4 := '001'B;</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT3 NAS_PDN_T_IPv6 := '010'B;</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT3 NAS_PDN_T_IPv4v6 := '011'B;</span><br><span style="color: hsl(120, 100%, 40%);">+const BIT3 NAS_PDN_T_NonIP := '101'B;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/*********************************************************************************</span><br><span style="color: hsl(120, 100%, 40%);">+ * Mobility Management</span><br><span style="color: hsl(120, 100%, 40%);">+ *********************************************************************************/</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.1 Attach Accept */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AttachAccept(template (value) EPS_AttachResultV result,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) GPRSTimerV t3412,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) TAI_Lists tai_lists,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring esm_enc) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachAccept := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_AttachResult := result,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3412 := t3412,</span><br><span style="color: hsl(120, 100%, 40%);">+ tAI_List := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ trackingAreaIdentityLists := tai_lists</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := ts_NAS_EsmMsgContLVE(esm_enc),</span><br><span style="color: hsl(120, 100%, 40%);">+ gUTI := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ locationAreaIdentification := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ msIdentity := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ eMMCause := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3402 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3423 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ equivalentPLMNs := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ emergencyNumberList := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_NetworkFeatureSupport := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ additionalUpdateResult := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3412_Extended := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3324 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedDRXParameters := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ dNCID := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ sMS_ServiceStatus := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ non3GPP_NW_ProvidedPolicies := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3448 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ networkPolicy := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3447 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedEmergencyNumberList := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AttachAccept(template (present) EPS_AttachResultV result := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) GPRSTimerV t3412 := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) TAI_Lists tai_lists := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) octetstring esm_enc := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachAccept := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_AttachResult := result,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3412 := t3412,</span><br><span style="color: hsl(120, 100%, 40%);">+ tAI_List := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ trackingAreaIdentityLists := tai_lists</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := tr_NAS_EsmMsgContLVE(esm_enc),</span><br><span style="color: hsl(120, 100%, 40%);">+ gUTI := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ locationAreaIdentification := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ msIdentity := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ eMMCause := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3402 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3423 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ equivalentPLMNs := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ emergencyNumberList := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_NetworkFeatureSupport := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ additionalUpdateResult := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3412_Extended := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3324 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedDRXParameters := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ dNCID := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ sMS_ServiceStatus := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ non3GPP_NW_ProvidedPolicies := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3448 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ networkPolicy := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3447 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedEmergencyNumberList := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.2 Attach Complete */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AttachComplete(template (value) octetstring esm_enc) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachComplete := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := ts_NAS_EsmMsgContLVE(esm_enc)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AttachComplete(template (present) octetstring esm_enc := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachComplete := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := tr_NAS_EsmMsgContLVE(esm_enc)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.3 Attach Reject */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AttachReject(template (value) EMM_CauseV cause) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000100'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ emmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3346 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3402 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedEmmCause := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AttachReject(template (present) EMM_CauseV cause := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000100'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ emmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3346 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3402 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedEmmCause := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.4 Attach Request */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AttachRequest(template (value) BIT3 att_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT3 kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) EPS_MobileIdentityV mobile_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) UENetworkCapabilityV ue_net_cap,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring esm_enc) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000001'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_attachType := {</span><br><span style="color: hsl(120, 100%, 40%);">+ typeOfAttach := att_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0'B</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ nasKeySetId := {</span><br><span style="color: hsl(120, 100%, 40%);">+ identifier := kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ tSC := '1'B</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSMobileId := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobileIdentity := mobile_id</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ uENetworkCapability := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ uENetworkCapabilityV := ue_net_cap</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := ts_NAS_EsmMsgContLVE(esm_enc),</span><br><span style="color: hsl(120, 100%, 40%);">+ old_P_TMSISignature := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ additionalGUTI := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ lastVisitedRegisteredTAI := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ dRXParameter := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ mSNetworkCapability := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ oldLocationAreaIdentification := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ tMSIStatusTV := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileStationClassmark2 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileStationClassmark3 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ supportedCodecList := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ additionalUpdateType := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ voiceDomainPrefandUEsettings := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ deviceProperties := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ oldGUTI_Type := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ mS_NetworkFeatureSupport := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ tMSIBasedNRIContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3324 := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3412_Extended := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedDRXParameters := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ uEAdditionalSecurityCapability := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AttachRequest(template (present) BIT3 att_type := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT3 kset_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) EPS_MobileIdentityV mobile_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) UENetworkCapabilityV ue_net_cap := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) octetstring esm_enc := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AttachRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01000001'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_attachType := {</span><br><span style="color: hsl(120, 100%, 40%);">+ typeOfAttach := att_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := ?</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ nasKeySetId := {</span><br><span style="color: hsl(120, 100%, 40%);">+ identifier := kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ tSC := ?</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSMobileId := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobileIdentity := mobile_id</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ uENetworkCapability := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ uENetworkCapabilityV := ue_net_cap</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_MessageContainer := tr_NAS_EsmMsgContLVE(esm_enc),</span><br><span style="color: hsl(120, 100%, 40%);">+ old_P_TMSISignature := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ additionalGUTI := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ lastVisitedRegisteredTAI := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ dRXParameter := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ mSNetworkCapability := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ oldLocationAreaIdentification := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ tMSIStatusTV := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileStationClassmark2 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileStationClassmark3 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ supportedCodecList := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ additionalUpdateType := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ voiceDomainPrefandUEsettings := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ deviceProperties := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ oldGUTI_Type := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ mS_NetworkFeatureSupport := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ tMSIBasedNRIContainer := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3324 := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ t3412_Extended := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedDRXParameters := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ uEAdditionalSecurityCapability := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.5 Authentication Failure */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AuthFail(template (value) EMM_CauseV cause /* template (omit) OCT14 auth_fail_par */) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationFailure := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01011100'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ emmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationFailureParameter := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AuthFail_par(template (value) EMM_CauseV cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OCT14 auth_fail_par) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationFailure := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01011100'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ emmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationFailureParameter := {</span><br><span style="color: hsl(120, 100%, 40%);">+ elementIdentifier := '30'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := lengthof(auth_fail_par),</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationFailureParameter := auth_fail_par</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.6 Authentication Reject */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AuthRej := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010100'B</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AuthRej := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010100'B</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.7 Authentication Request */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AuthReq(template (value) NAS_KeySetIdentifierV kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT16 rand, OCT16 autn) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ nasKeySetId := kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationParameterRAND := {</span><br><span style="color: hsl(120, 100%, 40%);">+ rAND := rand</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationParameterAUTN := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := lengthof(autn),</span><br><span style="color: hsl(120, 100%, 40%);">+ aUTN := autn</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AuthReq(template (present) NAS_KeySetIdentifierV kset_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) OCT16 rand := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) OCT16 autn := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ nasKeySetId := kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationParameterRAND := {</span><br><span style="color: hsl(120, 100%, 40%);">+ rAND := rand</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationParameterAUTN := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ aUTN := autn</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.8 Authentication Response */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_AuthResp(octetstring res) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationResponse := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationResponseParameter := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := lengthof(res),</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationResponseParameter := {</span><br><span style="color: hsl(120, 100%, 40%);">+ rES := res</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_AuthResp(template OCT16 res := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_AuthenticationResponse := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationResponseParameter := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ authenticationResponseParameter := {</span><br><span style="color: hsl(120, 100%, 40%);">+ rES := res</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.18 Identity Request */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_IdentityReq(template (value) IdentityType2V id_type) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_IdentityRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010101'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ identityType := id_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spareHalfOctet := '0000'B</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_IdentityReq(template (present) IdentityType2V id_type := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_IdentityRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010101'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ identityType := id_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spareHalfOctet := ?</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.19 Identity Response */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_IdentityResp(template (value) MobileIdentityV mobile_id) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_IdentityResponse := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010110'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileIdentity := ts_NAS_MobileIdLV(mobile_id)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_IdentityResp(template (present) MobileIdentityV mobile_id := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_IdentityResponse := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01010110'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ mobileIdentity := tr_NAS_MobileIdLV(mobile_id)</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.20 Security Mode Command */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_SecModeCmd(template (value) NAS_SecurityAlgorithmsV alg,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) NAS_KeySetIdentifierV kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) UESecurityCapabilityLV ue_sec_cap) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_SecurityModeCommand := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01011101'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ selected_NAS_SecurityAlgorithms := alg,</span><br><span style="color: hsl(120, 100%, 40%);">+ nasKeySetId := kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ spareHalfOctet := '0000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ replayed_UE_SecurityCapability := ue_sec_cap,</span><br><span style="color: hsl(120, 100%, 40%);">+ iMEISV_Request := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ replayedNonceUE := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ nonceMME := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ hashMME := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ uEAdditionalSecurityCapability := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_SecModeCmd(template (present) NAS_SecurityAlgorithmsV alg := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) NAS_KeySetIdentifierV kset_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) UESecurityCapabilityLV ue_sec_cap := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_SecurityModeCommand := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01011101'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ selected_NAS_SecurityAlgorithms := alg,</span><br><span style="color: hsl(120, 100%, 40%);">+ nasKeySetId := kset_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ spareHalfOctet := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ replayed_UE_SecurityCapability := ue_sec_cap,</span><br><span style="color: hsl(120, 100%, 40%);">+ iMEISV_Request := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ replayedNonceUE := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ nonceMME := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ hashMME := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ uEAdditionalSecurityCapability := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.2.21 Security Mode Complete */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_SecModeCmpl := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_SecurityModeComplete := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01011110'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ iMEISV := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ replayedNASMessageContainer := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_SecModeCmpl := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_EMM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_MobilityManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_SecurityModeComplete := {</span><br><span style="color: hsl(120, 100%, 40%);">+ securityHeaderType := c_EPS_SEC_NONE,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '01011110'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ iMEISV := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ replayedNASMessageContainer := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/*********************************************************************************</span><br><span style="color: hsl(120, 100%, 40%);">+ * Session Management</span><br><span style="color: hsl(120, 100%, 40%);">+ *********************************************************************************/</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 9.9.4.11 - 10.5.6.3/24.008 */</span><br><span style="color: hsl(120, 100%, 40%);">+private function ts_NAS_PCO_TLV(template (omit) ProtocolConfigOptionsV pco)</span><br><span style="color: hsl(120, 100%, 40%);">+return template (omit) ProtocolConfigOptionsTLV {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template (value) ProtocolConfigOptionsTLV ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(pco, "omit")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ return omit;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ ret := {</span><br><span style="color: hsl(120, 100%, 40%);">+ elementIdentifier := '27'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptionsV := pco</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return ret;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+private function tr_NAS_PCO_TLV(template ProtocolConfigOptionsV pco := ?)</span><br><span style="color: hsl(120, 100%, 40%);">+return template ProtocolConfigOptionsTLV {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template ProtocolConfigOptionsTLV ret := {</span><br><span style="color: hsl(120, 100%, 40%);">+ elementIdentifier := '27'O,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptionsV := pco</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (istemplatekind(pco, "omit")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ return omit;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (istemplatekind(pco, "*")) {</span><br><span style="color: hsl(120, 100%, 40%);">+ return *;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ return ret;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.20 PDN Connectivity Request */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_PdnConnReq(template (value) BIT4 bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT8 proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT3 pdn_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT3 req_type) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_PDN_ConnectivityRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11010000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ requestType := {</span><br><span style="color: hsl(120, 100%, 40%);">+ requestTypeValue := req_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0'B</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ pDN_Type := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDN_TypeValue := pdn_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0'B</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_InformationTransferFlag := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ accessPointName := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ deviceProperties := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ nBIFOMContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ headerCompressinConfiguration := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_PdnConnReq(template (present) BIT4 bearer_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT8 proc_tid := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT3 pdn_type := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT3 req_type := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_PDN_ConnectivityRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11010000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ requestType := {</span><br><span style="color: hsl(120, 100%, 40%);">+ requestTypeValue := req_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0'B</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ pDN_Type := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDN_TypeValue := pdn_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '0'B</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ eSM_InformationTransferFlag := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ accessPointName := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ deviceProperties := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ nBIFOMContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ headerCompressinConfiguration := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.19 PDN Connectivity Reject */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_PdnConnRej(template (value) BIT4 bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT8 proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) ESM_CauseV cause) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_PDN_ConnectivityReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11010001'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ esmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ backOffTimer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ reAttemptIndicator := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ nBIFOMContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_PdnConnRej(template (present) BIT4 bearer_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT8 proc_tid := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) ESM_CauseV cause := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_PDN_ConnectivityReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11010001'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ esmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ backOffTimer := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ reAttemptIndicator := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ nBIFOMContainer := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.6 Activate Default EPS Bearer Context Request */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_ActDefEpsBearCtxReq(template (value) BIT4 bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT8 proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) EPS_QualityOfServiceV qos,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring apn,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT3 addr_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring addr_info) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_ActDefEPSBearerContextRequest := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11000001'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_QoS := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_QualityOfServiceV := qos</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ accessPointName := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ accessPointNameValue := apn</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ pDN_Address := {</span><br><span style="color: hsl(120, 100%, 40%);">+ lengthIndicator := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ typeValue := addr_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ spare := '00000'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ addressInformation := addr_info</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ transactionIdentifier := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ negotiatedQoS := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ negotiated_LLC_SAPI := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ radioPriority := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ packetFlowID := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ aPN_AMBR := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ esmCause := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ connectivityType := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ wLANOffloadIndication := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ nBIFOMContainer := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ headerCompressinConfiguration := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ controlPlaneOnlyIndication := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ servingPLMNRateControl := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extended_APN_AMBR := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedQoS := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.4 Activate Default EPS Bearer Context Accept */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_ActDefEpsBearCtxAck(template (value) BIT4 bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT8 proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (omit) ProtocolConfigOptionsV pco) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_ActDefEPSBearerContextAccept := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11000010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := ts_NAS_PCO_TLV(pco),</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_ActDefEpsBearCtxAck(template (present) BIT4 bearer_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT8 proc_tid := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template ProtocolConfigOptionsV pco := *) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_ActDefEPSBearerContextAccept := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11000010'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := tr_NAS_PCO_TLV(pco),</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.5 Activate Default EPS Bearer Context Reject */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+ts_NAS_ActDefEpsBearCtxRej(template (value) BIT4 bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) BIT8 proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) ESM_CauseV cause) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_ActDefEPSBearerContextReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11000011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ esmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := omit</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (present) PDU_NAS_EPS</span><br><span style="color: hsl(120, 100%, 40%);">+tr_NAS_ActDefEpsBearCtxRej(template (present) BIT4 bearer_id := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) BIT8 proc_tid := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (present) ESM_CauseV cause := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolDiscriminator := c_EPS_NAS_PD_ESM,</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_messages := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePS_SessionManagement := {</span><br><span style="color: hsl(120, 100%, 40%);">+ pDU_NAS_EPS_ActDefEPSBearerContextReject := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ePSBearerIdentity := bearer_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ procedureTransactionIdentifier := proc_tid,</span><br><span style="color: hsl(120, 100%, 40%);">+ messageType := '11000011'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ esmCause := cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ protocolConfigOptions := *,</span><br><span style="color: hsl(120, 100%, 40%);">+ extendedProtocolConfigurationOptions := *</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/mme/gen_links.sh b/mme/gen_links.sh</span><br><span>index 1f2d85b..8c1da59 100755</span><br><span>--- a/mme/gen_links.sh</span><br><span>+++ b/mme/gen_links.sh</span><br><span>@@ -31,6 +31,10 @@</span><br><span> FILES="SGsAP_Types.ttcn"</span><br><span> gen_links $DIR $FILES</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+DIR=$BASEDIR/titan.ProtocolModules.NAS_EPS_15.2.0.1/src</span><br><span style="color: hsl(120, 100%, 40%);">+FILES="NAS_EPS_Types.ttcn"</span><br><span style="color: hsl(120, 100%, 40%);">+gen_links $DIR $FILES</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> DIR=../library/s1ap</span><br><span> FILES="S1AP_CommonDataTypes.asn S1AP_Constants.asn S1AP_Containers.asn S1AP_IEs.asn S1AP_PDU_Contents.asn</span><br><span> S1AP_PDU_Descriptions.asn "</span><br><span>@@ -42,6 +46,7 @@</span><br><span> FILES+="SGsAP_Templates.ttcn SGsAP_CodecPort.ttcn SGsAP_CodecPort_CtrlFunct.ttcn SGsAP_CodecPort_CtrlFunctDef.cc SGsAP_Emulation.ttcn DNS_Helpers.ttcn "</span><br><span> FILES+="L3_Templates.ttcn "</span><br><span> FILES+="S1AP_CodecPort.ttcn "</span><br><span style="color: hsl(120, 100%, 40%);">+FILES+="NAS_Templates.ttcn "</span><br><span> gen_links $DIR $FILES</span><br><span> </span><br><span> ignore_pp_results</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15197">change 15197</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15197"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I53a598011041d642f03dcd9cca128f4e9da4adfd </div>
<div style="display:none"> Gerrit-Change-Number: 15197 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>