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 <i...@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 <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <lafo...@osmocom.org> Gerrit-Reviewer: osmith <osm...@sysmocom.de> Gerrit-Reviewer: pespin <pes...@sysmocom.de>