pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40386?usp=email )
Change subject: 5gc: Initial support encoding NG NAS UL messages
......................................................................
5gc: Initial support encoding NG NAS UL messages
Change-Id: Id59564114cf18ae745e3e385e2c91779a453e545
---
M 5gc/C5G_Tests.ttcn
M 5gc/gen_links.sh
M 5gc/regen_makefile.sh
A library/NG_NAS_Functions.ttcn
4 files changed, 85 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
diff --git a/5gc/C5G_Tests.ttcn b/5gc/C5G_Tests.ttcn
index 823d216..62553fc 100644
--- a/5gc/C5G_Tests.ttcn
+++ b/5gc/C5G_Tests.ttcn
@@ -29,6 +29,12 @@
import from NGAP_Functions all;
import from NGAP_Emulation all;
+import from NG_NAS_Common all;
+import from NG_NAS_MsgContainers all;
+import from NAS_CommonTemplates all;
+import from NG_NAS_Templates all;
+import from NG_NAS_Functions all;
+
/* (maximum) number of emulated eNBs */
const integer NUM_NGRAN := 1;
@@ -240,6 +246,9 @@
private function f_register() runs on ConnHdlr {
var template (value) UserLocationInformation p_ueLocInf;
var template (value) NGAP_PDU tx_pdu;
+ var template (value) NG_NAS_UL_Message_Type nas_ul_msg;
+ var NAS_PDU nas_pdu;
+
p_ueLocInf := m_uPTransportLayerInformation_userLocationInformationNR(
m_userLocationInformationNR(
@@ -248,9 +257,16 @@
));
+ nas_ul_msg := cs_NG_REGISTRATION_REQUEST(cs_RegistrationType(tsc_NG_RegistrationInitial,
'1'B),
+ tsc_NasKsi_NoKey,
+ '0'B,
+ cs_NG_MobileIdentitySUCI('0000'B /* Type IMSI */,
+ '00f110214300014444330302'O));
+ nas_pdu := enc_NG_NAS_UL_Message_Type(valueof(nas_ul_msg));
+
tx_pdu := m_ngap_initMsg(m_n2_initialUeMessage(g_pars.c5g_idx,
- '7e004179000d0109f1500000000079890040642e02f070'O, /* Registration
request */
+ nas_pdu, /* Registration request */
p_ueLocInf,
mo_Signalling));
diff --git a/5gc/gen_links.sh b/5gc/gen_links.sh
index b86d4ed..2cab445 100755
--- a/5gc/gen_links.sh
+++ b/5gc/gen_links.sh
@@ -18,6 +18,44 @@
FILES="IPL4asp_Functions.ttcn IPL4asp_PT.cc IPL4asp_PT.hh IPL4asp_PortType.ttcn
IPL4asp_Types.ttcn IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
gen_links $DIR $FILES
+####################
+# NG_NAS start
+####################
+DIR=$BASEDIR/nas/ccsrc/Externals
+FILES="common_ext.cc "
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/Common
+FILES="CommonDefs.ttcn "
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/PicsPixit
+FILES="EUTRA_NR_Parameters.ttcn NAS_5GC_Parameters.ttcn Parameters.ttcn "
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/CommonIP
+FILES="CommonIP.ttcn LoopbackIP_PacketFilterTest.ttcn LoopbackIP.ttcn "
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/EPS_NAS
+FILES="EPS_NAS_LoopBack_TypeDefs.ttcn EPS_NAS_TypeDefs.ttcn "
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/Common4G5G
+FILES="Common4G5G_LoopBack.ttcn Common4G5G.ttcn EUTRA_NR_SecurityFunctions.ttcn
"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/NAS
+FILES="NAS_AuthenticationCommon.ttcn NAS_AuxiliaryDefsAndFunctions.ttcn
NAS_CommonTemplates.ttcn NAS_CommonTypeDefs.ttcn SMS_Templates.ttcn SMS_TypeDefs.ttcn
"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/nas/ttcn/Lib3GPP/NG_NAS
+FILES="EAP_TypeDefs.ttcn NG_NAS_Common.ttcn NG_NAS_MsgContainers.ttcn
NG_NAS_Templates.ttcn NG_NAS_TypeDefs.ttcn NG_V2X_MsgContainers.ttcn NG_V2X_TypeDefs.ttcn
"
+gen_links $DIR $FILES
+####################
+# NG_NAS end
+####################
+
DIR=../library/ngap
FILES="NGAP_CommonDataTypes.asn NGAP_Constants.asn NGAP_Containers.asn
NGAP_IEs.asn NGAP_PDU_Contents.asn NGAP_PDU_Descriptions.asn "
FILES+="NGAP_EncDec.cc NGAP_Types.ttcn NGAP_Pixits.ttcn NGAP_Templates.ttcn "
@@ -28,6 +66,7 @@
FILES+="SCTP_Templates.ttcn "
FILES+="DNS_Helpers.ttcn "
FILES+="NGAP_CodecPort.ttcn NGAP_CodecPort_CtrlFunctDef.cc
NGAP_CodecPort_CtrlFunct.ttcn NGAP_Functions.ttcn NGAP_Emulation.ttcn "
+FILES+="NG_NAS_Functions.ttcn "
gen_links $DIR $FILES
gen_links_finish
diff --git a/5gc/regen_makefile.sh b/5gc/regen_makefile.sh
index 583f48a..44f7a56 100755
--- a/5gc/regen_makefile.sh
+++ b/5gc/regen_makefile.sh
@@ -8,6 +8,7 @@
IPL4asp_PT.cc
IPL4asp_discovery.cc
Native_FunctionDefs.cc
+ common_ext.cc
NGAP_CodecPort_CtrlFunctDef.cc
NGAP_EncDec.cc
TCCConversion.cc
diff --git a/library/NG_NAS_Functions.ttcn b/library/NG_NAS_Functions.ttcn
new file mode 100644
index 0000000..4f0e4da
--- /dev/null
+++ b/library/NG_NAS_Functions.ttcn
@@ -0,0 +1,28 @@
+module NG_NAS_Functions {
+
+/* (C) 2025 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
+ * All rights reserved.
+ *
+ * Released under the terms of GNU General Public License, Version 2 or
+ * (at your option) any later version.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+import from NG_NAS_MsgContainers all;
+import from NG_NAS_TypeDefs all;
+import from EAP_TypeDefs all;
+
+external function enc_NG_NAS_UL_Message_Type(in NG_NAS_UL_Message_Type pdu) return
octetstring
+with { extension "prototype(convert)" extension "encode(RAW)" }
+
+external function dec_NG_NAS_UL_Message_Type(in octetstring stream) return
NG_NAS_UL_Message_Type
+with { extension "prototype(convert)" extension "decode(RAW)" }
+
+external function enc_NG_NAS_DL_Message_Type(in NG_NAS_DL_Message_Type pdu) return
octetstring
+with { extension "prototype(convert)" extension "encode(RAW)" }
+
+external function dec_NG_NAS_DL_Message_Type(in octetstring stream) return
NG_NAS_DL_Message_Type
+with { extension "prototype(convert)" extension "decode(RAW)" }
+
+}
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40386?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Id59564114cf18ae745e3e385e2c91779a453e545
Gerrit-Change-Number: 40386
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>