diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..83f3b28090a345d806304d048bb1d4b355347e9c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,10 @@ +[submodule "titan-test-system-framework"] + path = titan-test-system-framework + url = https://labs.etsi.org/rep/cti-tools/titan-test-system-framework.git + branch = devel +[submodule "ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module"] + path = ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module + url = https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.Common_Components.Abstract_Socket.git +[submodule "ttcn/LibCommon"] + path = ttcn/LibCommon + url = https://forge.etsi.org/rep/LIBS/LibCommon.git diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..477edd7a023a0028366725eab5992f91d223dc60 --- /dev/null +++ b/Makefile @@ -0,0 +1,167 @@ +-include config.mk + +ifeq (,$(ATS)) + $(error ATS shall be defined) +endif + +ifeq (,$(TOPDIR)) + TOPDIR := . +endif + +ifeq (,$(TTCN3_DIR)) + $(error TTCN3_DIR shall be defined in config.mk) +endif + +ifeq (,$(ASN1C)) + ifneq (,$(ASN1C_PATH)) + ASN1C := $(ASN1C_PATH)/asn1c/.libs/asn1c -S $(ASN1C_PATH)/skeletons + else + ASN1C := asn1c + endif +endif + +export ASN1C_PATH + +first: all + +define IncludeModule +undefine sources +undefine modules +undefine includes +include $(1)/module.mk +$$(foreach S, $$(sources), $$(eval all_sources += $$(if $$(filter /%, $$(S)), $$(TOPDIR)$$(S), $(1)/$$(S)))) +$$(foreach I, $$(includes), $$(eval all_includes += $$(if $$(filter /%, $$(I)), $$(TOPDIR)$$(I), $(1)/$$(I)))) +$$(foreach M, $$(modules), $$(eval $$(call IncludeModule, $$(if $$(filter /%, $$(M)), $$(TOPDIR)$$(M), $(1)/$$(M))))) +endef + +all_includes := $(TTCN3_DIR)/include $(TTCN3_DIR)/src /usr/include/jsoncpp /usr/include/libxml2 +defines += TITAN_RUNTIME_2 _NO_SOFTLINKS_ $(ATS) AS_USE_SSL _GNU_SOURCE +libs += $(TTCN3_DIR)/lib/libttcn3-rt2-parallel.a -lstdc++fs + +ifeq (Windows_NT,$(OS)) +# Silence linker warnings. +LDFLAGS += -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc +defines += WIN32 +libs += $(patsubst %, -L%/lib, $(OPENSSL_DIR)) +all_includes += $(addsuffix /include, $(OPENSSL_DIR)) +libs += $(WPCAP_DLL_PATH) +else +defines += LINUX +libs += -lpcap -lrt -lpthread +endif + +libs += -lssl -lcrypto -lxml2 -ljsoncpp -L$(OSIP_LIB) -losipparser2 -lsctp + +$(eval $(call IncludeModule, $(TOPDIR)/ttcn/$(ATS))) + +outdir := $(TOPDIR)/build/$(ATS) +bindir := $(TOPDIR)/bin + +sources := $(all_sources) +includes := $(outdir) $(outdir)/.. $(outdir)/asn1 $(all_includes) $(NPCAP_INCLUDE) $(OSIP_INCLUDE) + +ifeq (Windows_NT,$(OS)) + EXE=.exe +endif + +ttcn_sources := $(filter %.ttcn , $(sources)) +ttcn3_sources := $(filter %.ttcn3, $(sources)) +asn_sources := $(filter %.asn, $(sources)) +asn1_sources := $(filter %.asn1, $(sources)) + +tt_sources := $(ttcn_sources) $(ttcn3_sources) $(asn_sources) $(asn1_sources) +cc_sources := $(filter %.cc, $(sources)) + +gen_ttcn_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn, %.cc, $(ttcn_sources)))) +gen_ttcn_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn, %.hh, $(ttcn_sources)))) +gen_ttcn3_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn3, %.cc, $(ttcn3_sources)))) +gen_ttcn3_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.ttcn3, %.hh, $(ttcn3_sources)))) +gen_asn_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn, %.cc, $(asn_sources)))) +gen_asn_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn, %.hh, $(asn_sources)))) +gen_asn1_sources := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn1, %.cc, $(asn1_sources)))) +gen_asn1_headers := $(addprefix $(outdir)/, $(notdir $(patsubst %.asn1, %.hh, $(asn1_sources)))) + +gen_sources := $(gen_ttcn_sources) $(gen_ttcn3_sources) $(gen_asn_sources) $(gen_asn1_sources) +gen_headers := $(gen_ttcn_headers) $(gen_ttcn3_headers) $(gen_asn_headers) $(gen_asn1_headers) + +gen_objects := $(patsubst %.cc, %.o, $(gen_sources)) +cc_objects := $(patsubst %.cc, $(outdir)/%.o, $(cc_sources)) + +.PHONY: all FORCE echo + +all: $(bindir) $(outdir) $(bindir)/$(ATS)$(EXE) + +echo_sources: + @echo -e "$(addsuffix \n,$(all_sources))" + +echo: echo_sources + @echo -e "sources:\n $(addsuffix \n, $(sources))" + @echo -e "gen_sources:\n $(addsuffix \n, $(gen_sources))" + @echo -e "gen_objects:\n $(addsuffix \n, $(gen_objects))" + @echo -e "cc_objects:\n $(addsuffix \n, $(cc_objects))" + @echo -e "includes:\n $(addsuffix \n, $(includes))" + @echo -e "defines: $(addsuffix \n, $(defines))" + +clean: + rm -f $(outdir)/$(ATS)$(EXE) $(gen_objects) $(gen_sources) $(gen_headers) $(cc_objects) $(outdir)/.generate $(outdir)/../lib5GNGAPAsn.so +# rm -f $(outdir)/asn1/*.so $(outdir)/asn1/*.o $(outdir)/asn1/*.c $(outdir)/asn1/*.h $(outdir)/asn1/Makefile.am.libasncodec + +regen: force_regen $(outdir)/.generate +force_regen: + rm -f $(outdir)/.generate + +t3q: all + @echo -e "Code checking in progress..." + @java -Xmx3g -Xss512m -jar $(T3Q_PATH)/t3q.jar --config $(T3Q_PATH)/$(T3Q_CONFIG) $(tt_sources) > $(outdir)/t3q.out 2>&1 ; cd - + @echo -e "Code checking in done..." + @echo -e "Output file is located here: $(outdir)/t3q.out" + +t3d: all + @echo -e "TTCN-3 doc generation in progress..." + @java -Xmx3g -Xss512m -jar $(T3D_PATH)/t3d.jar --config $(T3D_PATH)/$(T3D_CONFIG) $(tt_sources) > $(outdir)/t3d.out 2>&1 ; cd - + @echo -e "TTCN-3 doc generation done..." + @echo -e "Output file is located here: $(outdir)/t3d.out" + +$(outdir) $(outdir)/asn1 $(bindir): + mkdir -p $@ + +$(bindir)/$(ATS)$(EXE): $(outdir)/asn1/lib5GNGAPAsn.a $(gen_objects) $(cc_objects) + g++ -g -O0 -std=c++17 -o $@ $(LDFLAGS) $(gen_objects) $(cc_objects) $(outdir)/asn1/lib5GNGAPAsn.a $(libs) + +$(gen_objects) :%.o :%.cc + g++ -g -O0 -std=c++17 -c $(addprefix -D, $(defines)) $(addprefix -I, $(includes)) -o $@ $< + +$(cc_objects) : $(outdir)/%.o : %.cc + mkdir -p $(dir $@) + g++ -g -O0 -std=c++17 -c $(addprefix -D, $(defines)) $(addprefix -I, $(includes)) -o $@ $< + +#$(gen_sources): +# $(TTCN3_DIR)/bin/compiler -n -e -L -R -U none -o $(outdir) $(tt_sources) + +$(gen_sources): $(outdir)/.generate + +$(outdir)/.generate: Makefile $(tt_sources) + $(TTCN3_DIR)/bin/compiler $(TTCN3_COMPILER_OPTIONS) -o $(outdir) $(tt_sources) + touch $@ + +$(bindir)/lib5GNGAPAsn.so: $(outdir)/asn1/lib5GNGAPAsn.so + cp -f $< $@ + +$(outdir)/asn1/lib5GNGAPAsn.a: $(asn_sources) $(asn1_sources) libNr5gcAsn1.mk Makefile + mkdir -p $(outdir)/asn1 + echo TOP_DIR := ../../.. >$(outdir)/asn1/Makefile + echo ASN_PDU := $(pdu) >>$(outdir)/asn1/Makefile + echo ASN_FILES := \\ >>$(outdir)/asn1/Makefile + for n in $(asn_sources) $(asn1_sources); do echo " $$n \\"; done >>$(outdir)/asn1/Makefile + echo >>$(outdir)/asn1/Makefile + cat libNr5gcAsn1.mk >>$(outdir)/asn1/Makefile + $(MAKE) -C $(outdir)/asn1 + touch $@ + +$(foreach S, $(ttcn_sources), $(eval $(outdir)/$(notdir $(patsubst %.ttcn, %.cc, $(S))): $(S))) +$(foreach S, $(ttcn3_sources), $(eval $(outdir)/$(notdir $(patsubst %.ttcn3, %.cc, $(S))): $(S))) +$(foreach S, $(asn_sources), $(eval $(outdir)/$(notdir $(patsubst %.asn, %.cc, $(S))): $(S))) +$(foreach S, $(asn1_sources), $(eval $(outdir)/$(notdir $(patsubst %.asn1, %.cc, $(S))): $(S))) + +$(asn_sources) $(asn1_sources): + diff --git a/NGAP_ETSI.code-workspace b/NGAP_ETSI.code-workspace new file mode 100644 index 0000000000000000000000000000000000000000..4d05c85b5c3f29b48a45549e08473d2d7ed981bd --- /dev/null +++ b/NGAP_ETSI.code-workspace @@ -0,0 +1,15 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "../../../tmp/osmo-ttcn3-hacks" + } + ], + "settings": { + "files.associations": { + "pdusessionresourcemodifyindication.h": "c" + } + } +} \ No newline at end of file diff --git a/ccsrc/Asn1c/asn1_recoder.cc b/ccsrc/Asn1c/asn1_recoder.cc new file mode 100644 index 0000000000000000000000000000000000000000..df520ac8f0191521faa39f89188b9534bc076517 --- /dev/null +++ b/ccsrc/Asn1c/asn1_recoder.cc @@ -0,0 +1,56 @@ +#include + +#include "asn1_recoder.hh" + +#include + +extern "C" { +static int asn1c_collect_encoded_data(const void *buffer, size_t size, void *application_specific_key) { + TTCN_Buffer *tb = (TTCN_Buffer *)application_specific_key; + tb->put_s(size, (unsigned char *)buffer); + return 0; +} +} + +int asn1_recoder::recode(const asn_TYPE_descriptor_s &td, int from, int to, TTCN_Buffer &buf) { + int rc = -1; + void * ptr = NULL; + asn_dec_rval_t rc_d; + rc_d = asn_decode(NULL, (asn_transfer_syntax)from, (asn_TYPE_descriptor_s *)&td, &ptr, buf.get_data(), buf.get_len()); + if (rc_d.code == RC_OK) { + // Encode as PER + asn_enc_rval_t rc_e; + buf.clear(); + rc_e = asn_encode(NULL, (asn_transfer_syntax)to, (asn_TYPE_descriptor_s *)&td, ptr, asn1c_collect_encoded_data, &buf); + rc = rc_e.encoded; + } + if (ptr) { + ASN_STRUCT_FREE(td, ptr); + } + return rc; +} + +int asn1_recoder::ber2per(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf) +{ + //return recode(td, (int)ATS_BER, (int)ATS_UNALIGNED_CANONICAL_PER, buf); + //return recode(td, (int)ATS_BER, (int)ATS_ALIGNED_CANONICAL_PER, buf); + return recode(td, (int)ATS_BER, (int)ATS_ALIGNED_BASIC_PER, buf); + //return recode(td, (int)ATS_BER, (int)ATS_UNALIGNED_BASIC_PER, buf); +} + +int asn1_recoder::per2ber(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf) +{ + //return recode(td, (int)ATS_UNALIGNED_BASIC_PER, (int)ATS_DER, buf); + //return recode(td, (int)ATS_ALIGNED_CANONICAL_PER, (int)ATS_BER, buf); + return recode(td, (int)ATS_ALIGNED_BASIC_PER, (int)ATS_BER, buf); +} + +int asn1_recoder::ber2oer(const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf) +{ + return recode(td, (int)ATS_BER, (int)ATS_CANONICAL_OER, buf); +} + +int asn1_recoder::oer2ber(const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf) +{ + return recode(td, (int)ATS_BASIC_OER, (int)ATS_BER, buf); +} diff --git a/ccsrc/Asn1c/asn1_recoder.hh b/ccsrc/Asn1c/asn1_recoder.hh new file mode 100644 index 0000000000000000000000000000000000000000..7592e23fe023f3c6126942e7a44f542e48b3e266 --- /dev/null +++ b/ccsrc/Asn1c/asn1_recoder.hh @@ -0,0 +1,29 @@ +/*! + * \file asn1_recode_per.hh + * \brief Header file ASN.1 PER codec based on asn1c external tool. + * \author ETSI STF525 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +class OCTETSTRING; //! Forward declaration of TITAN class +class CHARSTRING; //! Forward declaration of TITAN class +class BITSTRING; //! Forward declaration of TITAN class +class TTCN_Buffer; //! Forward declaration of TITAN class +class TTCN_EncDec; //! Forward declaration of TITAN class +class TTCN_Typedescriptor_t; //! Forward declaration of TITAN class + +struct asn_TYPE_descriptor_s; //! Forward declaration of asn1c class + +class asn1_recoder { +protected: + int ber2per(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf); + int per2ber(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf); + int ber2oer(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf); + int oer2ber(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf); + int recode(const asn_TYPE_descriptor_s &td, int from, int to, TTCN_Buffer &buf); +}; // End of class asn1_recode_per diff --git a/ccsrc/Asn1c/module.mk b/ccsrc/Asn1c/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..226091a330be6a418fbdbb17e1ffc9c7f30fd680 --- /dev/null +++ b/ccsrc/Asn1c/module.mk @@ -0,0 +1,3 @@ +sources := asn1_recoder.cc +includes := . + diff --git a/ccsrc/Asn1c/per_codec.hh b/ccsrc/Asn1c/per_codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..dfd960d6a3010a81fcb1f145eba70ea1f2983f65 --- /dev/null +++ b/ccsrc/Asn1c/per_codec.hh @@ -0,0 +1,80 @@ +/*! + * \file per_codec.hh + * \brief Header file for TITAN message to ASN.1 PER message codec. + * \author ETSI STF525 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +#include "params.hh" +#include "asn1_recoder.hh" + +class BITSTRING; //! Forward declaration of TITAN class +class TTCN_Typedescriptor_t; //! Forward declaration of TITAN class + +struct asn_TYPE_descriptor_s; //! Declare asn1c class + +/*! + * \class per_codec + * \brief This class provides the interface for all ASN.1 PER codecs. + * \remark This class uses asn1c external tool + */ +template +class per_codec : public asn1_recoder +{ +public: //! \publicsection + /*! + * \fn int encode(const TPDU& p_message, BITSTRING& p_bitstring); + * \brief Encode TITAN message into ASN.1 PER message + * \param[in] p_message The PDU message to encode + * \param[out] p_bitstring The encoded PDU message in bit string format + * \pure + */ + virtual int encode(const TPDU& p_message, BITSTRING& p_bitstring) = 0; + /*! + * \fn int decode(const BITSTRING& p_bitstring, TPDU& p_message); + * \brief Decode ASN.1 PER message into TITAN message + * \param[in] p_bitstring The network message in bit string format to decode + * \param[out] p_message The PDU message + * \pure + */ + virtual int decode(const BITSTRING& p_bitstring, TPDU& p_message) = 0; + +protected: //! \protectedsection + inline int _decode (const TTCN_Typedescriptor_t& ttcn, const asn_TYPE_descriptor_s & td, const BITSTRING& p_data, TPDU& msg); + inline int _encode (const TTCN_Typedescriptor_t& ttcn, const asn_TYPE_descriptor_s & td, const TPDU& msg, BITSTRING& p_data); +}; // End of class per_codec + +#include + +template +int per_codec::_decode (const TTCN_Typedescriptor_t& ttcn, const asn_TYPE_descriptor_s & td, const BITSTRING& p_data, TPDU& msg) { + TTCN_Buffer buf(bit2oct(p_data)); + TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING); + int rc = per2ber (td, buf); + if (rc > 0) { + msg.decode(ttcn, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + rc = buf.get_len(); + } + return rc; +} + +template +int per_codec::_encode (const TTCN_Typedescriptor_t& ttcn, const asn_TYPE_descriptor_s & td, const TPDU& msg, BITSTRING& p_data) { + int rc = -1; + TTCN_Buffer buf; + TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT/*WARNING*/); + msg.encode(ttcn, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); + if (buf.get_len() > 0) { + rc = ber2per (td, buf); + if (rc > 0) { + p_data = oct2bit(OCTETSTRING(buf.get_len(), buf.get_data())); + } + } + return rc; +} + diff --git a/ccsrc/EncDec/LibNGAP_Encdec.cc b/ccsrc/EncDec/LibNGAP_Encdec.cc new file mode 100644 index 0000000000000000000000000000000000000000..dff04bf3d3f4f5c020f1f30cd011fd6441d7305e --- /dev/null +++ b/ccsrc/EncDec/LibNGAP_Encdec.cc @@ -0,0 +1,158 @@ +#include "loggers.hh" +#include "LibNGAP_EncdecDeclarations.hh" +//#include "ngap_codec.hh" + +namespace LibNGAP__EncdecDeclarations { + + BITSTRING fx__enc__PDUSessionResourceSetupRequestTransfer(const NGAP__IEs::PDUSessionResourceSetupRequestTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupRequestTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceSetupRequestTransfer(BITSTRING &b, NGAP__IEs::PDUSessionResourceSetupRequestTransfer &p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupRequestTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceReleaseCommandTransfer(const NGAP__IEs::PDUSessionResourceReleaseCommandTransfer &p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceReleaseCommandTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceReleaseCommandTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceReleaseCommandTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceReleaseCommandTransfer"); + return -1; + } + + BITSTRING fx__enc__UEContextSuspendRequestTransfer(const NGAP__IEs::UEContextSuspendRequestTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__UEContextSuspendRequestTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__UEContextSuspendRequestTransfer(BITSTRING& pdu, NGAP__IEs::UEContextSuspendRequestTransfer& p) { + loggers::get_instance().log(">>> fx__dec__UEContextSuspendRequestTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceSetupResponseTransfer(const NGAP__IEs::PDUSessionResourceSetupResponseTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupResponseTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceSetupResponseTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceSetupResponseTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupResponseTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceModifyIndicationTransfer(const NGAP__IEs::PDUSessionResourceModifyIndicationTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceModifyIndicationTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceModifyIndicationTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceModifyIndicationTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceModifyIndicationTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer(const NGAP__IEs::PDUSessionResourceSetupUnsuccessfulTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceSetupUnsuccessfulTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceReleaseResponseTransfer(const NGAP__IEs::PDUSessionResourceReleaseResponseTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceReleaseResponseTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceReleaseResponseTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceModifyConfirmTransfer(const NGAP__IEs::PDUSessionResourceModifyConfirmTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceModifyConfirmTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceModifyConfirmTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceModifyIndicationUnsuccessfulTransfer(const NGAP__IEs::PDUSessionResourceModifyIndicationUnsuccessfulTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceModifyIndicationUnsuccessfulTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceModifyIndicationUnsuccessfulTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceModifyResponseTransfer(const NGAP__IEs::PDUSessionResourceModifyResponseTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceModifyResponseTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceModifyResponseTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceModifyUnsuccessfulTransfer(const NGAP__IEs::PDUSessionResourceModifyUnsuccessfulTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceModifyUnsuccessfulTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceModifyUnsuccessfulTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + BITSTRING fx__enc__PDUSessionResourceModifyRequestTransfer(const NGAP__IEs::PDUSessionResourceModifyRequestTransfer& p) { + loggers::get_instance().log_msg(">>> fx__enc__PDUSessionResourceSetupUnsuccessfulTransfer ", p); + return int2bit(0, 1); + } + + INTEGER fx__dec__PDUSessionResourceModifyRequestTransfer(BITSTRING& pdu, NGAP__IEs::PDUSessionResourceModifyRequestTransfer& p) { + loggers::get_instance().log(">>> fx__dec__PDUSessionResourceSetupUnsuccessfulTransfer"); + return -1; + } + + + /**************************************************** + * @desc External function to encode a .... type + * @param value to encode + * @return encoded value + ****************************************************/ + /*BITSTRING fx__enc__ProtocolIE(const LibNGAP__TypesAndValues::ProtocolIE &p) { + loggers::get_instance().log_msg(">>> fx__enc__ProtocolIE:: ", p); + ngap_codec codec; + OCTETSTRING os; + if (codec.encode(p.IE(), os) == -1) { + loggers::get_instance().warning("fx__enc__ProtocolIE -1 result code was returned"); + return int2bit(0, 1); + } + + return oct2bit(os); + + return int2bit(0, 8); + }*/ + + /**************************************************** + * @desc External function to decode a .... type + * @param value to encode + * @return encoded value + ****************************************************/ + + /*INTEGER fx__dec__ProtocolIE(BITSTRING &b, LibNGAP__TypesAndValues::ProtocolIE &p) { + loggers::get_instance().log(">>> fx__dec__ProtocolIE::"); + return -1; + }*/ + +} // namespace LibNGAP__EncdecDeclarations diff --git a/ccsrc/EncDec/module.mk b/ccsrc/EncDec/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..9151cd08769504b2adef5e1ff56006903e61002c --- /dev/null +++ b/ccsrc/EncDec/module.mk @@ -0,0 +1,3 @@ +sources := LibNGAP_Encdec.cc +includes := . + diff --git a/ccsrc/Ports/LibNGAP/NGAPPort.cc b/ccsrc/Ports/LibNGAP/NGAPPort.cc new file mode 100644 index 0000000000000000000000000000000000000000..a7b6155b38b2df75901996734aba3de9ac7f25c0 --- /dev/null +++ b/ccsrc/Ports/LibNGAP/NGAPPort.cc @@ -0,0 +1,128 @@ +#include "loggers.hh" + +#include "LibNGAP_Interface.hh" +#include "NGAP_PDU_Descriptions.hh" +#include "ngap_layer_factory.hh" +#include "layer.hh" +#include "params.hh" + +namespace NGAP__PDU__Descriptions{ + class NGAP__PDU; +} +namespace LibNGAP__Interface { + + NGAPPort::NGAPPort(const char *par_port_name): NGAPPort_BASE(par_port_name), _cfg_params(), _layer_params(), _layer(nullptr), _time_key("NGAPPort::") { + // Nothing to do + } // End of constructor + + NGAPPort::~NGAPPort() { + loggers::get_instance().log(">>> NGAPPort::~NGAPPort"); + + if (_layer != nullptr) { + delete _layer; + } + } // End of destructor + + void NGAPPort::set_parameter(const char * parameter_name, const char * parameter_value) + { + loggers::get_instance().log("NGAPPort::set_parameter: %s=%s", parameter_name, parameter_value); + _cfg_params.insert(std::pair(std::string(parameter_name), std::string(parameter_value))); + } + + /*void HttpPort::Handle_Fd_Event(int fd, boolean is_readable, + boolean is_writable, boolean is_error) {}*/ + + void NGAPPort::Handle_Fd_Event_Error(int /*fd*/) + { + + } + + void NGAPPort::Handle_Fd_Event_Writable(int /*fd*/) + { + + } + + void NGAPPort::Handle_Fd_Event_Readable(int /*fd*/) + { + + } + + /*void HttpPort::Handle_Timeout(double time_since_last_call) {}*/ + + void NGAPPort::user_map(const char * system_port) + { + loggers::get_instance().log(">>> NGAPPort::user_map: %s", system_port); + // Build layer stack + params::iterator it = _cfg_params.find(std::string("params")); + if (it != _cfg_params.end()) { + loggers::get_instance().log("NGAPPort::user_map: %s", it->second.c_str()); + // Setup parameters + params::convert(_layer_params, it->second); // TODO This _layer_params seems to be useless + // Create layer + _layer = layer_stack_builder::get_instance()->create_layer_stack(it->second.c_str()); + + if (static_cast(_layer) == nullptr) { + loggers::get_instance().error("NGAPPort::user_map: Invalid stack configurationi - NOT SCTP: %s", it->second.c_str()); + } + static_cast(_layer)->add_upper_port(this); + + // Create layer + _layer = layer_stack_builder::get_instance()->create_layer_stack(it->second.c_str()); + if (static_cast(_layer) == NULL) { + loggers::get_instance().error("NGAPPort::user_map: Invalid stack configuration: %s", it->second.c_str()); + } + static_cast(_layer)->add_upper_port(this); + } else { + loggers::get_instance().error("NGAPPort::user_map: No layers defined in configuration file"); + } + } // End of user_map method + + void NGAPPort::user_unmap(const char * system_port) + { + loggers::get_instance().log(">>> NGAPPort:user_unmap: %s", system_port); + + // Reset layers + if (_layer != nullptr) { + delete _layer; + _layer = nullptr; + } + } // End of user_unmap method + + void NGAPPort::user_start() + { + loggers::get_instance().log(">>> NGAPPort::user_start"); + + } // End of user_start method + + void NGAPPort::user_stop() + { + loggers::get_instance().log(">>> NGAPPort::user_stop"); + + } // End of user_stop method + + void NGAPPort::outgoing_send(const NGAP__PDU__Descriptions::NGAP__PDU& send_par) + { + loggers::get_instance().log_msg(">>> NGAPPort::outgoing_send: payload=", send_par); + + float duration; + loggers::get_instance().set_start_time(_time_key); + params params; + static_cast(_layer)->sendMsg(send_par, params); + loggers::get_instance().set_stop_time(_time_key, duration); + } + + void NGAPPort::receiveMsg (const NGAP__PDU__Descriptions::NGAP__PDU& p_ind, const params& p_params) { + loggers::get_instance().log_msg(">>> NGAPPort::receive_msg: ", p_ind); + float duration; + loggers::get_instance().set_start_time(_time_key); + // Sanity check + if (!p_ind.is_bound()) { + return; + } + + incoming_message(p_ind); + loggers::get_instance().set_stop_time(_time_key, duration); + } + +} // End of namespace LibNGAP__Interface + diff --git a/ccsrc/Ports/LibNGAP/NGAPPort.hh b/ccsrc/Ports/LibNGAP/NGAPPort.hh new file mode 100644 index 0000000000000000000000000000000000000000..f3461461b4cdc8aa003ae73d6b0d1021df723866 --- /dev/null +++ b/ccsrc/Ports/LibNGAP/NGAPPort.hh @@ -0,0 +1,49 @@ +#pragma once + +#include "LibNGAP_Interface.hh" +#include "NGAP_PDU_Descriptions.hh" + +#include "layer.hh" +#include "params.hh" + +namespace NGAP__PDU__Descriptions{ + class NGAP__PDU; +} +namespace LibNGAP__Interface { + + //class HttpPort : public HttpPort_BASE { + class NGAPPort : public NGAPPort_BASE { + params _cfg_params; + params _layer_params; + layer* _layer; + std::string _time_key; + public: + NGAPPort(const char *par_port_name); + ~ NGAPPort(); + + //inline const char *get_name() const { return port_name; } + void set_parameter(const char *parameter_name, const char *parameter_value); + void receiveMsg (const NGAP__PDU__Descriptions::NGAP__PDU& p_ind, const params& p_params); + + private: + /* void Handle_Fd_Event(int fd, boolean is_readable, + boolean is_writable, boolean is_error); */ + void Handle_Fd_Event_Error(int fd); + void Handle_Fd_Event_Writable(int fd); + void Handle_Fd_Event_Readable(int fd); + /* void Handle_Timeout(double time_since_last_call); */ + + protected: + const char *port_name; + void user_map(const char *system_port); + void user_unmap(const char *system_port); + + void user_start(); + void user_stop(); + + protected: + void outgoing_send(const NGAP__PDU__Descriptions::NGAP__PDU& send_par); + }; // End of class NGAPPort + +} // End of namespace LibNGAP__Interface + diff --git a/ccsrc/Ports/LibNGAP/module.mk b/ccsrc/Ports/LibNGAP/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..20b21a72e353d3fcaff2ddfa907fab64e4c172f3 --- /dev/null +++ b/ccsrc/Ports/LibNGAP/module.mk @@ -0,0 +1,3 @@ +sources := NGAPPort.cc +includes := . + diff --git a/ccsrc/Protocols/NGAP/module.mk b/ccsrc/Protocols/NGAP/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..31c42b6a73956b4b7abdef0c571e8202c05771f8 --- /dev/null +++ b/ccsrc/Protocols/NGAP/module.mk @@ -0,0 +1,2 @@ +sources := ngap_codec.cc ngap_pdu_codec.cc +includes := . diff --git a/ccsrc/Protocols/NGAP/ngap_codec.cc b/ccsrc/Protocols/NGAP/ngap_codec.cc new file mode 100644 index 0000000000000000000000000000000000000000..aa8637be2632f317a16e02086da0f3e76f8d2c9c --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_codec.cc @@ -0,0 +1,28 @@ +#include "ngap_codec.hh" +#include "LibNGAP_TypesAndValues.hh" +#include "asn1/asn_application.h" // from asn1c +#include "loggers.hh" + +int ngap_codec::encode(const NGAP__PDU__Descriptions::NGAP__PDU& ngap, OCTETSTRING &data) { + loggers::get_instance().log(">>> ngap_codec::encode"); + + BITSTRING b; + int rc = asn_codec.encode(ngap, b); + loggers::get_instance().log("ngap_codec::encode: ASN.1 codec returned %d", rc); + if (rc) { + data = bit2oct(b); + loggers::get_instance().log_msg("ngap_codec::encode: ", data); + } + return rc; +} + +int ngap_codec::decode(const OCTETSTRING &data, NGAP__PDU__Descriptions::NGAP__PDU &ngap, params_ngap *params) { + loggers::get_instance().log_msg(">>> ngap_codec::decode: ", data); + + int rc = asn_codec.decode(oct2bit(data), ngap); + loggers::get_instance().log("ngap_codec::decode: ASN.1 codec returned %d", rc); + if (rc) { + loggers::get_instance().log_msg("ngap_codec::decode: ", ngap); + } + return rc; +} diff --git a/ccsrc/Protocols/NGAP/ngap_codec.hh b/ccsrc/Protocols/NGAP/ngap_codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..c4813aa603b5b47b7afe51753a7c721382536d3d --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_codec.hh @@ -0,0 +1,22 @@ +#pragma once + +#include "ngap_pdu_codec.hh" +#include "codec.hh" + +class BITSTRING; //! Forward declaration of TITAN class +class OCTETSTRING; //! Forward declaration of TITAN class + +namespace NGAP__PDU__Descriptions { //! Forward declaration of asn1c NGAP class + class NGAP__PDU; +} + +class ngap_codec : public codec { + ngap_pdu_codec asn_codec; + +public: + explicit ngap_codec() : codec(), asn_codec(){}; + virtual ~ngap_codec(){}; + + virtual int encode(const NGAP__PDU__Descriptions::NGAP__PDU& ngap, OCTETSTRING &data); + virtual int decode(const OCTETSTRING &data, NGAP__PDU__Descriptions::NGAP__PDU &ngap, params_ngap *params = NULL); +}; diff --git a/ccsrc/Protocols/NGAP/ngap_pdu_codec.cc b/ccsrc/Protocols/NGAP/ngap_pdu_codec.cc new file mode 100644 index 0000000000000000000000000000000000000000..b594a3d3dd5a0063e978b1ccf44fcd039c7caf1e --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_pdu_codec.cc @@ -0,0 +1,18 @@ +#include "ngap_pdu_codec.hh" +#include "LibNGAP_TypesAndValues.hh" +#include "asn1/asn_application.h" // from asn1c +#include "loggers.hh" + +extern "C" { + extern asn_TYPE_descriptor_t asn_DEF_NGAP_PDU; +} + +int ngap_pdu_codec::encode(const NGAP__PDU__Descriptions::NGAP__PDU &p_ngap, BITSTRING &p_data) { + loggers::get_instance().log("ngap_pdu_codec::encode: "); + return _encode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, asn_DEF_NGAP_PDU, p_ngap, p_data); +} + +int ngap_pdu_codec::decode(const BITSTRING &p_data, NGAP__PDU__Descriptions::NGAP__PDU &p_ngap) { + loggers::get_instance().log("ngap_pdu_codec::decode: "); + return _decode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, asn_DEF_NGAP_PDU, p_data, p_ngap); +} \ No newline at end of file diff --git a/ccsrc/Protocols/NGAP/ngap_pdu_codec.hh b/ccsrc/Protocols/NGAP/ngap_pdu_codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..5ffe1680053eec122376a126ee128e34c7ebb382 --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_pdu_codec.hh @@ -0,0 +1,19 @@ +#pragma once + +#include "codec.hh" +#include "params.hh" +#include "per_codec.hh" + +class BITSTRING; //! Forward declaration of TITAN class +class OCTETSTRING; //! Forward declaration of TITAN class + +namespace NGAP__PDU__Descriptions { //! Forward declaration of asn1c NGAP class + class NGAP__PDU; +} + +class ngap_pdu_codec : public per_codec { +public: + explicit ngap_pdu_codec(){}; + virtual int encode(const NGAP__PDU__Descriptions::NGAP__PDU &ngap, BITSTRING &data); + virtual int decode(const BITSTRING &data, NGAP__PDU__Descriptions::NGAP__PDU &ngap); +}; diff --git a/ccsrc/Protocols/NGAP/ngap_types.hh b/ccsrc/Protocols/NGAP/ngap_types.hh new file mode 100644 index 0000000000000000000000000000000000000000..a679a52f5f903853d6821f6b7ad15c54da573e34 --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_types.hh @@ -0,0 +1,15 @@ +/*! + * \file ngap_types.hh + * \brief Header file for TITAN NGAP types. + * \author ETSI + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +using namespace std; // Required for isnan() +#include "LibNGAP_TypesAndValues.hh" +#include "NGAP_PDU_Descriptions.hh" diff --git a/ccsrc/Protocols/NGAP_layer/module.mk b/ccsrc/Protocols/NGAP_layer/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..654f8ac098b4e4353f45366c450514bf62b01472 --- /dev/null +++ b/ccsrc/Protocols/NGAP_layer/module.mk @@ -0,0 +1,2 @@ +sources := ngap_layer.cc +includes := . ../NGAP/ diff --git a/ccsrc/Protocols/NGAP_layer/ngap_layer.cc b/ccsrc/Protocols/NGAP_layer/ngap_layer.cc new file mode 100644 index 0000000000000000000000000000000000000000..170c0a3d9d67218390e2bef0b509f205289aff65 --- /dev/null +++ b/ccsrc/Protocols/NGAP_layer/ngap_layer.cc @@ -0,0 +1,69 @@ +#include "ngap_types.hh" + +#include "NGAP_TestSystem.hh" + +#include "ngap_layer_factory.hh" + +#include "registration.hh" + +#include "loggers.hh" + +ngap_layer::ngap_layer(const std::string &p_type, const std::string ¶m) : t_layer(p_type), _params(), _codec() { + loggers::get_instance().log(">>> ngap_layer::ngap_layer: %s, %s", to_string().c_str(), param.c_str()); + // Setup parameters + params::convert(_params, param); + + // Register this object for AdapterControlPort + loggers::get_instance().log("ngap_layer::ngap_layer: Register %s/%p", p_type.c_str(), this); + registration::get_instance().add_item(p_type, this); +} + +void ngap_layer::sendMsg(const NGAP__PDU__Descriptions::NGAP__PDU& p, params ¶ms) { + loggers::get_instance().log_msg(">>> ngap_layer::sendMsg: ", p); + + // Encode NGAP PDU + OCTETSTRING data; + if (_codec.encode(p, data) < 0) { + loggers::get_instance().warning("ngap_layer::sendMsg: Encoding failure"); + data=int2oct(0,1); + //return; + } + loggers::get_instance().log_msg(">>> ngap_layer::sendMsg . encoded: ", data); + + send_data(data, _params); +} + +void ngap_layer::send_data(OCTETSTRING &data, params &p_params) { + loggers::get_instance().log_msg(">>> ngap_layer::send_data: ", data); + + send_to_all_layers(data, p_params); +} + +void ngap_layer::receive_data(OCTETSTRING &data, params &p_params) { + loggers::get_instance().log_msg(">>> ngap_layer::receive_data: ", data); + + // Sanity check + //if (*(static_cast(data) + 1) != 0x02) { // Check that received packet has CA message id - See ETSI TS 102 894 + // // Not a NGAP message, discard it + // loggers::get_instance().warning("ngap_layer::receive_data: Wrong message id: 0x%02x", *(static_cast(data) + 1)); + // return; + //} + + // Decode the payload + //params ¶ms = p_params;//static_cast(p_params); + + NGAP__PDU__Descriptions::NGAP__PDU p; + _codec.decode(data, p); + if (!p.is_bound()) { + // Discard it + return; + } // else, continue + + // Process lower layer data + + + // Pass it to the ports if any + to_all_upper_ports(p, p_params); +} + +ngap_layer_factory ngap_layer_factory::_f; diff --git a/ccsrc/Protocols/NGAP_layer/ngap_layer.hh b/ccsrc/Protocols/NGAP_layer/ngap_layer.hh new file mode 100644 index 0000000000000000000000000000000000000000..fe479c8c20df11950b06123dd3fe85257730069d --- /dev/null +++ b/ccsrc/Protocols/NGAP_layer/ngap_layer.hh @@ -0,0 +1,74 @@ +/*! + * \file ngap_layer.hh + * \brief Header file for ITS NGAP protocol layer. + * \author ETSI TTF T033 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +#include "ngap_codec.hh" +#include "t_layer.hh" + +namespace LibNGAP__Interface { + class NGAPPort; //! Forward declaration of TITAN class +} // namespace NGAP__TestSystem + +/*! + * \class ngap_layer + * \brief This class provides description of ITS NGAP protocol layer + */ +class ngap_layer : public t_layer { + params_ngap _params; //! Layer parameters + ngap_codec _codec; //! NGAP codec +public: //! \publicsection + /*! + * \brief Default constructor + * Create a new instance of the ngap_layer class + */ + explicit ngap_layer() : t_layer(), _params(), _codec(){}; + /*! + * \brief Specialised constructor + * Create a new instance of the ngap_layer class + * \param[in] p_type \todo + * \param[in] p_param \todo + */ + ngap_layer(const std::string &p_type, const std::string ¶m); + /*! + * \brief Default destructor + */ + virtual ~ngap_layer(){}; + + /*! + * \fn void sendMsg(const LibItsCam__TestSystem::CamReq& p_ngap_req, params& p_params); + * \brief Send CA message to the lower layers + * \param[in] p_ngap_req The CA message to be sent + * \param[in] p_params Some parameters to overwrite default value of the lower layers parameters + */ + void sendMsg(const NGAP__PDU__Descriptions::NGAP__PDU& p_ngap, params &p_params); + + /*! + * \virtual + * \fn void send_data(OCTETSTRING& data, params& params); + * \brief Send bytes formated data to the lower layers + * \param[in] p_data The data to be sent + * \param[in] p_params Some parameters to overwrite default value of the lower layers parameters + */ + virtual void send_data(OCTETSTRING &data, params ¶ms); + /*! + * \virtual + * \fn void receive_data(OCTETSTRING& data, params& params); + * \brief Receive bytes formated data from the lower layers + * \param[in] p_data The bytes formated data received + * \param[in] p_params Some lower layers parameters values when data was received + */ + virtual void receive_data(OCTETSTRING &data, params &info); + +// int enable_secured_mode(const std::string &p_certificate_id, const boolean p_enforce_security); + +// int disable_secured_mode(); + +}; // End of class ngap_layer diff --git a/ccsrc/Protocols/NGAP_layer/ngap_layer_factory.hh b/ccsrc/Protocols/NGAP_layer/ngap_layer_factory.hh new file mode 100644 index 0000000000000000000000000000000000000000..01b346929eff90cd38b80cffe5b25e17fe466a79 --- /dev/null +++ b/ccsrc/Protocols/NGAP_layer/ngap_layer_factory.hh @@ -0,0 +1,41 @@ +/*! + * \file ngap_layer_factory.hh + * \brief Header file for ITS NGAP protocol layer factory. + * \author ETSI TTF T033 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +#include "layer_stack_builder.hh" + +#include "ngap_layer.hh" + +/*! + * \class ngap_layer_factory + * \brief This class provides a factory class to create a ngap_layer class instance + */ +class ngap_layer_factory : public layer_factory { + static ngap_layer_factory _f; //! Reference to the unique instance of this class +public: //! \publicsection + /*! + * \brief Default constructor + * Create a new instance of the ngap_layer_factory class + * \remark The NGAP layer identifier is NGAP + */ + ngap_layer_factory() { + // Register factory + layer_stack_builder::register_layer_factory("NGAP", this); + }; + /*! + * \fn layer* create_layer(const std::string & type, const std::string & param); + * \brief Create the layers stack based on the provided layers stack description + * \param[in] p_type The provided layers stack description + * \param[in] p_params Optional parameters + * \return 0 on success, -1 otherwise + */ + inline virtual layer *create_layer(const std::string &p_type, const std::string &p_param) { return new ngap_layer(p_type, p_param); }; +}; // End of class ngap_layer_factory diff --git a/ccsrc/framework/include/codec.hh b/ccsrc/framework/include/codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..19de78593aeebac395cc444addfa62ff819d1c8f --- /dev/null +++ b/ccsrc/framework/include/codec.hh @@ -0,0 +1,61 @@ +/*! + * \file codec.hh + * \brief Header file for ITS abstract codec definition. + * \author ETSI STF525 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +#include "params_ngap.hh" + +class OCTETSTRING; //! Declare TITAN class +class CHARSTRING; //! Declare TITAN class +class BITSTRING; //! Declare TITAN class + +/*! + * \class codec + * \brief This class provides the interface for all ITS codecs, include UT and AC codecs + * \abstract + */ +template class codec { +protected: + params_ngap *_params; //! Reference to params stack + // \todo Use smart pointer std::unique_ptr + +public: //! \publicsection + /*! + * \fn codec(); + * \brief Default constructor + * \todo Remove logs + */ + explicit codec() : _params(nullptr){}; + /*! + * \fn ~codec(); + * \brief Default destructor + * \virtual + * \todo Remove logs + */ + virtual ~codec(){}; + /*! + * \fn int encode(const TPDUEnc& msg, OCTETSTRING& data); + * \brief Encode typed message into an octet string + * \param[in] p_message The typed message to be encoded + * \param[out] p_data The encoding result + * \return 0 on success, -1 otherwise + * \pure + */ + virtual int encode(const TPDUEnc &p_message, OCTETSTRING &p_data) = 0; + /*! + * \fn int decode(const OCTETSTRING& p_, TPDUDec& p_message, params_ngap* p_params = NULL); + * \brief Encode typed message into an octet string format + * \param[in] p_data The message in its octet string + * \param[out] p_message The decoded typed message + * \return 0 on success, -1 otherwise + * \pure + */ + virtual int decode(const OCTETSTRING &p_, TPDUDec &p_message, params_ngap *p_params = NULL) = 0; +}; // End of class codec diff --git a/ccsrc/framework/include/data_event_notifier.hh b/ccsrc/framework/include/data_event_notifier.hh new file mode 100644 index 0000000000000000000000000000000000000000..3f5207a7b5599d37ab3c9f78a7b7ac216d99b926 --- /dev/null +++ b/ccsrc/framework/include/data_event_notifier.hh @@ -0,0 +1,11 @@ +#pragma once + +#include "params_ngap.hh" + +class OCTETSTRING; //! Forward declaration of TITAN class + +class data_event_notifier { +public: + virtual ~data_event_notifier() = default; + virtual void update(OCTETSTRING &p_data, params_ngap &p_params) {}; +}; // End of abstract class data_event_notifier diff --git a/ccsrc/framework/include/data_event_observer.hh b/ccsrc/framework/include/data_event_observer.hh new file mode 100644 index 0000000000000000000000000000000000000000..b677ab618b834102c61a118d2566f91d9b98e014 --- /dev/null +++ b/ccsrc/framework/include/data_event_observer.hh @@ -0,0 +1,19 @@ +#pragma once + +#include + +#include "data_event_notifier.hh" + +class OCTETSTRING; //! Forward declaration of TITAN class + +class data_event_observer { +protected: + std::vector _observers; + +public: + data_event_observer() : _observers() {}; + virtual ~data_event_observer() { _observers.clear(); }; + virtual void incoming_packet_observer_attach(data_event_notifier* p_observer) {}; + virtual void incoming_packet_observer_detach(data_event_notifier* p_observer) {}; + virtual void incoming_packet_notify(OCTETSTRING &p_data, params_ngap &p_params) {}; +}; // End of abstract class data_event_observer diff --git a/ccsrc/framework/include/params_ngap.hh b/ccsrc/framework/include/params_ngap.hh new file mode 100644 index 0000000000000000000000000000000000000000..2c3df36bfc9ed3822431c7fd492f5d14afe2f994 --- /dev/null +++ b/ccsrc/framework/include/params_ngap.hh @@ -0,0 +1,37 @@ +/*! + * \file params_ngap.hh + * \brief Header file for the parameter dictionary. + * \author ETSI TTF T033 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#pragma once + +#include +#include +#include + +#include "params.hh" + +/*! + * \class params_ngap + * \brief This class provides basic functionalities for an ITS dictionary + */ +class params_ngap : public params { +public: //! \publicsection + + /*! + * \brief Default constructor + * Create a new instance of the params_ngap class + */ + params_ngap() : params() {}; + + /*! + * \brief Default destructor + */ + virtual ~params_ngap(){}; + +}; // End of class params_ngap diff --git a/ccsrc/framework/module.mk b/ccsrc/framework/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..e03df673c242d3a04eadcdf4a26f74cdefa79cdf --- /dev/null +++ b/ccsrc/framework/module.mk @@ -0,0 +1,2 @@ +sources := src/params_ngap.cc +includes += ./include diff --git a/ccsrc/framework/src/params_ngap.cc b/ccsrc/framework/src/params_ngap.cc new file mode 100644 index 0000000000000000000000000000000000000000..643011a75ac7e9bc271f4986acb8d940d17deb8a --- /dev/null +++ b/ccsrc/framework/src/params_ngap.cc @@ -0,0 +1,17 @@ +/*! + * \file param_sits.cc + * \brief Source file for the parameter dictionary. + * \author ETSI TTF T033 + * \copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * \version 0.1 + */ +#include +#include + +#include "loggers.hh" +#include "params_ngap.hh" + + diff --git a/config.mk b/config.mk new file mode 100644 index 0000000000000000000000000000000000000000..1a1a7e1e8d3972b6a8d756e69abbf30d33f42208 --- /dev/null +++ b/config.mk @@ -0,0 +1,15 @@ +TTCN3_COMPILER_OPTIONS := -d -e -f -g -j -H -l -L -R -U none -x -X +#TTCN3_COMPILER_OPTIONS := -d -e -f -g -j -l -L -R -U none -x -X +TTCN3_DIR := $(HOME)/frameworks/titan/titan.core/Install +#TTCN3_DIR := $(HOME)/tmp/ttcn3-9.0.0 +ASN1C_PATH := $(HOME)/frameworks/asn1c.denis +#ASN1C_PATH := /home/ubuntu/bin/asn1c.denis/ +#WPCAP_DLL_PATH := /cygdrive/c/windows/system32/npcap/wpcap.dll +#NPCAP_INCLUDE := /cygdrive/c/PROGRA~1/Npcap/sdk/include +#T3Q_PATH=./tools/t3q-v2.0.0b30 +#T3Q_CONFIG=t3q.cfg +#T3D_PATH=./tools/t3d-v2.0.0b30 +#T3D_CONFIG=t3d.cfg +#ITS_CONTAINER=../../../AtsDENM/lib/asn1/cdd/ITS_Container.asn +#OSIP_INCLUDE= /home/ubuntu/bin/osip/include/ +#OSIP_LIB= /home/ubuntu/bin/osip/src/osipparser2/.libs/ diff --git a/etc/AtsNGAP/AtsNGAP_AMF.cfg_ b/etc/AtsNGAP/AtsNGAP_AMF.cfg_ new file mode 100644 index 0000000000000000000000000000000000000000..6bc45b08deee18d5837ebf540fc8c801c2103198 --- /dev/null +++ b/etc/AtsNGAP/AtsNGAP_AMF.cfg_ @@ -0,0 +1,140 @@ +[MODULE_PARAMETERS] +# This section shall contain the values of all parameters that are defined in your TTCN-3 modules. + +NGAP_Pics.PICS_NGAP_AMF_IUT := false +NGAP_Pics.PICS_NGAP_AMF_IUT := true + +[LOGGING] +# In this section you can specify the name of the log file and the classes of events +# you want to log into the file or display on console (standard error). + +LogFile := "../logs/AtsNGAP/%e.%h-%r.%s" +FileMask := LOG_ALL | USER | DEBUG | MATCHING +ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING +#FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP | PORTEVENT | TESTCASE +#ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP | PORTEVENT | TESTCASE +LogSourceInfo := Stack +LogEntityName:= Yes +LogEventTypes:= Yes +#TimeStampFormat := DateTime + +[TESTPORT_PARAMETERS] +# In this section you can specify parameters that are passed to Test Ports. +aMFNGAPComponent.N2_gNBaMF_P.params := "NGAP/ETH/PCAP_FILE(file=../captures/free5gc.pcap)" + +[DEFINE] +# In this section you can create macro definitions, +# that can be used in other configuration file sections except [INCLUDE] and [ORDERED_INCLUDE]. + +[INCLUDE] +# To use configuration settings given in other configuration files, +# the configuration files just need to be listed in this section, with their full or relative pathnames. + +[ORDERED_INCLUDE] +# To use configuration settings given in other configuration files, +# the configuration files just need to be listed in this section, with their full or relative pathnames. + +[EXTERNAL_COMMANDS] +# This section can define external commands (shell scripts) to be executed by the ETS +# whenever a control part or test case is started or terminated. + +#BeginTestCase := "" +#EndTestCase := "" +#BeginControlPart := "" +#EndControlPart := "" + +[EXECUTE] +# In this section you can specify what parts of your test suite you want to execute. +#AtsImsIot_TestControl.control + +# Verify that the IUT can send a PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session. +#NGAP_TestCases.TC_NGAP_AMF_PDU_01 +# Verify that the IUT can send a PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session. +#NGAP_TestCases.TC_NGAP_AMF_PDU_02 +# Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session. +#NGAP_TestCases.TC_NGAP_AMF_PDU_03 +# Verify that the AMF node successfully processes a PDU_SESSION_RESOURCE_MODIFY_INDICATION contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for successfully modified PDU session. +#NGAP_TestCases.TC_NGAP_AMF_PDU_04 +# Verify that the AMF node processes a PDU_SESSION_RESOURCE_MODIFY_INDICATION contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for not successfully modified PDU session. +#NGAP_TestCases.TC_NGAP_AMF_PDU_05 + +# Verify that the AMF node successfully processes a HANDOVER REQUIRED message contains mandatory IEs and answers with HANDOVER COMMAND with successfully handover. +#NGAP_TestCases.TC_NGAP_AMF_MMP_01 +# Verify that the AMF node successfully processes a HANDOVER REQUIRED message contains mandatory IEs and answers with HANDOVER PREPARATION FAILURE because the UE is not longer available. +#NGAP_TestCases.TC_NGAP_AMF_MMP_02 +# Verify that the AMF node successfully sends a HANDOVER REQUEST message that contains mandatory IEs to the GNB. +#NGAP_TestCases.TC_NGAP_AMF_MMP_03 +# Verify that the AMF node successfully processes a PATH SWITCH REQUEST message that contains mandatory IEs and answers with PATH SWITCH REQUEST ACKNOWLEDGE to acknowledge the path switch. +#NGAP_TestCases.TC_NGAP_AMF_MMP_04 +# Verify that the AMF node successfully processes a PATH SWITCH REQUEST message that contains mandatory IEs and two PDU Sessions with same ID and answers with PATH SWITCH REQUEST FAILURE. +#NGAP_TestCases.TC_NGAP_AMF_MMP_05 +# Verify that the AMF node successfully processes a HANDOVER CANCEL message that contains mandatory IEs and answers with HANDOVER CANCEL ACKNOWLEDGE to confirm that the ongoing handover was cancelled. +#NGAP_TestCases.TC_NGAP_AMF_MMP_06 +# Verify that the AMF node successfully sends a DOWNLINK RAN STATUS TRANSFER message that contains mandatory IEs. +#NGAP_TestCases.TC_NGAP_AMF_MMP_07 +# Verify that the NG-RAN node successfully sends a Handover Success message to the AMF. +#NGAP_TestCases.TC_NGAP_AMF_MMP_08 +# Verify that the AMF node successfully sends a DOWNLINK RAN EARLY STATUS TRANSFER message that contains mandatory IEs. +#NGAP_TestCases.TC_NGAP_AMF_MMP_09 + +# Verify that the IUT can send an DOWNLINK NAS TRANSPORT message to carry NAS information over the NG interface. +#NGAP_TestCases.TC_NGAP_AMF_NAS_01 +# Verify that the IUT can send an REROUTE NAS REQUEST message to reroute the INITIAL UE MESSAGE message to another AMF. +#NGAP_TestCases.TC_NGAP_AMF_NAS_02 + +# Verify that the AMF node successfully processes a NG SETUP REQEST message that contains mandatory IEs and answers with NG SETUP RESPONSE to acknowledge the setup. +#NGAP_TestCases.TC_NGAP_AMF_IMP_01 +# Verify that the AMF node successfully processes a NG SETUP REQEST message that contains mandatory IEs and answers with NG SETUP RESPONSE to acknowledge the setup. +#NGAP_TestCases.TC_NGAP_AMF_IMP_02 +# Verify that the AMF node successfully processes a NG SETUP REQEST message with optional field UE Retention Information and answers with NG SETUP RESPONSE to acknowledge the setup. +#NGAP_TestCases.TC_NGAP_AMF_IMP_03 +# Verify that the AMF node successfully processes a NG SETUP REQEST message with different optional fields and answers with NG SETUP RESPONSE to acknowledge the setup. +#NGAP_TestCases.TC_NGAP_AMF_IMP_04 +# Verify that the AMF node successfully processes a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update. +#NGAP_TestCases.TC_NGAP_AMF_IMP_05 +# Verify that the AMF node successfully declines a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE FAILURE when the AMF is not able to handle the request. +#NGAP_TestCases.TC_NGAP_AMF_IMP_06 +# Verify that the IUT can send a AMF CONFIGURATION UPDATE message to the AMF. +#NGAP_TestCases.TC_NGAP_AMF_IMP_07 +# Verify that the AMF node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset. +#NGAP_TestCases.TC_NGAP_AMF_IMP_08 +# Verify that the AMF can send a ERROR INDICATION to the GNB when a error occurs. +#NGAP_TestCases.TC_NGAP_AMF_IMP_09 +# Verify that the AMF can send a AMF STATUS INDICATION to the GNB when a error occurs. +#NGAP_TestCases.TC_NGAP_AMF_IMP_10 +# Verify that the AMF can send a OVERLOAD START to the GNB. +#NGAP_TestCases.TC_NGAP_AMF_IMP_11 +# Verify that the AMF can send a OVERLOAD STOP to the GNB. +#NGAP_TestCases.TC_NGAP_AMF_IMP_12 + +# Verify that the IUT can send a WRITE REPLACE WARNING REQUEST to start broadcasting of warning messages. +#NGAP_TestCases.TC_NGAP_AMF_WTP_01 +#Verify that the IUT can send a PWS CANCEL REQUEST to cancel broadcasting of warning messages. +#NGAP_TestCases.TC_NGAP_AMF_WTP_02 + +# Verify that the IUT can send a TRACE_START to initiate a trace session for a UE. +#NGAP_TestCases.TC_NGAP_AMF_TRP_01 +# Verify that the IUT can send a DEACTIVATE_TRACE to deactivate a trace session for a UE. +#NGAP_TestCases.TC_NGAP_AMF_TRP_02 + +# Verify that the IUT can send a UE TNLA BINDING RELEASE REQUEST to initiate a UE TNLA Binding Release procedure. +#NGAP_TestCases.TC_NGAP_AMF_UBP_01 +# Verify that the IUT can send a UE RADIO CAPABILITY ID MAPPING RESPONSE message that contains mandatory IEs to provide the UE radio capabilities id mapping. +#NGAP_TestCases.TC_NGAP_AMF_URP_02 + +# Verify that the IUT can send a DOWNLINK RIM INFORMATION TRANSFER. +#NGAP_TestCases.TC_NGAP_AMF_RIP_01 + +[GROUPS] +# In this section you can specify groups of hosts. These groups can be used inside the +# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts. + +[COMPONENTS] +# This section consists of rules restricting the location of created PTCs. + +[MAIN_CONTROLLER] +# The options herein control the behavior of MC. +KillTimer := 10.0 +LocalAddress := 127.0.0.1 +TCPPort := 12000 +NumHCs := 1 diff --git a/etc/AtsNGAP/AtsNGAP_GNB.cgf_ b/etc/AtsNGAP/AtsNGAP_GNB.cgf_ new file mode 100644 index 0000000000000000000000000000000000000000..64cc365037ee4631b69896251c82ed976350301a --- /dev/null +++ b/etc/AtsNGAP/AtsNGAP_GNB.cgf_ @@ -0,0 +1,142 @@ +[MODULE_PARAMETERS] +# This section shall contain the values of all parameters that are defined in your TTCN-3 modules. + +NGAP_Pics.PICS_NGAP_GNB_IUT := true +NGAP_Pics.PICS_NGAP_AMF_IUT := false + +[LOGGING] +# In this section you can specify the name of the log file and the classes of events +# you want to log into the file or display on console (standard error). + +LogFile := "../logs/AtsNGAP/%e.%h-%r.%s" +FileMask := LOG_ALL | USER | DEBUG | MATCHING +ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING +#FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP | PORTEVENT | TESTCASE +#ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP | PORTEVENT | TESTCASE +LogSourceInfo := Stack +LogEntityName:= Yes +LogEventTypes:= Yes +#TimeStampFormat := DateTime + +[TESTPORT_PARAMETERS] +# In this section you can specify parameters that are passed to Test Ports. +aMFNGAPComponent.N2_gNBaMF_P.params := "NGAP/ETH/PCAP_FILE(file=../captures/free5gc.pcap)" + +[DEFINE] +# In this section you can create macro definitions, +# that can be used in other configuration file sections except [INCLUDE] and [ORDERED_INCLUDE]. + +[INCLUDE] +# To use configuration settings given in other configuration files, +# the configuration files just need to be listed in this section, with their full or relative pathnames. + +[ORDERED_INCLUDE] +# To use configuration settings given in other configuration files, +# the configuration files just need to be listed in this section, with their full or relative pathnames. + +[EXTERNAL_COMMANDS] +# This section can define external commands (shell scripts) to be executed by the ETS +# whenever a control part or test case is started or terminated. + +#BeginTestCase := "" +#EndTestCase := "" +#BeginControlPart := "" +#EndControlPart := "" + +[EXECUTE] +# In this section you can specify what parts of your test suite you want to execute. +#AtsImsIot_TestControl.control + +# Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE SETUP REQUEST contains mandatory IEs and answers with PDU SESSION RESOURCE SETUP RESPONSE for successfully established PDU session. +NGAP_TestCases.TC_NGAP_GNB_PDU_01 +# Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains several PDU Session ID IEs set to the same value. +#NGAP_TestCases.TC_NGAP_GNB_PDU_02 +# Verify that the NG-RAN node reports the establishment of the new PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains a PDU Session ID IE set to value that identifies an active PDU Session. NOTE: Run TP_NGAP_GNB_PDU_01 before this TP. +#NGAP_TestCases.TC_NGAP_GNB_PDU_03 +# Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains a QoS Flow Setup Request List IE in the PDU Session Resource Setup Request Transfer IE including at least one Non-GBR QoS flow but the PDU Session Aggregate Maximum Bit Rate IE is not present. +#NGAP_TestCases.TC_NGAP_GNB_PDU_04 +# Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND contains mandatory IEs and answers with PDU SESSION RESOURCE RELEASE RESPONSE to release PDU session. +#NGAP_TestCases.TC_NGAP_GNB_PDU_05 +# Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND containing multiple PDU Session ID IEs set to the same value and ignore the duplication. +#NGAP_TestCases.TC_NGAP_GNB_PDU_05 +# Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE MODIFY REQUEST contains mandatory IEs and answers with PDU SESSION RESOURCE MODIFY RESPONSE for successfully modified PDU session. +#NGAP_TestCases.TC_NGAP_GNB_PDU_07 +# Verify that the IUT can send a PDU_SESSION_RESOURCE_NOTIFY that already established QoS flow or PDU session for given UE are release. +#NGAP_TestCases.TC_NGAP_GNB_PDU_08 +# Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_INDICATION to request modification of established PDU session. +#NGAP_TestCases.TC_NGAP_GNB_PDU_09 + +# Verify that the IUT can send a HANDOVER REQUIRED message containing mandatory IEs. +#NGAP_TestCases.TC_NGAP_GNB_MMP_01 +# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover. +#NGAP_TestCases.TC_NGAP_GNB_MMP_02 +# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST FAILURE because the UE is not longer available. +#NGAP_TestCases.TC_NGAP_GNB_MMP_03 +# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover. +#NGAP_TestCases.TC_NGAP_GNB_MMP_04 +# Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs within the Handover Request Transfer IEs and answers with correct HANDOVER REQUEST ACKNOWLEDGE. +#NGAP_TestCases.TC_NGAP_GNB_MMP_05 +# Verify that the GNB node successfully processes a HANDOVER REQUEST message for an intra-system handover and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover. +#NGAP_TestCases.TC_NGAP_GNB_MMP_06 +# Verify that the AMF node successfully sends a HANDOVER NOTIFICATION message that contains mandatory IEs to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_MMP_07 +# Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_MMP_08 +# Verify that the GNB node successfully sends a HANDOVER CANCEL message that contains mandatory IEs to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_MMP_09 +# Verify that the NG-RAN node successfully send a UPLINK RAN STATUS TRANSFER message to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_MMP_10 +# Verify that the NG-RAN node successfully sends a UPLINK RAN EARLY STATUS TRANSFER message to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_MMP_11 + +# Verify that the IUT can send an INITIAL UE MESSAGE to indicate the initiation of a NAS Transport procedure. +#NGAP_TestCases.TC_NGAP_GNB_NAS_01 +# Verify that the IUT can send an UPLINK NAS TRANSPORT message to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_NAS_02 +# Verify that the IUT can send a NAS NON DELIVERY INDICATION message to t.he AMF +#NGAP_TestCases.TC_NGAP_GNB_NAS_03 + +# Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_IMP_01 +# Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF. +#NGAP_TestCases.TC_NGAP_GNB_IMP_02 +# Verify that the GNB node successfully processes a AMF CONFIGURATION UPDATE message with AMF CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update. +#NGAP_TestCases.TC_NGAP_GNB_IMP_03 +# Verify that the GNB node can send a AMF CONFIGURATION UPDATE FAILURE. +#NGAP_TestCases.TC_NGAP_GNB_IMP_04 +# Verify that the GNB node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset. +#NGAP_TestCases.TC_NGAP_GNB_IMP_05 +# Verify that the GNB can send a ERROR INDICATION to the AMF when a error occurs. +#NGAP_TestCases.TC_NGAP_GNB_IMP_06 + +# Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing mandatory IEs and answers with WRITE-REPLACE WARNING RESPONSE to start broadcasting of warning messages. +#NGAP_TestCases.TC_NGAP_GNB_WTP_01 +# Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing Message Identifier IE and/or Serial Number IE different from those in the warning message being broadcast and if Concurent Warning Message Indicator is not present then IUT node answers with WRITE-REPLACE WARNING RESPONSE and replaces the warning message being broadcast with newly received one for that area. +#NGAP_TestCases.TC_NGAP_GNB_WTP_02 +# Verify that the NG-RAN node successfully processes a PWS CANCEL REQUEST containing mandatory IEs and answers with PWS CANCEL RESPONSE to cancel an already ongoing broadcast warning messages in all of the cells in the NG-RAN. +#NGAP_TestCases.TC_NGAP_GNB_WTP_03 +# Verify that the IUT can send a PWS RESTART INDICATION to inform AMF that PWS information for some or all cells may be reloaded from the CBC if needed. +#NGAP_TestCases.TC_NGAP_GNB_WTP_04 +# Verify that the IUT can send a PWS FAILURE INDICATION to inform AMF that ongoing PWS operation for one or more cells has failed. +#NGAP_TestCases.TC_NGAP_GNB_WTP_05 + +# Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that Trace Start procedure has failed due to an interaction with handover procedure. +#NGAP_TestCases.TC_NGAP_GNB_TRP_01 +# Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that a Deactivate Trace procedure has failed due to an interaction with handover procedure. +#NGAP_TestCases.TC_NGAP_GNB_TRP_02 +# Verify that the IUT can send a CELL_TRAFFIC_TRACE to send the allocated Trace Recording Session Reference and Trace Reference to AMF. +#NGAP_TestCases.TC_NGAP_GNB_TRP_03 + +[GROUPS] +# In this section you can specify groups of hosts. These groups can be used inside the +# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts. + +[COMPONENTS] +# This section consists of rules restricting the location of created PTCs. + +[MAIN_CONTROLLER] +# The options herein control the behavior of MC. +KillTimer := 10.0 +LocalAddress := 127.0.0.1 +TCPPort := 12000 +NumHCs := 1 diff --git a/install.sh b/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..aaa1b5546f6f0825588f295c7aeaf32c0bb7c1de --- /dev/null +++ b/install.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +#set -e +set -vx + +BASE_PATH=`pwd` + +git checkout devel +git submodule update --init --recursive --remote + +if [ ! -d ./titan-test-system-framework ] +then + git clone --recurse-submodules --branch devel https://labs.etsi.org/rep/cti-tools/titan-test-system-framework.git + cd ./titan-test-system-framework +else + cd ./titan-test-system-framework + git checkout devel +fi +# TODO later +#cd ./ttcn/LibHttp +#ln -sf module_5GNGAP.mk module.mk + +cd $BASE_PATH +ln -f ./ttcn/patch_lib_common_titan/module.mk ./ttcn/LibCommon/ +# TODO Add other patch + +exit 0 diff --git a/libNr5gcAsn1.mk b/libNr5gcAsn1.mk new file mode 100644 index 0000000000000000000000000000000000000000..01dd2ff8bdb3a3c16a10048f90e810baf9448daa --- /dev/null +++ b/libNr5gcAsn1.mk @@ -0,0 +1,120 @@ +########################################################## +# This Makefile is to build the ASN1 library to be used +# for external codec in Titan +# This Makefile is expected that asn1c compiler is +# installed in the PATHs +########################################################## + +# The name of the library +ASN_LIBRARY = lib5GNGAPAsn.a + +ifeq (,$(sort $(ASN_FILES))) + $(error ASN_FILES should be specified ) +endif + +#Override ASN1C instalation path +ifneq (, $(ASN1C_PATH)) + ASN1C:=$(ASN1C_PATH)/asn1c/asn1c -S $(ASN1C_PATH)/skeletons +else + ASN1C:=asn1c + #ASN1C:=asn1_compiler +endif + +LIB_MAKEFILE=Makefile.am.libasncodec +include $(LIB_MAKEFILE) +OBJS = ${ASN_MODULE_SRCS:.c=.o} +CONVERTER=converter +ASN_CONVERTER_SOURCES := \ + converter-example.c\ + pdu_collection.c +CONVERTER_OBJS=${ASN_CONVERTER_SOURCES:.c=.o} +ifneq ($(strip $(ASN_PDU)),$(firstword $(ASN_PDU))) + HAS_PDU_COLLECTION := -DASN_PDU_COLLECTION +endif + +CFLAGS += $(ASN_MODULE_CFLAGS) -DPDU=$(firstword $(ASN_PDU)) $(HAS_PDU_COLLECTION) -fPIC -I. +CC = gcc -std=c99 +ASN1C_OPTIONS += -fno-include-deps -findirect-choice -no-gen-example -fcompound-names -no-gen-XER -no-gen-JER -no-gen-APER -no-gen-print -no-gen-random-fill +ifeq (yes,$(DEBUG)) + CFLAGS += -g -O0 -DASN_EMIT_DEBUG=1 +endif +ASN_SRC_FILES := $(addprefix $(TOP_DIR)/, $(ASN_FILES)) + +all: $(ASN_LIBRARY) + +$(LIB_MAKEFILE): $(ASN_SRC_FILES) Makefile + $(ASN1C) $(ASN1C_OPTIONS) $(addprefix -pdu=,$(pdu)) $(ASN_SRC_FILES) +# -for n in $(PATCHES); do git apply "$(SCRIPT_DIR)/$$n"; done + +$(CONVERTER): $(ASN_LIBRARY) $(CONVERTER_OBJS) + $(CC) $(CFLAGS) -o $@ $(CONVERTER_OBJS) $(ASN_LIBRARY) $(LIBS) + +$(ASN_LIBRARY): ${ASN_MODULE_SRCS:.c=.o} + ar rcs $@ $^ +# $(CC) $(CFLAGS) -o $@ $^ -shared $(LDFLAGS) $(LIBS) + +.SUFFIXES: +.SUFFIXES: .c .o + +.c.o: + $(CC) $(CFLAGS) -o $@ -c $< + +clean: + rm -f $(CONVERTER) $(ASN_LIBRARY) + rm -f $(OBJS) $(CONVERTER_OBJS) + +regen: clear-asn1c $(LIB_MAKEFILE) +clear-asn1c: + rm -f $(LIB_MAKEFILE) + +########################################################## + +#$(TOP_DIR)/./build/asn1/ISO_TS_14816/AVIAEINumberingAndDataStructures.asn: +# mkdir -p "$(dir $@)" +# curl 'https://standards.iso.org/iso/14816/ISO14816%20ASN.1%20repository/ISO14816_AVIAEINumberingAndDataStructures.asn' | \ +# sed -e 's/IssuerIdentifier/AVIAEIIssuerIdentifier/g' > "$@" + +#$(TOP_DIR)/./build/asn1/ISO_TS_14906/EfcDsrcApplication.asn: +# mkdir -p "$(dir $@)" +# curl -o "$@" 'https://standards.iso.org/iso/14906/ed-3/en/ISO14906(2018)EfcDsrcApplicationv6.asn' + +#$(TOP_DIR)/./build/asn1/ISO_TS_14906/EfcDsrcGeneric.asn: +# mkdir -p "$(dir $@) +# curl -o "$@" 'https://standards.iso.org/iso/14906/ed-3/en/ISO14906(2018)EfcDsrcGenericv7.asn' + +#$(TOP_DIR)/./build/asn1/ISO_TS_17419/CITSapplMgmtIDs.asn: +# mkdir -p "$(dir $@)" +# curl -o "$@" 'https://standards.iso.org/iso/ts/17419/TS%2017419%20ASN.1%20repository/TS17419_2014_CITSapplMgmtIDs.asn' + +#$(TOP_DIR)/./build/asn1/ISO_TS_19091/ISO-TS-19091-addgrp-C-2018-patched.asn: +# mkdir -p "$(dir $@)" +# curl 'https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn' | \ +# sed -e 's/\bHeadingConfidence\b/HeadingConfidenceDSRC/g' \ +# -e 's/\bSpeedConfidence\b/SpeedConfidenceDSRC/g' \ +# -e 's/\bHeading\b/HeadingDSRC/g' > "$@" + +#$(TOP_DIR)/./build/asn1/ISO_TS_17419/CITSdataDictionary1.asn: +# mkdir -p "$(dir $@)" +# curl -o "$@" 'https://standards.iso.org/iso/17419/ed-1/en/17419.1.asn' + +#$(TOP_DIR)/./build/asn1/ISO_TS_17419/CITSdataDictionary2.asn: +# mkdir -p "$(dir $@)" +# curl -o "$@" 'https://standards.iso.org/iso/17419/ed-1/en/17419.2.asn' + +#$(TOP_DIR)/./build/asn1/ISO_TS_19091/AddGrpC.asn: +#$(TOP_DIR)/./build/asn1/ISO_TS_19091/AddGrpC_noCircular.asn: +#$(TOP_DIR)/./build/asn1/ISO_TS_19091/DSRC.asn: +#$(TOP_DIR)/./build/asn1/ISO_TS_19091/DSRC_REGION_noCircular.asn +#$(TOP_DIR)/./build/asn1/ISO_TS_19091/REGION.asn + +#$(TOP_DIR)/./build/asn1/ISO_TS_19321/IVI.asn: +# mkdir -p "$(dir $@)" +# curl 'https://standards.iso.org/iso/ts/19321/ed-2/en/ISO19321IVIv2.asn' | \ +# sed -e 's/\bCITSdataDictionary1\b/CITSapplMgmtIDs/g' \ +# -e 's/,\s*\.\.\.\s*,\s*[0-9]\+/,.../g' \ +# > "$@" + +#$(TOP_DIR)/build/asn1/ISO_TS_24534-3/ElectronicRegistrationIdentificationVehicleDataModule.asn: +# mkdir -p "$(dir $@)" +# curl -o "$@" 'https://standards.iso.org/iso/24534/-3/ISO%2024534-3%20ASN.1%20repository/ISO24534-3_ElectronicRegistrationIdentificationVehicleDataModule_ForBallot.asn' + diff --git a/scripts/build_titan.bash b/scripts/build_titan.bash new file mode 100755 index 0000000000000000000000000000000000000000..9d39632ab48255e2ed3ec1e21f67235a07bf108c --- /dev/null +++ b/scripts/build_titan.bash @@ -0,0 +1,106 @@ +#!/bin/bash +# Copyright ETSI 2018 +# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt + +set -e +#set -vx + +clear + +if [ -z "${TOP}" ] +then + echo "Failed, TOP variable not defined, exit" + exit 1 +fi + +CURDIR=`pwd` +TITAN_DIR=${TOP}/.. + +# Move to the right directory +if [ ! -d ${TITAN_DIR} ] +then + echo "Titan directory does not exist, create it" + # Create TITAN directories + mkdir -p ${TITAN_DIR} + if [ ! "$?" -eq "0" ] + then + echo "Failed, TOP variable not defined, exit" + exit 2 + fi + cd ${TITAN_DIR} + # Clone all TITAN repositories + if [ ! -f ${CURDIR}/titan_repos.txt ] + then + echo "${HOME_BIN}/titan_repos.txt file does not exist, exit" + rm -fr ${TOP} + rm -fr ${TOP}/.. + exit 3 + fi + TITAN_REPOS=`cat ${CURDIR}/titan_repos.txt` + for i in ${TITAN_REPOS}; + do + git clone $i + if [ ! "$?" -eq "0" ] + then + echo "Failed to clone $i, exit" + exit 4 + fi + done +else + cd ${TITAN_DIR} + # Update github folders + DIRS=`find . -type d -name ".git" -exec dirname {} \;` + for i in ${DIRS}; + do + echo "Processing $i..." + cd $i + git fetch + if [ ! "$?" -eq "0" ] + then + echo "Failed to fetch $i, continue" + else + git pull + if [ ! "$?" -eq "0" ] + then + echo "Failed to pull $i, continue" + fi + fi + cd - + done +fi + +# Build TITAN core +export JNI=no +export GUI=no +export DEBUG=no +export GEN_PDF=no +if [ -d ${TTCN3_DIR} ] +then + rm -fr ${TTCN3_DIR} +fi +mkdir ${TTCN3_DIR} +cd ./titan.core +/bin/cat < Makefile.personal +JNI:=no +GUI:=no +DEBUG:=no +GEN_PDF:=no +EOF + +# To prevent link error /usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command lineema +sed --in-place 's/LINUX_LIBS := -lxml2/LINUX_LIBS := -lxml2 -lpthread/g' ./core/Makefile + +echo "Starting build..." +make clean +if [ "${OSTYPE}" == "cygwin" ] +then + make -j +else + make +fi +make install +echo "Build done" + +# Go back to initial directory +cd ${CURDIR} +exit 0 diff --git a/scripts/devenv.bash.debian b/scripts/devenv.bash.debian new file mode 100755 index 0000000000000000000000000000000000000000..3954023022c3ecaae5adb797b9f65d34014d2616 --- /dev/null +++ b/scripts/devenv.bash.debian @@ -0,0 +1,77 @@ +#!/bin/bash + +# Turn on debug mode +#set -vx +#set -e + +# Colors and Prompt +#export PS1="\w\$ " +#export PS1="\D{%Y-%m-%d %H:%M:%S} \w\n\$ " + +export EDITOR=emacs +set -o emacs + +# Home working directories +export HOME_FRAMEWORKS=${HOME}/frameworks +export HOME_LIB=${HOME}/lib +export HOME_BIN=${HOME}/bin +export HOME_ETC=${HOME}/etc +export HOME_TMP=${HOME}/tmp +export HOME_DOCS=${HOME}/docs + +# Home common include directory +export HOME_INC=${HOME}/include + +# Update PATH environment variable +export PATH=${HOME_BIN}:${PATH} + +# Update LD_LIBRARY_PATH environment variable +if [ -z "${LD_LIBRARY_PATH}" ] +then + export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib:${HOME}/dev/etsi_its/lib +else + export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib:${HOME}/dev/etsi_its/lib:${LD_LIBRARY_PATH} +fi + + +# Add JAVA support +#export JAVA_VERSION=1.8.0_92 +#export JAVA_JDK=jdk${JAVA_VERSION} +#if [ -d "${HOME_FRAMEWORKS}/${JAVA_JDK}" ] +#then +# export JAVA_HOME=${HOME_FRAMEWORKS}/${JAVA_JDK}/bin +#else +# unset JAVA_VERSION +# unset JAVA_JDK +#fi + +# Add TITAN support +export TOP=${HOME_FRAMEWORKS}/titan/titan.core +export TTCN3_DIR=${TOP}/Install +if [ -d ${TTCN3_DIR} ] +then + export TTCN3_BROWSER=mozilla + export PATH=${TTCN3_DIR}/bin:${PATH} + export LD_LIBRARY_PATH=${TTCN3_DIR}/lib:${LD_LIBRARY_PATH} + export MANPATH=${TTCN3_DIR}/man:${MANPATH} + export TTCN3_LICENSE_FILE=${TTCN3_DIR}/etc/license/license.dat + export PATH_DEV_TTCN=${HOME}/dev/ttcn3 + # ITS support + export PATH_DEV_ITS=${HOME}/dev/TS.ITS + # Emergency Communication support + export PATH_DEV_EMCOM=${HOME}/dev/NG112 + # Mobile-Edge Computing support + export PATH_DEV_MEC=${HOME}/dev/gs032p3-ttcn-test-suite + # CDM/CISE support + export PATH_DEV_MEC=${HOME}/dev/cise + # Validation folder + export VALIDATION_DIR=${HOME} +fi + +export BROWSER=netsurf + +export OPENSSL_DIR=/usr/local + +export LSAN_OPTIONS=verbosity=1:log_threads=1 + + diff --git a/scripts/devenv.bash.ubuntu b/scripts/devenv.bash.ubuntu new file mode 100755 index 0000000000000000000000000000000000000000..254cc37f0994b24a461c14791d3ec14c4336a3a2 --- /dev/null +++ b/scripts/devenv.bash.ubuntu @@ -0,0 +1,73 @@ +#!/bin/bash + +# Turn on debug mode +#set -vx + +set -e + +# Colors and Prompt +#export PS1="\w\$ " +#export PS1="\D{%Y-%m-%d %H:%M:%S} \w\n\$ " + +export TERM=xterm +export EDITOR=emacs +set -o emacs + +# Home working directories +export HOME_FRAMEWORKS=${HOME}/frameworks +export HOME_LIB=${HOME}/lib +export HOME_BIN=${HOME}/bin +export HOME_ETC=${HOME}/etc +export HOME_TMP=${HOME}/tmp +export HOME_DOCS=${HOME}/docs + +# Home common include directory +export HOME_INC=${HOME}/include + +# Update PATH environment variable +export PATH=${HOME_BIN}:${PATH} + +# Update LD_LIBRARY_PATH environment variable +if [ "${LD_LIBRARY_PATH}" == "" ] +then + export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib +else + export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib:${LD_LIBRARY_PATH} +fi + + +# Add JAVA support +export JAVA_VERSION=1.8.0_92 +export JAVA_JDK=jdk${JAVA_VERSION} +if [ -d "${HOME_FRAMEWORKS}/${JAVA_JDK}" ] +then + export JAVA_HOME=${HOME_FRAMEWORKS}/${JAVA_JDK}/bin +else + unset JAVA_VERSION + unset JAVA_JDK +fi + +# Add TITAN support +export TOP=${HOME_FRAMEWORKS}/titan/titan.core +export TTCN3_DIR=${TOP}/Install +if [ -d ${TTCN3_DIR} ] +then + export TTCN3_BROWSER=mozilla + export PATH=${TTCN3_DIR}/bin:${PATH} + export LD_LIBRARY_PATH=${TTCN3_DIR}/lib:${LD_LIBRARY_PATH} + export MANPATH=${TTCN3_DIR}/man:${MANPATH} + export TTCN3_LICENSE_FILE=${TTCN3_DIR}/etc/license/license.dat + export PATH_DEV_TTCN=${HOME}/dev/ttcn3 + # ITS support + export PATH_DEV_ITS=${HOME}/dev/TS.ITS + # Emergency Communication support + export PATH_DEV_EMCOM=${HOME}/dev/NG112 + # Mobile-Edge Computing support + export PATH_DEV_MEC=${HOME}/dev/gs032p3-ttcn-test-suite + # CDM/CISE support + export PATH_DEV_MEC=${HOME}/dev/cise + # Validation folder + export VALIDATION_DIR=${HOME} +fi + +export BROWSER=netsurf diff --git a/scripts/f.bash b/scripts/f.bash new file mode 100755 index 0000000000000000000000000000000000000000..9e2bb399203a9b59c6085597f70effb5d49e2be6 --- /dev/null +++ b/scripts/f.bash @@ -0,0 +1,19 @@ +#!/bin/bash +#set -vx + +if [ "$1" == "" ] +then + echo "Search In Files usage: f.bash " + echo " : With default = ttcn" + echo " e.g.: f.bash module ttcn" + exit 0 +fi + +EXT=ttcn +if [ "$2" != "" ] +then + EXT=$2 +fi +find .. -type f -name "*.$EXT" -exec grep -nH $1 {} \; + +exit $? diff --git a/scripts/generate_png.sh b/scripts/generate_png.sh new file mode 100755 index 0000000000000000000000000000000000000000..37b46baa5ad5a4e0bba0dc0e876c0bfb1d1bd736 --- /dev/null +++ b/scripts/generate_png.sh @@ -0,0 +1,17 @@ +#!/bin/bash +#set -e +#set -vx + +clear + +if [ -z $ATS ] +then + echo "ATS shall be defined" + exit 1 +fi + +cd ../plantuml/ +python3 . ../logs/${ATS}/merged.log ./${ATS}.txt +cd - + +exit 0 diff --git a/scripts/run_all.bash b/scripts/run_all.bash new file mode 100755 index 0000000000000000000000000000000000000000..f5fe4490ed33e548810b911615a0299df7d2a264 --- /dev/null +++ b/scripts/run_all.bash @@ -0,0 +1,60 @@ +#!/bin/bash +#set -e +#set -vx + +clear + +if [ -z $ATS ] +then + echo "ATS shall be defined" + exit 1 +fi + +if ! [[ $1 =~ "^[0-9]+$" ]] +then + COUNTER=$1 +else + COUNTER=1 +fi + +if [ $COUNTER == 0 ] +then + COUNTER=1 + cd .. && make && cd - +fi + +CURPWD=`pwd` +if [ ! "${PWD##*/}" == "scripts" ] +then + cd ../scripts + if [ ! $? == 0 ] + then + echo "Please move to PROJECT/scripts directory" + exit 1 + fi +fi + +rm ../logs/$ATS/*.log + +for i in $(seq 1 1 $COUNTER) +do + ./run_mtc.bash & + ./run_ptcs.bash + + dup=$(ps -ef | grep "$0" | grep -v grep | wc -l) + while [ ${dup} -eq 3 ] + do + sleep 1 + dup=$(ps -ef | grep "$0" | grep -v grep | wc -l) + done + sleep 1 + + if [ -f ../logs/$ATS/merged_formated.log ] + then + mv ../logs/$ATS/merged_formated.log ../logs/$ATS/merged.`date +'%Y%m%d%S'`.log + fi +done + +exit 0 + + diff --git a/scripts/run_mtc.bash b/scripts/run_mtc.bash new file mode 100755 index 0000000000000000000000000000000000000000..e2255124147fb86b02e580a4992ec7ea013ab1c0 --- /dev/null +++ b/scripts/run_mtc.bash @@ -0,0 +1,48 @@ +#!/bin/bash +#set -e +#set -vx + +clear + +if [ -z $ATS ] +then + echo "ATS shall be defined" + exit 1 +fi + +CURPWD=`pwd` +if [ ! "${PWD##*/}" == "scripts" ] +then + cd ../scripts + if [ ! $? == 0 ] + then + echo "Please move to PROJECT/scripts directory" + exit 1 + fi +fi + +TITAN_LOG_DIR=../logs/$ATS +if [ ! -d ${TITAN_LOG_DIR} ] +then + mkdir ${TITAN_LOG_DIR} +else + rm -f ${TITAN_LOG_DIR}/*.log +fi + +CFG_FILES=`find ../etc/$ATS -name '*.cfg'` + +echo "> cmtc: to create the MTC server" +echo "> smtc [module_name[[.control]|.testcase_name|.*]: when MyExample is connected, run the TCs in [EXECUTE] section" +echo "> emtc: Terminate MTC." +mctr ${CFG_FILES} + +sudo chown -R `whoami` ${TITAN_LOG_DIR} +LOG_FILES=`find ${TITAN_LOG_DIR} -name '*.log'` +if [ "${TITAN_LOG_DIR}" != "" ] +then + ttcn3_logmerge -o ${TITAN_LOG_DIR}/merged.log ${LOG_FILES} + ttcn3_logformat -o ${TITAN_LOG_DIR}/merged_formated.log ${TITAN_LOG_DIR}/merged.log + echo "log files were merged into ${TITAN_LOG_DIR}/merged.log" +fi + +cd ${CURPWD} diff --git a/scripts/run_ptcs.bash b/scripts/run_ptcs.bash new file mode 100755 index 0000000000000000000000000000000000000000..1c097d445d09ed82c6c8e934e7e57c03fe142474 --- /dev/null +++ b/scripts/run_ptcs.bash @@ -0,0 +1,36 @@ +#!/bin/bash +#set -e +#set -vx + +clear + +if [ -z $ATS ] +then + echo "ATS shall be defined" + exit 1 +fi + +CURPWD=`pwd` +if [ ! "${PWD##*/}" == "scripts" ] +then + cd ../scripts + if [ ! $? == 0 ] + then + echo "Please move to PROJECT/scripts directory" + exit 1 + fi +fi + +if [ -f ./core ] +then + rm -f ./core +fi + +if [ "$ATS" == "AtsRSUsSimulator" ] +then + sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH ../bin/$ATS 127.0.0.1 12001 +else + sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH ../bin/$ATS 127.0.0.1 12000 +fi + +cd ${CURPWD} diff --git a/scripts/titan_repos.txt b/scripts/titan_repos.txt new file mode 100644 index 0000000000000000000000000000000000000000..8842f4e0283928a94ebbbd37aff6b25fe27c2279 --- /dev/null +++ b/scripts/titan_repos.txt @@ -0,0 +1,56 @@ +https://gitlab.eclipse.org/eclipse/titan/titan.core.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.Common_Components.Abstract_Socket.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.HTTPmsg.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.LANL2asp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.PCAPasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.PIPEasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.SCTPasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.SIPmsg.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.SQLasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.TCPasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.TELNETasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.UDPasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.COMMON.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.DHCP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.DHCPv6.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.DIAMETER_ProtocolModule_Generator.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.DNS.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.ICMP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.ICMPv6.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.IP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.RTP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.RTSP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.SMPP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.SMTP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.SNMP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.TCP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.UDP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.XMPP.git +https://gitlab.eclipse.org/eclipse/titan/titan.misc.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.LDAPasp_RFC4511.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.LDAPmsg.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.Common_Components.Socket-API.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.SSHCLIENTasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.STDINOUTmsg.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.SUNRPCasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.UNIX_DOMAIN_SOCKETasp.git +https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.IPL4asp.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.FrameRelay.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.H248_v2.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.IMAP_4rev1.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.ICAP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.IKEv2.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.IPsec.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.IUA.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.JSON_v07_2006.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.L2TP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.M3UA.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.MIME.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.MSRP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.PPP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.ProtoBuff.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.RADIUS_ProtocolModule_Generator.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.SRTP.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.WebSocket.git +https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.HTTP2.0.git +https://gitlab.eclipse.org/eclipse/titan/titan.Libraries.TCCUsefulFunctions.git diff --git a/scripts/update_user_name.sh b/scripts/update_user_name.sh new file mode 100755 index 0000000000000000000000000000000000000000..b5c5d7f3aa7a64d722acac43be8be11ebc2a15df --- /dev/null +++ b/scripts/update_user_name.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Debug mode +#set -e +#set -vx + +# Usage: sudo ./update_user_name.bash +# TODO Use git clone in temporary directory + +USER_NAME='s/etsi/vagrant/g' +for i in `find /home/vagrant/dev/$1 -name "*.cf*"` +do + sed --in-place ${USER_NAME} $i +done + +exit 0 diff --git a/test_purposes/Ngap_Common.tplan2 b/test_purposes/Ngap_Common.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..c0179de14ec2134073a1afe671ae77b42afc2bbc --- /dev/null +++ b/test_purposes/Ngap_Common.tplan2 @@ -0,0 +1,360 @@ +/* ETSI Software License +* As long as the here under conditions are respected, non-exclusive permission is hereby granted, +* free of charge, to use, reproduce and modify this software source code, under the following conditions: +* This source code is provided AS IS with no warranties, express or implied, including but not limited to, +* the warranties of merchant ability, fitness for a particular purpose and warranties for non-infringement +* of intellectual property rights. +* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without +* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary +* loss) arising out of or related to the use of or inability to use the source code. +* This permission is granted to facilitate the implementation of the related ETSI standard, provided that +* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions +* as the present permission. +* This permission does not apply to any documentation associated with this source code for which ETSI keeps +* all rights reserved. +* The present ETSI Source Code license shall be included in all copies of whole or part of this source code +* and shall not imply any sub-license right. +* (c) ETSI 2023-2024 +*/ + + +Package Ngap_Common { + Domain { + pics: + - NONE + - PICS_A2/1 //NG RAN + - PICS_A2/1_1 //gNB + - PICS_A2/1_2 //ng-eNB + - PICS_A2/2 //AMF + - PICS_A3/1_1 //gNB - PDU session management procedure - PDU SESSION RESOURCE SETUP REQUEST + - PICS_A3/1_2 //gNB - PDU session management procedure - PDU SESSION RESOURCE RELEASE COMMAND + - PICS_A3/1_3 //gNB - PDU session management procedure - PDU SESSION RESOURCE MODIFY REQUEST + - PICS_A3/1_4 //gNB - PDU session management procedure - PDU SESSION RESOURCE MODIFY NOTIFY + - PICS_A3/1_5 //gNB - PDU session management procedure - PDU SESSION RESOURCE MODIFY INDICATION + - PICS_A3/2_1 //gnB - UE Context Management Procedures - INITIAL CONTEXT SETUP REQUEST + - PICS_A3/2_2 //gnB - UE Context Management Procedures - UE CONTEXT RELEASE REQUEST + - PICS_A3/2_3 //gnB - UE Context Management Procedures - UE CONTEXT RELEASE COMMAND + - PICS_A3/2_4 //gnB - UE Context Management Procedures - UE CONTEXT MODIFICATION REQUEST + - PICS_A3/2_5 //gnB - UE Context Management Procedures - RRC INACTIVE TRANSITION REPORT + - PICS_A3/2_8 //gnB - UE Context Management Procedures - RAN CP Relocation Indication + - PICS_A3/2_11 //gnB - UE Context Management Procedures - UE CONTEXT SUSPEND REQUEST + - PICS_A3/2_12 //gnB - UE Context Management Procedures - UE CONTEXT RESUME REQUEST + - PICS_A3/3_1 //gnB - UE Mobility Management Procedures - HANDOVER REQUIRED + - PICS_A3/3_2 //gnB - UE Mobility Management Procedures - HANDOVER REQUEST + - PICS_A3/3_3 //gnB - UE Mobility Management Procedures - HANDOVER NOTIFY + - PICS_A3/3_4 //gnB - UE Mobility Management Procedures - PATH SWITCH REQUEST + - PICS_A3/3_5 //gnB - UE Mobility Management Procedures - HANDOVER CANCEL + - PICS_A3/3_6 //gnB - UE Mobility Management Procedures - UPLINK RAN STATUS TRANSFER + - PICS_A3/3_8 //gnB - UE Mobility Management Procedures - HANDOVER SUCCESS + - PICS_A3/3_9 //gnB - UE Mobility Management Procedures - UPLINK RAN EARLY STATUS TRANSFER + - PICS_A3/5_1 //gNB - Transport of NAS Messages Procedures - INITIAL UE MESSAGE + - PICS_A3/5_3 //gNB - Transport of NAS Messages Procedures - UPLINK NAS TRANSPORT + - PICS_A3/5_4 //gNB - Transport of NAS Messages Procedures - NAS NON DELIVERY INDICATION + - PICS_A3/6_1 //gNB - Interface Management Procedures - NG SETUP REQUEST + - PICS_A3/6_2 //gNB - Interface Management Procedures - RAN CONFIGURATION UPDATE + - PICS_A3/6_3 //gNB - Interface Management Procedures - AMF CONFIGURATION UPDATE + - PICS_A3/6_4 //gNB - Interface Management Procedures - NG RESET + - PICS_A3/6_5 //gNB - Interface Management Procedures - ERROR INDICATION + - PICS_A3/7_1 //gNB - Configuration Transfer Procedures - UPLINK RAN CONFIGURATION TRANSFER + - PICS_A3/8_1 //gNB - Warning Message Transmission procedure - WRITE-REPLACE WARNING REQUEST + - PICS_A3/8_2 //gNB - Warning Message Transmission procedure - PWS CANCEL REQUEST + - PICS_A3/8_3 //gNB - Warning Message Transmission procedure - PWS RESTART INDICATION + - PICS_A3/8_4 //gNB - Warning Message Transmission procedure - PWS FAILURE INDICATION + - PICS_A3/9_1 //gNB - NRPPa Transport procedure - DOWNLINK UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A3/9_2 //gNB - NRPPa Transport procedure - UPLINK UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A3/9_3 //gNB - NRPPa Transport procedure - DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A3/9_4 //gNB - NRPPa Transport procedure - UPLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A3/10_1 //gNB - Trace procedure - TRACE START messages + - PICS_A3/10_2 //gNB - Trace procedure - TRACE FAILURE INDICATION messages + - PICS_A3/10_3 //gNB - Trace procedure - DEACTIVATE TRACE messages + - PICS_A3/10_4 //gNB - Trace procedure - CELL TRAFFIC TRACE messages + - PICS_A3/11_1 //gNB - Location Reporting Procedures - LOCATION REPORTING CONTROL + - PICS_A3/11_2 //gNB - Location Reporting Procedures - LOCATION REPORTING FAILURE INDICATION + - PICS_A3/11_3 //gNB - Location Reporting Procedures - LOCATION REPORT + - PICS_A3/12_1 //gNB - TNLA procedure - UE TNLA BINDING RELEASE REQUEST messages + - PICS_A3/13_1 //gNB - UE Radio Capability Management procedure - UE RADIO CAPABILITY INFO INDICATION messages + - PICS_A3/13_2 //gNB - UE Radio Capability Management procedure - UE RADIO CAPABILITY CHECK REQUEST messages + - PICS_A3/13_3 //gNB - UE Radio Capability Management procedure - UE RADIO CAPABILITY ID MAPPING REQUEST messages + - PICS_A3/14_1 //gNB - Data Usage Reporting Procedures - SECONDARY RAT DATA USAGE REPORT + - PICS_A3/15_1 //gNB - RIM information Transfer procedure - UPLINK RIM INFORMATION TRANSFER + - PICS_A3/15_2 //gNB - RIM information Transfer procedure - DOWNLINK RIM INFORMATION TRANSFER + - PICS_A4/1_1 //AMF - PDU session management procedure - PDU SESSION RESOURCE SETUP REQUEST + - PICS_A4/1_2 //AMF - PDU session management procedure - PDU SESSION RESOURCE RELEASE COMMAND + - PICS_A4/1_3 //AMF - PDU session management procedure - PDU SESSION RESOURCE MODIFY REQUEST + - PICS_A4/1_4 //AMF - PDU session management procedure - PDU SESSION RESOURCE MODIFY NOTIFY + - PICS_A4/1_5 //AMF - PDU session management procedure - PDU SESSION RESOURCE MODIFY INDICATION + - PICS_A4/2_1 //AMF - UE Context Management Procedures - INITIAL CONTEXT SETUP REQUEST + - PICS_A4/2_3 //AMF - UE Context Management Procedures - UE CONTEXT RELEASE COMMAND + - PICS_A4/2_4 //AMF - UE Context Management Procedures - UE CONTEXT MODIFICATION REQUEST + - PICS_A4/2_6 //AMF - UE Context Management Procedures - CONNECTION ESTABLISHMENT INDICATION + - PICS_A4/2_7 //AMF - UE Context Management Procedures - AMF CP RELOCATION INDICATION + - PICS_A4/2_9 //AMF - UE Context Management Procedures - RETRIEVE UE INFORMATION + - PICS_A4/2_10 //AMF - UE Context Management Procedures - UE INFORMATION TRANSFER + - PICS_A4/2_11 //AMF - UE Context Management Procedures - UE CONTEXT SUSPEND REQUEST + - PICS_A4/2_12 //AMF - UE Context Management Procedures - UE CONTEXT RESUME REQUEST + - PICS_A4/3_1 //AMF - UE Mobility Management Procedures - HANDOVER REQUIRED + - PICS_A4/3_2 //AMF - UE Mobility Management Procedures - HANDOVER REQUEST + - PICS_A4/3_4 //AMF - UE Mobility Management Procedures - PATH SWITCH REQUESTS + - PICS_A4/3_5 //AMF - UE Mobility Management Procedures - HANDOVER CANCEL + - PICS_A4/3_6 //AMF - UE Mobility Management Procedures - UPLINK RAN STATUS TRANSFER + - PICS_A4/3_9 //AMF - UE Mobility Management Procedures - UPLINK RAN EARLY STATUS TRANSFER + - PICS_A4/4_1 //AMF - Paging procedures - Paging + - PICS_A4/5_2 //AMF - Transport of NAS Messages Procedures - DOWNLINK NAS TRANSPORT + - PICS_A4/5_5 //AMF - Transport of NAS Messages Procedures - REROUTE NAS REQUEST + - PICS_A4/6_1 //AMF - Interface Management Procedures - NG SETUP REQUEST + - PICS_A4/6_2 //AMF - Interface Management Procedures - RAN CONFIGURATION UPDATE + - PICS_A4/6_3 //AMF - Interface Management Procedures - AMF CONFIGURATION UPDATE + - PICS_A4/6_4 //AMF - Interface Management Procedures - NG RESET + - PICS_A4/6_5 //AMF - Interface Management Procedures - ERROR INDICATION + - PICS_A4/6_6 //AMF - Interface Management Procedures - AMF STATUS INDICATION + - PICS_A4/6_7 //AMF - Interface Management Procedures - OVERLOAD START + - PICS_A4/6_8 //AMF - Interface Management Procedures - OVERLOAD STOP + - PICS_A4/7_2 //AMF - Configuration Transfer Procedures - DOWNLINK RAN CONFIGURATION TRANSFER + - PICS_A4/8_1 //AMF - Warning Message Transmission procedure - WRITE-REPLACE WARNING REQUEST + - PICS_A4/8_2 //AMF - Warning Message Transmission procedure - PWS CANCEL REQUEST + - PICS_A4/8_3 //AMF - Warning Message Transmission procedure - PWS RESTART INDICATION + - PICS_A4/8_4 //AMF - Warning Message Transmission procedure - PWS FAILURE INDICATION + - PICS_A4/9_1 //AMF - NRPPa Transport procedure - DOWNLINK UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A4/9_2 //AMF - NRPPa Transport procedure - UPLINK UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A4/9_3 //AMF - NRPPa Transport procedure - DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A4/9_4 //AMF - NRPPa Transport procedure - UPLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + - PICS_A4/10_1 //AMF - Trace procedure - TRACE START messages + - PICS_A4/10_2 //AMF - Trace procedure - TRACE FAILURE INDICATION messages + - PICS_A4/10_3 //AMF - Trace procedure - DEACTIVATE TRACE messages + - PICS_A4/10_4 //AMF - Trace procedure - CELL TRAFFIC TRACE messages + - PICS_A4/11_1 //AMF - Location Reporting Procedures - LOCATION REPORTING CONTROL + - PICS_A4/11_2 //AMF - Location Reporting Procedures - LOCATION REPORTING FAILURE INDICATION + - PICS_A4/11_3 //AMF - Location Reporting Procedures - LOCATION REPORT + - PICS_A4/12_1 //AMF - TNLA procedure - UE TNLA BINDING RELEASE REQUEST messages + - PICS_A4/13_1 //AMF - UE Radio Capability Management procedure - UE RADIO CAPABILITY INFO INDICATION messages + - PICS_A4/13_2 //AMF - UE Radio Capability Management procedure - UE RADIO CAPABILITY CHECK REQUEST messages + - PICS_A4/13_3 //AMF - UE Radio Capability Management procedure - UE RADIO CAPABILITY ID MAPPING REQUEST messages + - PICS_A4/14_1 //AMF - Data Usage Reporting Procedures - SECONDARY RAT DATA USAGE REPORT + - PICS_A4/15_1 //AMF - RIM information Transfer procedure - UPLINK RIM INFORMATION TRANSFER + - PICS_A4/15_2 //AMF - RIM information Transfer procedure - DOWNLINK RIM INFORMATION TRANSFER + - NOT_PICS_2 + ; + entities: + - UE + - GNB + - AMF + - IUT + ; + events: + - receives + - sends + - forwards + - isRequestedToPlaceACall + // Initial conditions + - isNotRegisteredTo + - hasAchievedFirstRegistration + - isRegisteredTo + - isNotAttachedTo + - isAttachedTo + - isNotConfiguredForTopologyHiding + - isConfiguredForTopologyHiding + - isExistingIn + - isNotAppropriateToServe + - establishedSecurityRelation + - registeredIdentityTelURI + - registeredIdentitySipURI + - hasInitiatedDialogWith + - hasInitiatedPS2CSinEarlydialog + - hasInitiatedPS2CSinAlertingState + - hasEstablishedDialog + - hasEstablishedPS2CSDialog + - hasEstablishedInitialContext + - hasEstablishedRRCConnection + - hasEstablishedContextInproperly + - hasEstablishedPDUsessionWithSameId + - hasEstablishedPDUsession + - isConfiguredWithENUMentryForTelURI_E164NumberOf + - hasReceivedInitialRequestForDialog + - hasReceived200OkOnInitialRequestForDialogWith + - hasReceived180OnInitialRequest + - hasReceived200OkCancel + - hasReceivedTerminatedRequest + - hasReceivedNASMessage + - hasReceivedPAGINGMessage + - hasReceivedOVERLOADSTARTtMessage + - hasSuspendedContext + - hasPendingDataTransmission + - registeredPublicIdsWithTelUriAndSipUri + - hasReceivedSubsequentOrTargetRefreshRequestInDialog + - previouslyEstablishedCallWith + - isRequestedToSend + - isRequestedToDeregisterUser + - isBusy + - isNoLongerAvailable + - isTriggeredToDetachUser + - isRequestedToDetachfromNetwork + - isTransitioningTo + - hasAchievedFirstREGISTER + - hasResponded486INVITE + - hasAchievedInitialINVITE + - hasAchievedINVITE + - hasAchievedUPDATEuponINVITE + - timerOperatorSpecificTimeout //NOTE: 8 seconds is an appropriate value for the operator policy. + - isAttachingToNetwork + - hasDoneSubscription + - indicate + - isCMIDLE + - isCMCONNECTED + - alreadyPreparedHandover + - completedHandover + ; + } // End of Domain section + + +// Const { +// PX_Stored_Domain_Uri, +// PX_TO_BE_DEFINED +// ; +// } // End of Const section + + Data { + + type NgapMessage; + type Cause; + + //Table 8.1-1 + NgapMessage AMF_CONFIGURATION_UPDATE; + NgapMessage AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE; + NgapMessage AMF_CONFIGURATION_UPDATE_FAILURE; + NgapMessage RAN_CONFIGURATION_UPDATE; + NgapMessage RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE; + NgapMessage RAN_CONFIGURATION_UPDATE_FAILURE; + NgapMessage HANDOVER_CANCEL; + NgapMessage HANDOVER_CANCEL_ACKNOWLEDGE; + NgapMessage HANDOVER_REQUIRED; + NgapMessage HANDOVER_COMMAND; + NgapMessage HANDOVER_PREPARATION_FAILURE; + NgapMessage HANDOVER_REQUEST ; + NgapMessage HANDOVER_REQUEST_ACKNOWLEDGE; + NgapMessage HANDOVER_FAILURE; + NgapMessage INITIAL_CONTEXT_SETUP_REQUEST; + NgapMessage INITIAL_CONTEXT_SETUP_RESPONSE; + NgapMessage INITIAL_CONTEXT_SETUP_FAILURE; + NgapMessage NG_RESET; + NgapMessage NG_RESET_ACKNOWLEDGE; + NgapMessage NG_SETUP_REQUEST; + NgapMessage NG_SETUP_RESPONSE; + NgapMessage NG_SETUP_FAILURE; + NgapMessage PATH_SWITCH_REQUEST; + NgapMessage PATH_SWITCH_REQUEST_ACKNOWLEDGE; + NgapMessage PATH_SWITCH_REQUEST_FAILURE; + NgapMessage PDU_SESSION_RESOURCE_MODIFY_REQUEST; + NgapMessage PDU_SESSION_RESOURCE_MODIFY_RESPONSE; + NgapMessage PDU_SESSION_RESOURCE_MODIFY_INDICATION; + NgapMessage PDU_SESSION_RESOURCE_MODIFY_CONFIRM; + NgapMessage PDU_SESSION_RESOURCE_RELEASE_COMMAND; + NgapMessage PDU_SESSION_RESOURCE_RELEASE_RESPONSE; + NgapMessage PDU_SESSION_RESOURCE_SETUP_REQUEST; + NgapMessage PDU_SESSION_RESOURCE_SETUP_RESPONSE; + NgapMessage UE_CONTEXT_MODIFICATION_REQUEST; + NgapMessage UE_CONTEXT_MODIFICATION_RESPONSE; + NgapMessage UE_CONTEXT_MODIFICATION_FAILURE; + NgapMessage UE_CONTEXT_RELEASE_COMMAND; + NgapMessage UE_CONTEXT_RELEASE_COMPLETE; + NgapMessage WRITE_REPLACE_WARNING_REQUEST; + NgapMessage WRITE_REPLACE_WARNING_RESPONSE; + NgapMessage PWS_CANCEL_REQUEST; + NgapMessage PWS_CANCEL_RESPONSE; + NgapMessage UE_RADIO_CAPABILITY_CHECK_REQUEST; + NgapMessage UE_RADIO_CAPABILITY_CHECK_RESPONSE; + NgapMessage UE_CONTEXT_SUSPEND_REQUEST; + NgapMessage UE_CONTEXT_SUSPEND_RESPONSE; + NgapMessage UE_CONTEXT_SUSPEND_FAILURE; + NgapMessage UE_CONTEXT_RESUME_REQUEST; + NgapMessage UE_CONTEXT_RESUME_RESPONSE; + NgapMessage UE_CONTEXT_RESUME_FAILURE; + NgapMessage UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST; + NgapMessage UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE; + + //Table 8.1-2 + NgapMessage DOWNLINK_RAN_CONFIGURATION_TRANSFER; + NgapMessage DOWNLINK_RAN_STATUS_TRANSFER; + NgapMessage DOWNLINK_NAS_TRANSPORT; + NgapMessage ERROR_INDICATION; + NgapMessage UPLINK_RAN_CONFIGURATION_TRANSFER; + NgapMessage UPLINK_RAN_STATUS_TRANSFER; + NgapMessage HANDOVER_NOTIFY; + NgapMessage INITIAL_UE_MESSAGE; + NgapMessage NAS_NON_DELIVERY_INDICATION; + NgapMessage PAGING; + NgapMessage PDU_SESSION_RESOURCE_NOTIFY; + NgapMessage REROUTE_NAS_REQUEST; + NgapMessage UE_CONTEXT_RELEASE_REQUEST; + NgapMessage UPLINK_NAS_TRANSPORT; + NgapMessage AMF_STATUS_INDICATION; + NgapMessage PWS_RESTART_INDICATION; + NgapMessage PWS_FAILURE_INDICATION; + NgapMessage DOWNLINK_UE_ASSOCIATED_NRPPA_TRANSPORT; + NgapMessage UPLINK_UE_ASSOCIATED_NRPPA_TRANSPORT; + NgapMessage DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT; + NgapMessage UPLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT; + NgapMessage TRACE_START; + NgapMessage TRACE_FAILURE_INDICATION; + NgapMessage DEACTIVATE_TRACE; + NgapMessage CELL_TRAFFIC_TRACE; + NgapMessage LOCATION_REPORTING_CONTROL; + NgapMessage LOCATION_REPORTING_FAILURE_INDICATION; + NgapMessage LOCATION_REPORT; + NgapMessage UE_TNLA_BINDING_RELEASE_REQUEST; + NgapMessage UE_RADIO_CAPABILITY_INFO_INDICATION; + NgapMessage RRC_INACTIVE_TRANSITION_REPORT; + NgapMessage OVERLOAD_START; + NgapMessage OVERLOAD_STOP; + NgapMessage SECONDARY_RAT_DATA_USAGE_REPORT; + NgapMessage UPLINK_RIM_INFORMATION_TRANSFER; + NgapMessage DOWNLINK_RIM_INFORMATION_TRANSFER; + NgapMessage RETRIEVE_UE_INFORMATION; + NgapMessage UE_INFORMATION_TRANSFER; + NgapMessage RAN_CP_RELOCATION_INDICATION; + NgapMessage CONNECTION_ESTABLISHMENT_INDICATION; + NgapMessage AMF_CP_RELOCATION_INDICATION; + NgapMessage HANDOVER_SUCCESS; + NgapMessage UPLINK_RAN_EARLY_STATUS_TRANSFER; + NgapMessage DOWNLINK_RAN_EARLY_STATUS_TRANSFER; + + //Section 9.3.1.2 + Cause Multiple_Location_Reporting_Reference_ID_instances; + + } // End of Data section + + Configuration { + Interface Type defaultGT accepts NgapMessage; + Component Type NgapComponent with gate g of type defaultGT; + Component Type NgapComponent with gate g2 of type defaultGT; + + + Test Configuration CF_GNB_N2 + containing + Tester component AMF of type NgapComponent + SUT component IUT of type NgapComponent + connection between AMF.g and IUT.g; + + Test Configuration CF_AMF_N2 + containing + Tester component GNB of type NgapComponent + SUT component IUT of type NgapComponent + connection between GNB.g and IUT.g; + + + Test Configuration CF_GNB_2N2 + containing + Tester component AMF of type NgapComponent + SUT component IUT of type NgapComponent + connection between AMF.g and IUT.g; + + Test Configuration CF_AMF_2N2 + containing + Tester component GNB of type NgapComponent + SUT component IUT of type NgapComponent + connection between GNB.g and IUT.g; + + } + + +} // End of Package Sip_Common + diff --git a/test_purposes/References.txt b/test_purposes/References.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0ac7728b4ef1d13e13febb7f3377d3d8b0a43a2 --- /dev/null +++ b/test_purposes/References.txt @@ -0,0 +1 @@ +[1] ETSI TS 138 413: "5G;NG-RAN; NG Application Protocol (NGAP) (3GPP TS 38.413 version 16.12.0 Release 16)". diff --git a/test_purposes/ngap/TP_AMF_NGAP2.tplan2 b/test_purposes/ngap/TP_AMF_NGAP2.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..081c8d91188ffd49c6b852131e0793c6e6d2f33a --- /dev/null +++ b/test_purposes/ngap/TP_AMF_NGAP2.tplan2 @@ -0,0 +1,2366 @@ +/* +Copyright (c) ETSI 2023. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +/* interface at AMF */ +Package TP_AMF { + + + + Group "8.2 PDU Session Management Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_PDU_01 + + Test objective "Verify that the IUT can send a PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.1.2 and 9.2.1.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/1_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU session management procedure + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Request_List containing + PDU_SessionId, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer;; + to the GNB entity + } + } + + } // end TP_NGAP_AMF_PDU_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_PDU_02 + + Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.1.2 and 9.2.1.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/1_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU session resource release procedure + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_RELEASE_COMMAND containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_To_Release_List containing + PDU_Session_Resource_To_Release_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Release_Command_Transfer containing + Cause indicating value PX_Cause;;;; //normal_release + to the GNB entity + } + } + } // end TP_NGAP_AMF_PDU_02 + + Test Purpose { + + TP Id TP_NGAP_AMF_PDU_03 + + Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.3.2 and 9.2.1.5" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/1_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU session resource modify procedure + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_MODIFY_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Request_List containing + PDU_Session_Resource_Modify_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Request_Transfer containing +// UL_NG_U_UP_TNL_Modify_List containing +// UL_NG_U_UP_TNL_Modify_Item containing +// UL_NG_U_UP_TNL_Information +// DL_NG_U_UP_TNL_Information +// ; +// ;, + QoSFlowAddorModifyRequestList containing + QoSFlowAddorModifyRequestItem containing + QoSFlowIdentifier;;;;;; + to the GNB entity + } + } + } // end TP_NGAP_AMF_PDU_03 + + Test Purpose { + + TP Id TP_NGAP_AMF_PDU_04 + + Test objective "Verify that the AMF node successfully processes a PDU_SESSION_RESOURCE_MODIFY_INDICATION containing mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for successfully modified PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.5.2 and 9.2.1.8" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/1_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_MODIFY_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Indication_List containing + PDU_Session_Resource_Modify_Indication_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Indication_Transfer containing + DLQoSFlowperTNLInformation containing + UPTransportLayerInformation, + AssociatedQoSFlowList containing + AssociatedQoSFlowItem containing + QoSFlowIdentifier indicating value PX_QoS_Flow_ID;;;;;;; + from the GNB entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_MODIFY_CONFIRM containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Confirm_List containing + PDU_Session_Resource_Modify_Confirm_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Confirm_Transfer containing + QoSFlowModifyConfirmList containing + QoSFlowModifyConfirmItem containing + QoSFlowIdentifier;;;, + UL_NG_U_UP_TNLInformation;;; + to the GNB entity + } + } + } // end TP_NGAP_AMF_PDU_04 + + Test Purpose { + + TP Id TP_NGAP_AMF_PDU_05 + + Test objective "Verify that the AMF node processes a PDU_SESSION_RESOURCE_MODIFY_INDICATION containing mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for not successfully modified PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.5.2 and 9.2.1.8" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/1_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_MODIFY_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Indication_List containing + PDU_Session_Resource_Modify_Indication_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Indication_Transfer containing + DLQoSFlowperTNLInformation containing + UPTransportLayerInformation, + AssociatedQoSFlowList containing + AssociatedQoSFlowItem containing + QoSFlowIdentifier indicating value PX_QoS_Wrong_Flow_ID;;;;;;; + from the GNB entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_MODIFY_CONFIRM containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Failed_To_Modify_List containing + PDU_Session_Resource_Failed_To_Modify_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Indication_Unsuccessful_Transfer containing + Cause;;;; + to the GNB entity + } + } + } // end TP_NGAP_AMF_PDU_05 + + } // end Group 8.2 PDU Session Management Procedures + + Group "8.3 UE Context Management Procedures" + { + + Group "Initial Context Setup" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_01 + + Test objective "Verify that the IUT can send an INITIAL CONTEXT SETUP REQUEST containing mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU initial context setup procedure + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key; + to the GNB entity + } + } + } // end TP_NGAP_AMF_CMP_01 + + } // end Group "Initial Context Setup" + + Group "UE Context Release (AMF initiated)" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_02 + + Test objective "Verify that the IUT can send a UE CONTEXT RELEASE COMMAND that contains both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.3 and 9.2.2.5" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE context release command + } + then { + the IUT entity sends a UE_CONTEXT_RELEASE_COMMAND containing + CHOICE_UE_NGAP_IDs containing + UE_NGAP_ID_pair containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID + ; + ;, + Cause + ; + to the GNB entity + } + } + } // end TP_NGAP_AMF_CMP_02 + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_03 + + Test objective "Verify that the IUT can send a UE CONTEXT RELEASE COMMAND where both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE are not available." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE context release command + } + then { + the IUT entity sends a UE_CONTEXT_RELEASE_COMMAND containing + CHOICE_UE_NGAP_IDs containing + AMF_UE_NGAP_ID containing + AMF_UE_NGAP_ID + ; + ;, + Cause + ; + to the GNB entity + } + } + } // end TP_NGAP_AMF_CMP_03 + + } // End Group "UE Context Release (AMF initiated)" + + Group "UE Context Modification" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_04 + + Test objective "Verify that the IUT can send a UE CONTEXT MODIFICATION REQUEST containing mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.2 and 9.2.2.7" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU UE context modification procedure + } + then { + the IUT entity sends a UE_CONTEXT_MODIFICATION_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_CMP_04 + + } // End Group UE Context Modification + + Group "Connection Establishment Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_05 + + Test objective "Verify that the IUT can send a CONNECTION ESTABLISHMENT INDICATION that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.6.2 and 9.2.2.11" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_6 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU UE context modification procedure + } + then { + the IUT entity sends a CONNECTION_ESTABLISHMENT_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // End TP TP_NGAP_AMF_CMP_05 + + } // End Group "Connection Establishment Indication" + + Group "AMF CP Relocation Indication" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_06 + + Test objective "Verify that the IUT can send an AMF CP RELOCATION INDICATION that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.7.2 and 9.2.2.12" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_7 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an AMF CP relocation indication procedure + } + then { + the IUT entity sends an AMF_CP_RELOCATION_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // End TP TP_NGAP_AMF_CMP_06 + + } // End Group "AMF CP Relocation Indication" + + Group "Retrieve UE information" + { + + import all from Ngap_Common; + + Test Purpose { + + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_AMF_CMP_07 + + Test objective "Verify that the IUT can successfully request UE information from the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.9.2, 8.3.10.2, 9.2.2.14 and 9.2.2.15" + + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_9 and PICS_A4/2_10 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a RETRIEVE_UE_INFORMATION containing + 5G_S_TMSI containing + AMF_Set_ID, + AMF_Pointer, + 5G_TMSI;; + from the GNB entity + } + then { + the IUT entity sends a UE_INFORMATION_TRANSFER containing + 5G_S_TMSI containing + AMF_Set_ID, + AMF_Pointer, + 5G_TMSI;; + to the GNB entity + } + } + } // End TP TP_NGAP_GNB_CMP_07 + + } // End Group "Retrieve UE information" + + Group "UE Context Suspend" + { + import all from Ngap_Common; + + Test Purpose { + + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_AMF_CMP_08 + + Test objective "Verify that the AMF node successfully processes a UE CONTEXT SUSPEND REQUEST containing mandatory IEs and answers with UE CONTEXT SUSPEND REQUEST RESPONSE with successfully suspend UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.11.2, 9.2.2.16 and 9.2.2.17" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_11 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_SUSPEND_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Suspend_List containing + PDU_Session_Resource_Suspend_Item containing + PDU_SessionId indicating value PX_PDU_ID, + UE_Context_Suspend_Request_Transfer containing + Suspend_Indicator;;;; + from the GNB entity + } + then { + the IUT entity sends a UE_CONTEXT_SUSPEND_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_CMP_08 + + Test Purpose { + + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_AMF_CMP_09 + + Test objective "Verify that the AMF node successfully processes a UE CONTEXT SUSPEND REQUEST containing mandatory IEs and answers with UE CONTEXT SUSPEND FAILURE with failed suspension." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.11.3, 9.2.2.16 and 9.2.2.18" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_11 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext and + the UE entity hasPendingDataTransmission + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_SUSPEND_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Suspend_List containing + PDU_Session_Resource_Suspend_Item containing + PDU_SessionId indicating value PX_PDU_ID, + UE_Context_Suspend_Request_Transfer containing + Suspend_Indicator;;;; + from the GNB entity + } + then { + the IUT entity sends a UE_CONTEXT_SUSPEND_FAILURE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_CMP_09 + + }// end Group UE Context Suspend + + Group "UE Context Resume" + { + import all from Ngap_Common; + + Test Purpose { + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_AMF_CMP_10 + + Test objective "Verify that the AMF node successfully processes a UE CONTEXT RESUME REQUEST containing mandatory IEs and answers with UE CONTEXT RESUME RESPONSE with successfully resume UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.12.3, 9.2.2.19 and 9.2.2.20" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_12 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasSuspendedContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_RESUME_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RRC_Resume_Cause + ; + from the GNB entity + } + then { + the IUT entity sends a UE_CONTEXT_RESUME_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID + ; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_CMP_10 + + Test Purpose { + + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_AMF_CMP_11 + + Test objective "Verify that the AMF node successfully processes a UE CONTEXT RESUME REQUEST containing mandatory IEs and answers with UE CONTEXT RESUME FAILURE with failing to resume UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.12.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/2_12 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasSuspendedContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_RESUME_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RRC_Resume_Cause, + PDU_Session_Resource_Resume_List containing + PDU_Session_Resource_Resume_Item containing + PDU_SessionId indicating value PX_PDU_ID, + UE_Context_Resume_Request_Transfer;;; + from the GNB entity + } + then { + the IUT entity sends a UE_CONTEXT_RESUME_FAILURE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_CMP_11 + + } // end Group "UE Context Resume" + + } // End Group 8.3 UE Context Management Procedures + + Group "8.4 UE Mobility Management Procedures" + { + + Group "Handover Preparation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_01 + + Test objective "Verify that the AMF node successfully processes a HANDOVER REQUIRED message containing mandatory IEs and answers with HANDOVER COMMAND with successfully handover." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.1.2, 9.2.3.1 and 9.2.3.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUIRED containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Handover_Typ, + Cause, + Target_ID, + PDU_Session_Resource_List containing + PDU_Session_Resource_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Required_Transfer;;, + Source_to_Target_Transparent_Container; + from the GNB entity + } + then { + the IUT entity sends a HANDOVER_COMMAND containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Handover_Type, + PDU_Session_Resource_Handover_List containing + PDU_Session_Resource_Handover_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Command_Transfer;;; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_MMP_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_02 + + Test objective "Verify that the AMF node successfully processes a HANDOVER REQUIRED message containing mandatory IEs and answers with HANDOVER PREPARATION FAILURE because the UE is not longer available." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.1.3, 9.2.3.1 and 9.2.3.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_1 + + Initial conditions with { + the UE entity isNoLongerAvailable + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUIRED containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Handover_Typ, + Cause, + Target_ID, + PDU_Session_Resource_List containing + PDU_Session_Resource_Item containing + PDU_SessionId, + Handover_Required_Transfer;;, + Source_to_Target_Transparent_Container; + from the GNB entity + } + then { + the IUT entity sends a HANDOVER_PREPARATION_FAILURE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_MMP_02 + + } // End Group "Handover Preparation" + + Group "Handover Resource Allocation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_03 + + Test objective "Verify that the AMF node successfully sends a HANDOVER REQUEST message that contains mandatory IEs to the GNB." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.2.2 and 9.2.3.4" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a Handover Request procedure + } + then { + the IUT entity sends a HANDOVER_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Handover_Typ, + Cause, + UE_Aggregate_Maximum_Bit_Rate containing + UE_Aggregate_Maximum_Bit_Rate_Downlink, + UE_Aggregate_Maximum_Bit_Rate_Uplink;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + PDU_Session_Setup_Resource_List containing + PDU_Session_Setup_Resource_Item containing + PDU_SessionId, + S_NSSAI containing + SST;, + Handover_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + Source_to_Target_Transparent_Container, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_MMP_03 + + } // End Group "Handover Resource Allocation" + + Group "Path Switch Request" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_04 + + Test objective "Verify that the AMF node successfully processes a PATH SWITCH REQUEST message that contains mandatory IEs and answers with PATH SWITCH REQUEST ACKNOWLEDGE to acknowledge the path switch." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.4.2, 9.2.3.8 and 9.2.3.9" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PATH_SWITCH_REQUEST containing + RAN_UE_NGAP_ID, + Source_AMF_UE_NGAP_ID, + User_Location_Information, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + PDU_Session_Resources_to_be_Switched_in_Downlink_List containing + PDU_Session_Resources_to_be_Switched_in_Downlink_Item containing + PDU_SessionId, + Path_Switch_Request_Transfer;;; + from the GNB entity + } + then { + the IUT entity sends a PATH_SWITCH_REQUEST_ACKNOWLEDGE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Security_Context containing + Next_Hop_Chaining_Count, + Next_Hop_NH + ;, + PDU_Session_Resource_Switched_List containing + PDU_Session_Resource_Switched_Item containing + PDU_SessionId, + Path_Switch_Request_Acknowledge_Transfer;;; + to the GNB entity + } + } + + } // End TP_NGAP_AMF_MMP_04 + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_05 + + Test objective "Verify that the AMF node successfully processes a PATH SWITCH REQUEST message that contains mandatory IEs and two PDU Sessions with same ID and answers with PATH SWITCH REQUEST FAILURE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.4.4, 9.2.3.8 and 9.2.3.10" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PATH_SWITCH_REQUEST containing + RAN_UE_NGAP_ID, + Source_AMF_UE_NGAP_ID, + User_Location_Information, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + PDU_Session_Resources_to_be_Switched_in_Downlink_List containing + PDU_Session_Resources_to_be_Switched_in_Downlink_Item containing + PDU_SessionId, + Path_Switch_Request_Transfer;, + PDU_Session_Resources_to_be_Switched_in_Downlink_Item containing + PDU_SessionId, + Path_Switch_Request_Transfer;;; + from the GNB entity + } + then { + the IUT entity sends a PATH_SWITCH_REQUEST_FAILURE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Released_List containing + PDU_Session_Resource_Released_Item containing + PDU_SessionId, + Path_Switch_Request_Unsuccessful_Transfer containing + Cause;;;; + to the GNB entity + } + } + } // End TP_NGAP_AMF_MMP_05 + + } // End Group "Path Switch Request" + + Group "Handover Cancellation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_06 + + Test objective "Verify that the AMF node successfully processes a HANDOVER CANCEL message that contains mandatory IEs and answers with HANDOVER CANCEL ACKNOWLEDGE to confirm that the ongoing handover was cancelled." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.5.2, 9.2.3.11 and 9.2.3.12" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_CANCEL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + from the GNB entity + } + then { + the IUT entity sends a HANDOVER_CANCEL_ACKNOWLEDGE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // End TP_NGAP_AMF_MMP_06 + + } // End Group "Handover Cancellation" + + Group "Downlink RAN Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_07 + + Test objective "Verify that the AMF node successfully sends a DOWNLINK RAN STATUS TRANSFER message that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.6.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_6 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a Downlink RAN Status Transfer procedure + } + then { + the IUT entity sends a DOWNLINK_RAN_STATUS_TRANSFER containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RAN_Status_Transfer_Transparent_Container containing + DRBs_Subject_To_Status_Transfer_List containing + DRBs_Subject_To_Status_Transfer_Item containing + DRB_ID, + CHOICE_UL_DRB_Status containing + 12_bits containing // use 18_bits IE instead if the PDCP-SN is 18 bits long + UL_COUNT_Value containing + PDCP_SN_Length_12, + HFN_for_PDCP_SN_Length_12;;;, + CHOICE_DL_DRB_Status containing + 12_bits containing // use 18_bits IE instead if the PDCP-SN is 18 bits long + DL_COUNT_Value containing + PDCP_SN_Length_12, + HFN_for_PDCP_SN_Length_12;;;;;;; + to the GNB entity + } + } + } // End TP_NGAP_AMF_MMP_07 + + } // End Group "Downlink RAN Status Transfer" + + Group "Handover Success" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_08 + + Test objective "Verify that the NG-RAN node successfully sends a Handover Success message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.8.2 and 9.2.3.15" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_8 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity completedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a UE handover success procedure" + } + then { + the IUT entity sends a HANDOVER_SUCCESS containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // End TP_NGAP_GNB_MMP_08 + + } // End Group "Handover Success" + + Group "Downlink RAN Early Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_09 + + Test objective "Verify that the AMF node successfully sends a DOWNLINK RAN EARLY STATUS TRANSFER message that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.9.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/3_9 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a Downlink RAN Early Status Transfer procedure + } + then { + the IUT entity sends a DOWNLINK_RAN_EARLY_STATUS_TRANSFER containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Early_Status_Transfer_Transparent_Container containing + CHOICE_Procedure_Stage containing + First_DL_COUNT containing + DRBs_Subject_To_Early_Status_Transfer_List containing + DRBs_Subject_To_Early_Status_Transfer_Item containing + DRB_ID, + CHOICE_First_DL_COUNT containing + 12_bits containing // use 18_bits IE instead if the PDCP-SN is 18 bits long + FIRST_DL_COUNT_Value containing + PDCP_SN_Length_12, + HFN_for_PDCP_SN_Length_12;;;;;;;;; + to the GNB entity + } + } + } // End TP_NGAP_AMF_MMP_09 + + } // End Group "Downlink RAN Status Transfer" + + } // End Group "8.4 UE Mobility Management Procedures" + + Group "8.5 Paging Procedures" + { + Group "Paging" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_PAG_01 + + Test objective "Verify that the IUT can send a PAGING message to enable the AMF to page a UE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.5.1.2 and 9.2.4.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/4_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Paging procedure" + } + then { + the IUT entity sends a PAGING containing + UE_Paging_Identity containing + 5G_S_TMSI containing + 5G_S_TMSI containing + AMF_Set_ID, + AMF_Pointer, + 5G_TMSI;;;, + TAI_List_for_Paging containing + TAI_List_for_Paging_Item containing + TAI containing + PLMN_Identity, + TAC;;;; + to the GNB entity + } + } + } // end TP_NGAP_GNB_PAG_01 + + } // end "Paging" + + } // end "8.5 Paging Procedures" + + Group "8.6 Transport of NAS Messages Procedures" + { + Group "Downlink NAS Transport" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_NAS_01 + + Test objective "Verify that the IUT can send a DOWNLINK NAS TRANSPORT message to carry NAS information over the NG interface." + + Reference + "ETSI TS 138 413 [1], Clauses 8.6.2.2, 9.2.5.1 and 9.2.5.2", + "ETSI TS 123 502 [6], Clause 4.24.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/5_2 + + Initial conditions with { + the UE entity isCMCONNECTED and + the GNB entity hasReceivedNASMessage from the UE entity + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_UE_MESSAGE containing + RAN_UE_NGAP_ID, + NAS_PDU, + User_Location_Information, + RRC_Establishmnet_Cause; + from the GNB entity + } + then { + the IUT entity sends a DOWNLINK_NAS_TRANSPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NAS_PDU; + to the GNB entity + } + } + } // end TP_NGAP_AMF_NAS_01 + + } // end "Downlink NAS Transport" + + Group "Reroute NAS Request" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_NAS_02 + + Test objective "Verify that the IUT can send a REROUTE NAS REQUEST message to reroute the INITIAL UE MESSAGE message to another AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.6.5.2 and 9.2.5.5" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/5_5 + + Initial conditions with { + the AMF entity isNotAppropriateToServe the UE + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_UE_MESSAGE containing + RAN_UE_NGAP_ID, + NAS_PDU, + User_Location_Information, + RRC_Establishmnet_Cause; + from the GNB entity + } + then { + the IUT entity sends a REROUTE_NAS_REQUEST containing + RAN_UE_NGAP_ID, + NGAP_Message, // Contains the INITIAL UE MESSAGE + NAS_PDU, + AMF_Set_ID; + to the GNB entity + } + } + } // end TP_NGAP_AMF_NAS_02 + + } // end "Reroute NAS Request" + + } // end Group "8.6 Transport of NAS Messages Procedures" + + Group "8.7 Interface Management Procedures" + { + Group "NG Setup" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_01 + + Test objective "Verify that the AMF node successfully processes an NG SETUP REQEST message that contains mandatory IEs and answers with NG SETUP RESPONSE to acknowledge the setup." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.1.2, 9.2.6.1 and 9.2.6.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_1 + + Initial conditions with { + the UE entity hasEstablishedRRCConnection + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an NG_SETUP_REQUEST containing + Global_RAN_Node_ID, + Supported_TA_List containing + Supported_TA_Item containing + TAC, + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;, + Default_Paging_DRX;; + from the GNB entity + } + then { + the IUT entity sends an NG_SETUP_RESPONSE containing + AMF_Name, + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;, + Relative_AMF_Capacity, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List containing + S_NSSAI containing + SST;;, + Extended_Slice_Support_List containing + S_NSSAI containing + SST;;;;; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_02 + + Test objective "Verify that the AMF node successfully decline an NG RESET REQEST message and answers with NG SETUP FAILURE when the AMF is not able to handle the request." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.1.3, 9.2.6.1 and 9.2.6.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_1 + + Initial conditions with { + the UE entity hasEstablishedRRCConnection + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an NG_SETUP_REQUEST containing + Global_RAN_Node_ID, + Supported_TA_List containing + Supported_TA_Item containing + TAC, // Implementation note: The TAC in the NG Setup Request message does not match the TAC of the AMF. + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;, + Default_Paging_DRX;; + from the GNB entity + } + then { + the IUT entity sends an NG_SETUP_FAILURE containing + Cause; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_02 + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_03 + + Test objective "Verify that the AMF node successfully processes an NG SETUP REQEST message with optional field UE Retention Information and answers with NG SETUP RESPONSE to acknowledge the setup." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.1.2, 9.2.6.1 and 9.2.6.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_1 + + Initial conditions with { + the UE entity hasEstablishedRRCConnection + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an NG_SETUP_REQUEST containing + Global_RAN_Node_ID, + Supported_TA_List containing + Supported_TA_Item containing + TAC, + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;, + Default_Paging_DRX, + UE_Retention_Information;; // Implementation Node: use ues-retained + from the GNB entity + } + then { + the IUT entity sends an NG_SETUP_RESPONSE containing + AMF_Name, + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;, + Relative_AMF_Capacity, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List containing + S_NSSAI containing + SST;;, + Extended_Slice_Support_List containing + S_NSSAI containing + SST;;;;, + UE_Retention_Information; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_03 + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_04 + + Test objective "Verify that the AMF node successfully processes an NG SETUP REQEST message with different optional fields and answers with NG SETUP RESPONSE to acknowledge the setup." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.1.2, 9.2.6.1 and 9.2.6.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_1 + + Initial conditions with { + the UE entity hasEstablishedRRCConnection + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an NG_SETUP_REQUEST containing + Global_RAN_Node_ID, + Supported_TA_List containing + Supported_TA_Item containing + TAC + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;, + NPN_Support, + Extended_TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;, + Configured_TAC_Indication, + RAT_Information;, + Default_Paging_DRX, + NB_IoT_Default_Paging_DRX, + Extended_RAN_Node_Name containing + RAN_Node_Name_Visible;;; + from the GNB entity + } + then { + the IUT entity sends an NG_SETUP_RESPONSE containing + AMF_Name, + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;, + Relative_AMF_Capacity, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List containing + S_NSSAI containing + SST;;, + NPN_Support, + Extended_Slice_Support_List containing + S_NSSAI containing + SST;;;;, + Extended_AMFName; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_04 + + } // End Group "NG Setup" + + Group "RAN Configuration Update" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_05 + + Test objective "Verify that the AMF node successfully processes a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.2.2, 9.2.6.4 and 9.2.6.5" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a RAN_CONFIGURATION_UPDATE containing + Supported_TA_List containing + Supported_TA_Item containing // Implementation note: e.g. TA List is updated due to UE moving into a new TA + TAC, + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;;; + from the GNB entity + } + then { + the IUT entity sends a RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_05 + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_06 + + Test objective "Verify that the AMF node successfully declines a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE FAILURE when the AMF is not able to handle the request." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.2.2 and 9.2.6.4 and 9.2.6.6" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a RAN_CONFIGURATION_UPDATE containing + Supported_TA_List containing + Supported_TA_Item containing // Implementation note: e.g. TA List is updated due to UE moving into a new TA + TAC, // Implementation note: The TAC in the NG Setup Request message does not match the TAC of the AMF. + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;;; + from the GNB entity + } + then { + the IUT entity sends a RAN_CONFIGURATION_UPDATE_FAILURE containing + Cause; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_06 + + } // End Group "RAN Configuration Update" + + Group "AMF Configuration Update" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_07 + + Test objective "Verify that the IUT can send an AMF CONFIGURATION UPDATE message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.3.2 and 9.2.6.7" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity isCMIDLE and + the UE entity hasReceivedPAGINGMessage + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of an AMF CONFIGURATION UPDATE procedure" + } + then { + the IUT entity sends an AMF_CONFIGURATION_UPDATE containing + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List containing + S_NSSAI containing + SST;;;;; + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_07 + + } // End Group "AMF Configuration Update" + + Group "NG Reset" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_08 + + Test objective "Verify that the AMF node successfully processes an NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.4.2.2, 9.2.6.11 and 9.2.6.12" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity isRequestedToDetachfromNetwork + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an NG_RESET containing + Cause, + CHOICE_Reset_Type containing + NG_interface containing + Reset_All;;; + from the GNB entity + } + then { + the IUT entity sends an NG_RESET_ACKNOWLEDGE + to the GNB entity + } + } + } // end TP TP_NGAP_AMF_IMP_08 + + } // End Group "NG Reset" + + Group "Error Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_09 + + Test objective "Verify that the AMF can send an ERROR INDICATION to the GNB when a error occurs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.5.2 and 9.2.6.13" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing // Implementation Node: use a not supported security key + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key; + from the GNB entity + } + then { + the IUT entity sends an ERROR_INDICATION + to the GNB entity + } + } + } // end TP_NGAP_AMF_IMP_09 + + } // End Group Error Indication + + Group "AMF Status Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_10 + + Test objective "Verify that the AMF can send an AMF STATUS INDICATION to the GNB when a error occurs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.6.2 and 9.2.6.10" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_6 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an AMF STATUS INDICATION + } + then { + the IUT entity sends an AMF_STATUS_INDICATION containing + Unavailable_GUAMI_List containing + Unavailable_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;; + to the GNB entity + } + } + } // end TP_NGAP_AMF_IMP_10 + + } // End Group "AMF Status Indication" + + Group "Overload Start" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_11 + + Test objective "Verify that the AMF can send an OVERLOAD START to the GNB." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.7.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_7 + + // No initial conditions + + Expected behaviour + ensure that { + when { + the IUT entity indicate an OVERLOAD START + } + then { + the IUT entity sends an OVERLOAD_START containing + Overload_Start_NSSAI_List containing + Overload_Start_NSSAI_Item containing + Slice_Overload_List containing + S_NSSAI containing + SST;;;;; + to the GNB entity + } + } + } // end TP_NGAP_AMF_IMP_11 + } // End Group "Overload Start" + + Group "Overload Stop" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_12 + + Test objective "Verify that the AMF can send an OVERLOAD STOP to the GNB." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.8.2 and 9.2.6.15" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/6_8 + + Initial conditions with { + the GNB entity hasReceivedOVERLOADSTARTtMessage + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an OVERLOAD STOP + } + then { + the IUT entity sends an OVERLOAD_STOP + to the GNB entity + } + } + } // end TP_NGAP_AMF_IMP_12 + + } // End Group "Overload Stop" + + } // End Group "8.7 Interface Management Procedures" + + Group "8.8 Configuration Transfer Procedure" + { + Group "Downlink RAN Configuration Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CTP_01 + + Test objective "Verify that the IUT can send a DOWNLINK RAN CONFIGURATION TRANSFER message to transfer RAN configuration information to the NG-RAN." + + Reference + "ETSI TS 138 413 [1], Clauses 8.8.2 and 9.2.7.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/7_2 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Downlink RAN Configuration Transfer" + } + then { + the IUT entity sends a DOWNLINK_RAN_CONFIGURATION_TRANSFER + to the GNB entity + } + } + } // end TP_NGAP_AMF_CTP_01 + + } // end "Downlink RAN Configuration Transfer" + + } // end Group "8.8 Configuration Transfer Procedure" + + Group "8.9 Warning Message Transmission Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_WTP_01 + + Test objective "Verify that the IUT can send a WRITE REPLACE WARNING REQUEST to start broadcasting of warning messages." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.1.2 and 9.2.8.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/8_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a Write message Transmission procedure + } + then { + the IUT entity sends a WRITE_REPLACE_WARNING_REQUEST containing + Message_Identifier, + Serial_Number, + Repetition_Period, + Number_of_Broadcasts_Requested; + to the GNB entity + } + } + } // end TP_NGAP_AMF_WTP_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_WTP_02 + + Test objective "Verify that the IUT can send a PWS CANCEL REQUEST to cancel broadcasting of warning messages." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.2.2 and 9.2.8.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/8_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PWS cancel procedure + } + then { + the IUT entity sends a PWS_CANCEL_REQUEST containing + Message_Identifier, + Serial_Number; + to the GNB entity + } + } + } // end TP_NGAP_AMF_WTP_02 + + } // "8.9 Warning Message Transmission Procedures" + + Group "8.10 NRPPa Transport Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_NTP_01 + + Test objective "Verify that the IUT can send a DOWNLINK UE ASSOCIATED NRPPA TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + + Reference + "ETSI TS 138 413 [1], Clauses 8.10.2.1 and 9.2.9.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/9_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an NRPPA transport procedure + } + then { + the IUT entity sends a DOWNLINK_UE_ASSOCIATED_NRPPA_TRANSPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Routing_ID, + NRPPa_PDU; + to the GNB entity + } + } + } // end TP_NGAP_AMF_NTP_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_NTP_02 + + Test objective "Verify that the IUT can send a DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + + Reference + "ETSI TS 138 413 [1], Clauses 8.10.2.3 and 9.2.9.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/9_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an NRPPA transport procedure + } + then { + the IUT entity sends a DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT containing + Routing_ID, + NRPPa_PDU; + to the GNB entity + } + } + } // end TP_NGAP_AMF_NTP_02 + + } // "8.10 NRPPa Transport Procedures" + + Group "8.11 Trace Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_TRP_01 + + Test objective "Verify that the IUT can send a TRACE_START to initiate a trace session for a UE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.11.1.2 and 9.2.10.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/10_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a trace procedure + } + then { + the IUT entity sends a TRACE_START containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Trace_Activation containing + NG_RAN_Trace_ID, + Interfaces_to_Trace, + Trace_Depth, + Trace_Collection_Entity_IP_Address;; + to the GNB entity + } + } + } // end TP_NGAP_AMF_TRP_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_TRP_02 + + Test objective "Verify that the IUT can send a DEACTIVATE_TRACE to deactivate a trace session for a UE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.11.3.2 and 9.2.10.3" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/10_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a deactivate trace procedure + } + then { + the IUT entity sends a DEACTIVATE_TRACE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NG_RAN_Trace_ID; + to the GNB entity + } + } + } // end TP_NGAP_AMF_TRP_02 + + } // "8.11 Trace Procedures" + + Group "8.12 Location Reporting Procedures" + { + Group "Location Reporting Control" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_LRP_01 + + Test objective "Verify that the IUT can send a LOCATION REPORTING CONTROL message that contains mandatory IEs to request a report of the UE's current location." + + Reference + "ETSI TS 138 413 [1], Clauses 8.12.1 and 9.2.11.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/11_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Location Reporting Control procedure" + } + then { + the IUT entity sends a LOCATION_REPORTING_CONTROL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Location_Reporting_Request_Type + ; + to the GNB entity + } + } + } // end TP_NGAP_AMF_LRP_01 + + } // end "Location Reporting Control" + + } // end "8.12 Location Reporting Procedures" + + Group "8.13 UE TNLA Binding Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_UBP_01 + + Test objective "Verify that the IUT can send a UE TNLA BINDING RELEASE REQUEST to initiate a UE TNLA Binding Release procedure." + + Reference + "ETSI TS 138 413 [1], Clauses 8.13.1.2 and 9.2.12.1" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/12_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE TNLA BINDING procedure + } + then { + the IUT entity sends a UE_TNLA_BINDING_RELEASE_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // end TP_NGAP_AMF_UBP_01 + + } // end Group "8.13 UE TNLA Binding Procedures" + + Group "8.14 UE Radio Capability Management Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_URP_01 + + Test objective "Verify that the IUT can send a UE RADIO CAPABILITY CHECK REQUEST to initiate UE Radio Capability Management procedure." + + Reference + "ETSI TS 138 413 [1], Clauses 8.14.2.2 and 9.2.13.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/13_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE Radio Capability Management procedure + } + then { + the IUT entity sends a UE_RADIO_CAPABILITY_CHECK_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the GNB entity + } + } + } // end TP_NGAP_AMF_URP_01 + + Test Purpose { + + TP Id TP_NGAP_AMF_URP_02 + + Test objective "Verify that the IUT can send a UE RADIO CAPABILITY ID MAPPING RESPONSE message that contains mandatory IEs to provide the UE radio capabilities id mapping." + + Reference + "ETSI TS 138 413 [1], Clauses 8.14.3.2, 9.2.13.4 and 9.2.13.5" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/13_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST containing + UE_Radio_Capability_ID; + from the GNB entity + } + then { + the IUT entity sends a UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE containing + UE_Radio_Capability_ID, + UE_Radio_Capability; + to the GNB entity + } + } + } // end TP_NGAP_AMF_URP_02 + + } // end Group "8.14 UE Radio Capability Management Procedures" + + Group "8.15 Data Usage Reporting Procedures" + { + //NONE + } // end Group "8.15 Data Usage Reporting Procedures" + + Group "8.16 RIM Information Transfer Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_RIP_01 + + Test objective "Verify that the IUT can send a DOWNLINK RIM INFORMATION TRANSFER." + + Reference + "ETSI TS 138 413 [1], Clauses 8.16.2.2 and 9.2.15.2" + + Config Id CF_AMF_N2 + + PICS Selection PICS_A2/2 and PICS_A4/15_2 + + Initial conditions with { + the UE entity isNotRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a RIM Information Transfer procedure + } + then { + the IUT entity sends a DOWNLINK_RIM_INFORMATION_TRANSFER + to the GNB entity + } + } + } // end TP_NGAP_AMF_RIP_01 + + } // end Group "8.16 RIM Information Transfer Procedures" +} // End of Package TP_AMF + diff --git a/test_purposes/ngap/TP_GNB_NGAP.tplan2 b/test_purposes/ngap/TP_GNB_NGAP.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..ee0dfa5d8364f20c4ddbc555ae925e5944f38a05 --- /dev/null +++ b/test_purposes/ngap/TP_GNB_NGAP.tplan2 @@ -0,0 +1,3247 @@ +/* +Copyright (c) ETSI 2023. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +/* interface at GNB */ +Package TP_GNB { + + Group "8.2 PDU Session Management Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_01 + + Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE SETUP REQUEST containing mandatory IEs and answers with PDU SESSION RESOURCE SETUP RESPONSE for successfully established PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.1.2, 9.2.1.1 and 9.2.1.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer containing + UL_NG_U_UP_TNL, + PDU_SessionType, + QoSFlowSetupRequestList containing + QoSFlowSetupRequestItem containing + QoSFlowIndicator, + QoSFlowLevelQoSParameters;;;;;; + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Response_List containing + PDU_Session_Resource_Setup_Response_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Setup_Response_Transfer containing + DL_QoS_Flow_per_TNL_Information;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_01 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_02 + + Test objective "Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST containing several PDU Session ID IEs set to the same value." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.1.4, 9.2.1.1 and 9.2.1.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer containing + UL_NG_U_UP_TNL, + PDU_SessionType, + QoSFlowSetupRequestList containing + QoSFlowSetupRequestItem containing + QoSFlowIndicator, + QoSFlowLevelQoSParameters;;;;, + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer containing + UL_NG_U_UP_TNL, + PDU_SessionType, + QoSFlowSetupRequestList containing + QoSFlowSetupRequestItem containing + QoSFlowIndicator, + QoSFlowLevelQoSParameters;;;;;; + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Failed_to_Setup_List containing + DU_Session_Resource_Failed_to_Setup_Item containing + PDU_SessionId, + PDU_Session_Resource_Setup_Unsuccessful_Transfer containing + Cause indicating value MultiplePDUSessionIDInstances;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_02 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_03 + + Test objective "Verify that the NG-RAN node reports the establishment of the new PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST containing a PDU Session ID IE set to value that identifies an active PDU Session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.1.4, 9.2.1.1 and 9.2.1.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedPDUsessionWithSameId + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer containing + UL_NG_U_UP_TNL, + PDU_SessionType, + QoSFlowSetupRequestList containing + QoSFlowSetupRequestItem containing + QoSFlowIndicator, + QoSFlowLevelQoSParameters;;;;;; + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Failed_to_Setup_List containing + DU_Session_Resource_Failed_to_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Setup_Unsuccessful_Transfer containing + Cause indicating value MultiplePDUSessionIDInstances;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_03 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_04 + + Test objective "Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST containing a QoS Flow Setup Request List IE in the PDU Session Resource Setup Request Transfer IE including at least one Non-GBR QoS flow but the PDU Session Aggregate Maximum Bit Rate IE is not present. " + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.1.4, 9.2.1.1 and 9.2.1.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer containing + UL_NG_U_UP_TNL, + PDU_SessionType, + QoSFlowSetupRequestList containing + QoSFlowSetupRequestItem containing + QoSFlowIndicator indicating value Non_GBR_QoS, + QoSFlowLevelQoSParameters;;;;;, + not UEAggregateMaximumBitRate; + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Failed_to_Setup_List containing + DU_Session_Resource_Failed_to_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Setup_Unsuccessful_Transfer containing + Cause indicating value InvalidQoSCombination;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_04 + + //TODO:possible to add 2 tests from 8.2.1.4 paragraph 4 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_05 + + Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND containing mandatory IEs and answers with PDU SESSION RESOURCE RELEASE RESPONSE to release PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.2.2, 9.2.1.3 and 9.2.1.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_RELEASE_COMMAND containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_To_Release_List containing + PDU_Session_Resource_To_Release_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Release_Command_Transfer containing + Cause indicating value PX_Cause;;;; //normal_release + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_RELEASE_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Released_List containing + PDU_Session_Resource_Released_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Release_Response_Transfer;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_05 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_06 + + Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND containing multiple PDU Session ID IEs set to the same value and ignore the duplication." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.2.2, 9.2.1.3 and 9.2.1.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_RELEASE_COMMAND containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_To_Release_List containing + PDU_Session_Resource_To_Release_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Release_Command_Transfer containing + Cause indicating value PX_Cause; //normal_release + ;, + PDU_Session_Resource_To_Release_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Release_Command_Transfer containing + Cause indicating value PX_Cause;;;; //normal_release + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_RELEASE_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Released_List containing + PDU_Session_Resource_Released_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Release_Response_Transfer;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_06 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_07 + + Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE MODIFY REQUEST containing mandatory IEs and answers with PDU SESSION RESOURCE MODIFY RESPONSE for successfully modified PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.3.2, 9.2.1.5 and 9.2.1.6" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_MODIFY_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Request_List containing + PDU_Session_Resource_Modify_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Request_Transfer containing +// UL_NG_U_UP_TNL_Modify_List containing +// UL_NG_U_UP_TNL_Modify_Item containing +// UL_NG_U_UP_TNL_Information +// DL_NG_U_UP_TNL_Information +// ; +// ;, + QoSFlowAddorModifyRequestList containing + QoSFlowAddorModifyRequestItem containing + QoSFlowIdentifier;;;;;; + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_MODIFY_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Response_List containing + PDU_Session_Resource_Modify_Response_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Response_Transfer containing + QoSFlowAddorModifyResponsetList containing + QoSFlowAddorModifyResponsetItem containing + QoSFlowIdentifier;;;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_07 + + //TODO:possible to add tests from 8.2.3.4 for failed actions + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_08 + + Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_NOTIFY that already established QoS flow or PDU session for given UE are released." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.4.2 and 9.2.1.7" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU session resource notify procedure + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_NOTIFY containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Notify_List containing + PDU_Session_Resource_Notify_Item;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_08 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_09 + + Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_INDICATION to request modification of established PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.5.2 and 9.2.1.8" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU session resource modify indicationy procedure + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_MODIFY_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Indication_List containing + PDU_Session_Resource_Modify_Indication_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Indication_Transfer containing + DLQoSFlowperTNLInformation;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_09 + + Test Purpose { + + TP Id TP_NGAP_GNB_PDU_10 + + Test objective "Verify that the NG-RAN node reports the modification of the corresponding PDU session as failed if a PDU SESSION RESOURCE MODIFY REQUEST contains several PDU Session ID IEs set to the same value." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.3.4, 9.2.1.5 and 9.2.1.6" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/1_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedPDUsession + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PDU_SESSION_RESOURCE_MODIFY_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Modify_Request_List containing + PDU_Session_Resource_Modify_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Request_Transfer containing + QoSFlowAddorModifyRequestList containing + QoSFlowAddorModifyRequestItem containing + QoSFlowIdentifier;;;;;, + PDU_Session_Resource_Modify_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Request_Transfer containing + QoSFlowAddorModifyRequestList containing + QoSFlowAddorModifyRequestItem containing + QoSFlowIdentifier;;;;; + from the AMF entity + } + then { + the IUT entity sends a PDU_SESSION_RESOURCE_MODIFY_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Failed_to_Modify_Response_List containing + PDU_Session_Resource_Failed_to_Modify_Response_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Modify_Unsuccessful_Transfer containing + Cause indicating value MultiplePDUSessionIDInstances;;;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PDU_10 + + } // end Group 8.2 PDU Session Management Procedures + + Group "8.3 UE Context Management Procedures" + { + import all from Ngap_Common; + + Group "Initial Context Setup" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_01 + + Test objective "Verify that the NG-RAN node successfully processes an INITIAL CONTEXT SETUP REQUEST containing optional PDU Session Resource Setup Request List field mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2, 9.2.2.1 and 9.2.2.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key; + from the AMF entity + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Response_List containing + PDU_SessionId, + PDU_Session_Resource_Setup_Response_Transfer;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_01 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_02 + + Test objective "Verify that the NG-RAN node successfully processes an INITIAL CONTEXT SETUP REQUEST containing mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2, 9.2.2.1 and 9.2.2.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key; + from the AMF entity + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_02 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_03 + + Test objective "Verify that the NG-RAN node successfully processes an INITIAL CONTEXT SETUP REQUEST with optional field Trace Activation and answers with an INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2, 9.2.2.1 and 9.2.2.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms + ;, + Security_Key, + Trace_Activation containing + NG_RAN_Trace_ID, + Interfaces_to_Trace, + Trace_Depth, + Trace_Collection_Entity_IP_Address;; + from the AMF entity + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Response_List containing + PDU_SessionId, + PDU_Session_Resource_Setup_Response_Transfer;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_03 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_04 + + Test objective "Verify that the NG-RAN node successfully processes an INITIAL CONTEXT SETUP REQUEST with optional field Mobility Restriction List and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2, 9.2.2.1 and 9.2.2.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key, + Mobility_Restriction_List containing + Serving_PLMN;; + from the AMF entity + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Response_List containing + PDU_SessionId, + PDU_Session_Resource_Setup_Response_Transfer;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_04 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_05 + + Test objective "Verify that the NG-RAN node successfully processes an INITIAL CONTEXT SETUP REQUEST with different optional fields and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2, 9.2.2.1 and 9.2.2.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key, + UE_Radio_Capability, + Index_to_RAT_Frequency_Selection_Priority, + Masked_IMEISV, + NAS_PDU, + Emergency_Fallback_Indicator, + RRC_Inactive_Transition_Report_Request, + Redirection_for_Voice_EPS_Fallback, + Location_Reporting_Request_Type containing + Event_Type, + Report_Area;, + SRVCC_Operation_Possible, + IAB_Authorized, + Enhanced_Coverage_Restriction, + Extended_Connected_Time, + UE Differentiation Information containing + Periodic_Communication_Indicator, + Periodic_Time;, + NR_UE_Sidelink_Aggregate_Maximum_Bit_Rate, + LTE_UE_Sidelink_Aggregate_Maximum_Bit_Rate, + UE_Radio_Capability_ID; + from the AMF entity + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Setup_Response_List containing + PDU_SessionId, + PDU_Session_Resource_Setup_Response_Transfer;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_05 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_06 + + Test objective "Verify that the NG-RAN node successfully processes an INITIAL CONTEXT SETUP REQUEST containing mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with failed PDU session." + + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2, 9.2.2.1 and 9.2.2.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedContextInproperly + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + PDU_Session_Resource_Setup_Request_Transfer;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Key; + from the AMF entity + } + then { + the IUT entity sends an INITIAL_CONTEXT_SETUP_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Failed_to_Setup_List containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Setup_Unsuccessful_Transfer;; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_06 + } // end Group Initial Context Setup + + Group "UE Context Release (NG-RAN node initiated)" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_07 + + Test objective "Verify that the NG-RAN node successfully requests the AMF to release the UE-associated logical NG-connection." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.2.2 and 9.2.2.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE context release request + } + then { + the IUT entity sends a UE_CONTEXT_RELEASE_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + to the AMF entity + } + + } + + } // End TP TP_NGAP_GNB_CMP_07 + + } // End Group "UE Context Release (NG-RAN node initiated)" + + Group "UE Context Release (AMF initiated)" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_08 + + Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT RELEASE COMMAND that contains both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE and answers with UE CONTEXT RELEASE COMPLETE with successfully release UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.3, 9.2.2.6 and 9.2.2.5" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_RELEASE_COMMAND containing + CHOICE_UE_NGAP_IDs containing + UE_NGAP_ID_pair containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID;;; + from the AMF entity + } + then { + the IUT entity sends a UE_CONTEXT_RELEASE_COMPLETE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_08 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_09 + + Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT RELEASE COMMAND where only the AMF UE NGAP ID IE is available and answers with UE CONTEXT RELEASE COMPLETE with successfully release UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.3, 9.2.2.6 and 9.2.2.5" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_RELEASE_COMMAND containing + CHOICE_UE_NGAP_IDs containing + AMF_UE_NGAP_ID containing + AMF_UE_NGAP_ID;;; + from the AMF entity + } + then { + the IUT entity sends a UE_CONTEXT_RELEASE_COMPLETE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_09 + + } // End Group "UE Context Release (AMF initiated)" + + Group "UE Context Modification" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_10 + + Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST containing mandatory IEs and answers with UE CONTEXT MODIFICATION FAILURE because the UE is no longer available." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.3, 9.2.2.7 and 9.2.2.9" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_4 + + Initial conditions with { + the UE entity isNoLongerAvailable + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_MODIFICATION_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + from the AMF entity + } + then { + the IUT entity sends a UE_CONTEXT_MODIFICATION_FAILURE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_10 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_11 + + Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST containing mandatory IEs after the preparation of a handover and answers with UE CONTEXT MODIFICATION RESPONSE with successfully modify UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.2, 9.2.2.7 and 9.2.2.8" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_MODIFICATION_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + from the AMF entity + } + then { + the IUT entity sends a UE_CONTEXT_MODIFICATION_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_11 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_12 + + Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST containing optional fields Security Key and Security Capabilities and answers with UE CONTEXT MODIFICATION RESPONSE with successfully modify UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.2, 9.2.2.7 and 9.2.2.8" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_MODIFICATION_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Security_Key, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;; + from the AMF entity + } + then { + the IUT entity sends a UE_CONTEXT_MODIFICATION_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_12 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_13 + + Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST containing different optional fields and answers with UE CONTEXT MODIFICATION RESPONSE with successfully modify UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.2, 9.2.2.7 and 9.2.2.8" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_CONTEXT_MODIFICATION_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RAN_Paging_Priority, + Index_to_RAT_Frequency_Selection_Priority, + UE_Aggregate_Maximum_Bit_Rate containing + UE_Aggregate_Maximum_Bit_Rate_Downlink, + UE_Aggregate_Maximum_Bit_Rate_Uplink;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Emergency_Fallback_Indicator, + New_GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + IAB_Authorized, + PC5_QoS_Parameters containing + PC5_QoS_Flow_List containing + PC5_QoS_Flow_Item containing + PQI;;;, + UE_Radio_Capability_ID, + RG_Level_Wireline_Access_Characteristics; + from the AMF entity + } + then { + the IUT entity sends a UE_CONTEXT_MODIFICATION_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_13 + + } // end Group UE Context Modification + + Group "RRC Inactive Transition Report" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_14 + + Test objective "Verify that the IUT can send an RRC INACTIVE TRANSITION REPORT that contains mandatory IEs" + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.5 and 9.2.2.10" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/2_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity isTransitioningTo the RRC_INACTIVE + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an RRC inactive transition report + } + then { + the IUT entity sends an RRC_INACTIVE_TRANSITION_REPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RRC_State, + User_Location_Information; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_14 + + } // End Group "RRC Inactive Transition Report" + + Group "RAN CP Relocation Indication" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_15 + + Test objective "Verify that the IUT can send a RAN CP Relocation Indication that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.8.2 and 9.2.2.13" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1_2 and PICS_A3/2_8 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a RAN CP relocation indication procedure + } + then { + the IUT entity sends a RAN_CP_RELOCATION_INDICATION containing + RAN_UE_NGAP_ID, + 5G_S_TMSI containing + AMF_Set_ID, + AMF_Pointer, + 5G_TMSI;, + E_ULTRA_CGI containing + PLMN_Identity, + E_UTRA_Cell_Identity;, + TAI containing + PLMN_Identity, + TAC;, + UL_CP_Security_Information containing + UL_NAS_MAC, + UL_NAS_Count;; + to the AMF entity + } + + } + + } // End TP TP_NGAP_GNB_CMP_15 + + } // End Group "RAN CP Relocation Indication" + + Group "UE Context Suspend" + { + import all from Ngap_Common; + + Test Purpose { + + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_GNB_CMP_16 + + Test objective "Verify that the IUT can send a UE CONTEXT SUSPEND REQUEST containing mandatory IEs" + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.11.2 and 9.2.2.16" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1_2 and PICS_A3/2_11 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE context suspend request + } + then { + the IUT entity sends a UE_CONTEXT_SUSPEND_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_16 + + }// end Group UE Context Suspend + + Group "UE Context Resume" + { + import all from Ngap_Common; + + Test Purpose { + + // This TP applies only if the NG-RAN node is an ng-eNB + TP Id TP_NGAP_GNB_CMP_17 + + Test objective "Verify that the IUT can send a UE CONTEXT RESUME REQUEST containing mandatory IEs" + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.12.2 and 9.2.2.19" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1_2 and PICS_A3/2_12 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasSuspendedContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a UE context resume request + } + then { + the IUT entity sends a UE_CONTEXT_RESUME_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RRC_Resume_Cause; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_17 + + } // End Group "UE Context Resume" + + } // end Group 8.3 UE Context Management Procedures + + Group "8.4 UE Mobility Management Procedures" + { + + Group "Handover Preparation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_01 + + Test objective "Verify that the IUT can send a HANDOVER REQUIRED message containing mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.1.2 and 9.2.3.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Handover Required procedure" + } + then { + the IUT entity sends a HANDOVER_REQUIRED containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Handover_Typ, + Cause, + Target_ID, + PDU_Session_Resource_List containing + PDU_Session_Resource_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Required_Transfer;;, + Source_to_Target_Transparent_Container; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_01 + + } // End Group "Handover Preparation" + + Group "Handover Resource Allocation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_02 + + Test objective "Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.2.2, 9.2.3.4, 9.2.3.5, 9.3.4.1 and 9.3.4.11" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUEST containing + AMF_UE_NGAP_ID, + Handover_Typ, + Cause, + UE_Aggregate_Maximum_Bit_Rate, // 9.3.1.58 + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Context containing + Next_Hop_Chaining_Count, + Next_Hop_NH;, + PDU_Session_Resource_Setup_List containing + PDU_Session_Resource_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + Handover_Request_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + PDU_Session_Type, + QoS_Flow_Setup_Request_List containing + QoS_Flow_Setup_Request_Item containing + QoS_Flow_Identifier, + QoS_Flow_Level_QoS_Parameter;;;;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + Source_to_Target_Transparent_Container, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;; + from the AMF entity + } + then { + the IUT entity sends a HANDOVER_REQUEST_ACKNOWLEDGE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Admitted_List containing + PDU_Session_Resource_Admitted_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Request_Acknowledge_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + QoS_Flow_Setup_Response_List containing + QoS_Flow_Item_with_Data_Forwarding containing + QoS_Flow_Identifier;;;;, + Target_to_Source_Transparent_Container;; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_02 + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_03 + + Test objective "Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST FAILURE because the UE is not longer available." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.2.3, 9.2.3.4, 9.2.3.6 and 9.3.4.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_2 + + Initial conditions with { + the UE entity isNoLongerAvailable + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUEST containing + AMF_UE_NGAP_ID, + Handover_Typ, + Cause, + UE_Aggregate_Maximum_Bit_Rate containing + UE_Aggregate_Maximum_Bit_Rate_Downlink, + UE_Aggregate_Maximum_Bit_Rate_Uplink;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Context containing + Next_Hop_Chaining_Count, + Next_Hop_NH;, + PDU_Session_Resource_Setup_List containing + PDU_Session_Resource_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + Handover_Request_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + PDU_Session_Type, + QoS_Flow_Setup_Request_List containing + QoS_Flow_Setup_Request_Item containing + QoS_Flow_Identifier, + QoS_Flow_Level_QoS_Parameter;;;;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + Source_to_Target_Transparent_Container, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;; + from the AMF entity + } + then { + the IUT entity sends a HANDOVER_FAILURE containing + AMF_UE_NGAP_ID, + Cause; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_03 + + // TP covers important optional IE. Can be used as blueprint to create further TPs or reduce the optional IEs within this TP. + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_04 + + Test objective "Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.2.2, 9.2.3.4, 9.2.3.5, 9.3.4.1 and 9.3.4.11" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUEST containing + AMF_UE_NGAP_ID, + Handover_Typ, + Cause, + UE_Aggregate_Maximum_Bit_Rate containing + UE_Aggregate_Maximum_Bit_Rate_Downli;, + Core_Network_Assistance_Information_for_RRC_INACTIVE containing + UE_Identity_Index_Value containing + CHOICE_UE_Identity_Index_Value containing + Index_Length_10 containing + Index_Length_10;;;, + Periodic_Registration_Update_Timer, + TAI_List_for_RRC_Inactive containing + TAI_List_for_RRC_Inactive_Item containing + TAI containing + PLMN_Identity, + TAC;;;;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Context containing + Next_Hop_Chaining_Count, + Next_Hop_NH;, + New_Security_Context_Indicator, + NASC containing + NAS_PDU;, + PDU_Session_Resource_Setup_List containing + PDU_Session_Resource_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + Handover_Request_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + PDU_Session_Type, + QoS_Flow_Setup_Request_List containing + QoS_Flow_Setup_Request_Item containing + QoS_Flow_Identifier, + QoS_Flow_Level_QoS_Parameter;;;;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + Trace_Activiation containing + NG_RAN_TRACE_ID, + Interfaces_to_Trace, + Trace_Depth, + Trace_Collection_Entity_IP_Address containing + Transport_Layer_Address;;, + Source_to_Target_Transparent_Container, + RRC_Inactive_Transition_Report_Request, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;, + Redirection_for_Voice_EPS_Fallback, + CN_Assisted_RAN_Parameters_Tuning, + SRVCC_Operation_Possible, + Enhanced_Coverage_Restriction, + UE_Differentiation_Information, + NR_V2X_Services_Authorized, + LTE_V2X_Services_Authorized, + NR_UE_Sidelink_Aggregate_Maximum_Bit_Rate, + LTE_UE_Sidelink_Aggregate_Maximum_Bit_Rate, + PC5_QoS_Parameters containing + PC5_QoS_Flow_List containing + PC5_QoS_Flow_Item containing + PQI, + PC5_Flow_Bit_Rates containing + Guaranteed_Flow_Bit_Rate, + Maximum_Flow_Bit_Rate;;;;, + CE_mode_B_Restricted, + UE_User_Plane_CIoT_Support_Indicator, + Management_Based_MDT_PLMN_List containing + PLMN_Identity;, + UE_Radio_Capability_ID, + Extended_Connected_Time; + from the AMF entity + } + then { + the IUT entity sends a HANDOVER_REQUEST_ACKNOWLEDGE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Admitted_List containing + PDU_Session_Resource_Admitted_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Request_Acknowledge_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + QoS_Flow_Setup_Response_List containing + QoS_Flow_Item_with_Data_Forwarding containing + QoS_Flow_Identifier;;;;, + Target_to_Source_Transparent_Container;; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_04 + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_05 + + Test objective "Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs within the Handover Request Transfer IEs and answers with correct HANDOVER REQUEST ACKNOWLEDGE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.2.2, 9.2.3.4, 9.2.3.5, 9.3.4.1 and 9.3.4.11" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUEST containing + AMF_UE_NGAP_ID, + Handover_Typ, + Cause, + UE_Aggregate_Maximum_Bit_Rate containing + UE_Aggregate_Maximum_Bit_Rate_Downlink, + UE_Aggregate_Maximum_Bit_Rate_Uplink;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Context containing + Next_Hop_Chaining_Count, + Next_Hop_NH;, + PDU_Session_Resource_Setup_List containing + PDU_Session_Resource_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + Handover_Request_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + Data_Forwarding_Not_Possible indicating value "data forwarding not possible", + Security_Indication containing + Integrity_Protection_Indication indicating value preferred, + Confidentiality_Protection_Indication indicating value preferred, + Maximum_Integrity_Protected_Data_Rate_Uplink indicating value max_UE_rate;, + PDU_Session_Type, + QoS_Flow_Setup_Request_List containing + QoS_Flow_Setup_Request_Item containing + QoS_Flow_Identifier, + QoS_Flow_Level_QoS_Parameter;;;;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + Source_to_Target_Transparent_Container, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;; + from the AMF entity + } + then { + the IUT entity sends a HANDOVER_REQUEST_ACKNOWLEDGE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Admitted_List containing + PDU_Session_Resource_Admitted_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Request_Acknowledge_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + DL Forwarding UP TNL Information containing //may not be present because Data_Forwarding_Not_Possible is set to "data forwarding not possible" + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + Security_Result containing + Integrity_Protection_Result indicating value performed, // "not performed" might be fine as well, because indication is set to "preferred" + Confidentiality_Protection_Result indicating value performed;, // "not performed" might be fine as well, because indication is set to "preferred" + QoS_Flow_Setup_Response_List containing + QoS_Flow_Item_with_Data_Forwarding containing + QoS_Flow_Identifier;;;;, + Target_to_Source_Transparent_Container;; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_05 + + // The TP cover intra-system handover (e.g. from 4G to 5G). + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_06 + + Test objective "Verify that the GNB node successfully processes a HANDOVER REQUEST message for an intra-system handover and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.2.2, 9.2.3.4, 9.2.3.5, 9.3.4.1 and 9.3.4.11" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HANDOVER_REQUEST containing + AMF_UE_NGAP_ID, + Handover_Typ, + Cause, + UE_Aggregate_Maximum_Bit_Rate containing + UE_Aggregate_Maximum_Bit_Rate_Downlink, + UE_Aggregate_Maximum_Bit_Rate_Uplink;, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + Security_Context containing + Next_Hop_Chaining_Count, + Next_Hop_NH;, + PDU_Session_Resource_Setup_List containing + PDU_Session_Resource_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI containing + SST;, + Handover_Request_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + PDU_Session_Type, + QoS_Flow_Setup_Request_List containing + QoS_Flow_Setup_Request_Item containing + QoS_Flow_Identifier, + QoS_Flow_Level_QoS_Parameter;;, + Direct_Forwarding_Path_Availability indicating value "direct path available";;;, + Allowed_NSSAI containing + Allowed_NSSAI_List containing + Allowed_NSSAI_Item containing + S_NSSAI containing + SST;;;;, + Source_to_Target_Transparent_Container containing + RRC_Container, + PDU_Session_Resource_Information_List containing + PDU_Session_Resource_Information_Item containing + PDU_Session_ID indicating value PX_PDU_ID, + QoS_Flow_Information_List containing + QoS_Flow_Information_Item containing + QoS_Flow_Identifier, + DL_Forwarding indicating value "DL forwarding proposed", + UL_Forwarding indicating value "UL forwarding proposed";;;;, + Target_Cell_ID containing + CHOICE_NG_RAN_CGI containing // other choice E-UTRA could be another case + NR containing + NR_CGI;;;, + UE_History_Information containing + CHOICE_UE_History_Information_from_UE containing // other choice E-UTRA could be another case + NR containing + NR_Mobility_History_Report;;;;, + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;; + from the AMF entity + } + then { + the IUT entity sends a HANDOVER_REQUEST_ACKNOWLEDGE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Admitted_List containing + PDU_Session_Resource_Admitted_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Handover_Request_Acknowledge_Transfer containing + DL_NG_U_UP_TNL_Information containing + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + DL_Forwarding_UP_TNL_Information containing // because of DL_Forwarding indicating value "DL forwarding proposed" + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;, + QoS_Flow_Setup_Response_List containing + QoS_Flow_Item_with_Data_Forwarding containing + QoS_Flow_Identifier;;, + UL_Forwarding_UP_TNL_Information containing // because of UL_Forwarding indicating value "UL forwarding proposed" + CHOICE_UP_Transport_Layer_Information containing + GTP_tunnel containing + Endpoint_IP_Address;;;;;, + Target_to_Source_Transparent_Container;; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_06 + + } // End Group "Handover Resource Allocation" + + Group "Handover Notification" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_07 + + Test objective "Verify that the AMF node successfully sends a HANDOVER NOTIFICATION message that contains mandatory IEs to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.3.2 and 9.2.3.7" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Handover Notify procedure" + } + then { + the IUT entity sends a HANDOVER_NOTIFY containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + User_Location_Information; + to the AMF entity + } + + } + + } // End TP_NGAP_GNB_MMP_07 + + } // End Group "Handover Notification" + + Group "Path Switch Request" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_08 + + Test objective "Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.4.2 and 9.2.3.8" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity hasEstablishedInitialContext + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Path Switch Request procedure" + } + then { + the IUT entity sends a PATH_SWITCH_REQUEST containing + RAN_UE_NGAP_ID, + Source_AMF_UE_NGAP_ID, + User_Location_Information, + UE_Security_Capabilities containing + NR_Encryption_Algorithms, + NR_Integrity_Protection_Algorithms, + E_UTRA_Encryption_Algorithms, + E_UTRA_Integrity_Protection_Algorithms;, + PDU_Session_Resources_to_be_Switched_in_Downlink_List containing + PDU_Session_Resources_to_be_Switched_in_Downlink_Item containing + PDU_SessionId indicating value PX_PDU_ID, + Path_Switch_Request_Transfer;;; + to the AMF entity + } + + } + + } // End TP_NGAP_GNB_MMP_08 + + } // End Group "Path Switch Request" + + Group "Handover Cancellation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_09 + + Test objective "Verify that the GNB node successfully sends a HANDOVER CANCEL message that contains mandatory IEs to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.5.2 and 9.2.3.11" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Handover Cancel procedure" + } + then { + the IUT entity sends a HANDOVER_CANCEL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause; + to the AMF entity + } + } + + } // End TP_NGAP_GNB_MMP_09 + } // End Group "Handover Cancellation" + + Group "Uplink RAN Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_10 + + Test objective "Verify that the NG-RAN node successfully send a UPLINK RAN STATUS TRANSFER message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.6.2 and 9.2.3.13" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_6 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a UE Uplink RAN Status Transfer procedure" + } + then { + the IUT entity sends a UPLINK_RAN_STATUS_TRANSFER containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + RAN_Status_Transfer_Transparent_Container; + to the AMF entity + } + + } + } // End TP_NGAP_GNB_MMP_10 + } // End Group "Uplink RAN Status Transfer" + + + Group "Uplink RAN Early Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_11 + + Test objective "Verify that the NG-RAN node successfully sends a UPLINK RAN EARLY STATUS TRANSFER message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.9.2 and 9.2.3.16" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/3_9 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the GNB entity alreadyPreparedHandover + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of an Uplink RAN Early Status Transfer" + } + then { + the IUT entity sends a UPLINK_RAN_EARLY_STATUS_TRANSFER containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Early_Status_Transfer_Transparent_Container; + to the AMF entity + } + } + } // End TP_NGAP_GNB_MMP_11 + + } // End Group "Uplink RAN Early Status Transfer" + + } // End Group "8.4 UE Mobility Management Procedures" + + Group "8.6 Transport of NAS Messages Procedures" + { + Group "Initial UE Message" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_NAS_01 + + Test objective "Verify that the IUT can send an INITIAL UE MESSAGE to indicate the initiation of a NAS Transport procedure" + + Reference + "ETSI TS 138 413 [1], Clauses 8.6.1.2 and 9.2.5.1" , + "ETSI TS 123 502 [6], Clause 4.24.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/5_1 + + Initial conditions with { + the UE entity isCMIDLE and + the UE entity hasEstablishedRRCConnection + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a NAS Transport procedure" + } + then { + the IUT entity sends an INITIAL_UE_MESSAGE containing + RAN_UE_NGAP_ID, + NAS_PDU, + User_Location_Information, + RRC_Establishmnet_Cause; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_NAS_01 + } // end "Initial UE Message" + + Group "Uplink NAS Transport" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_NAS_02 + + Test objective "Verify that the IUT can send an UPLINK NAS TRANSPORT message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.6.3.2 and 9.2.5.3", + "ETSI TS 123 502 [6], Clause 4.24.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/5_3 + + Initial conditions with { + the UE entity isCMCONNECTED in the GNB entity + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an RRC_UL_MESSAGE + from the UE entity + } + then { + the IUT entity sends an UPLINK_NAS_TRANSPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NAS_PDU, + User_Location_Information; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_NAS_02 + + } // end "Uplink NAS Transport" + + Group "NAS Non Delivery Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_NAS_03 + + Test objective "Verify that the IUT can send a NAS NON DELIVERY INDICATION message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.6.4.2 and 9.2.5.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/5_4 + + Initial conditions with { + the UE entity isNoLongerAvailable to the GNB entity + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a NAS Non Delivery Indication procedure" + } + then { + the IUT entity sends a NAS_NON_DELIVERY_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NAS_PDU, + Cause; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_NAS_03 + + } // end "NAS Non Delivery Indication" + + } // end Group "8.6 Transport of NAS Messages Procedures" + + Group "8.7 Interface Management Procedures" + { + Group "NG Setup" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_IMP_01 + + Test objective "Verify that the GNB node successfully sends an NG SETUP REQUEST message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.1.2 and 9.2.6.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/6_1 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of an NG SETUP REQUEST" + } + then { + the IUT entity sends an NG_SETUP_REQUEST containing + Global_RAN_Node_ID, + Supported_TA_List containing + Supported_TA_Item containing + TAC, + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;;, + Default_Paging_DRX; + to the AMF entity + } + } + } // end TP TP_NGAP_GNB_IMP_01 + } // End Group "NG Setup" + + Group "RAN Configuration Update" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_IMP_02 + + Test objective "Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.2.2 and 9.2.6.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/2 and PICS_A3/6_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a RAN CONFIGURATION UPDATE procedure" + } + then { + the IUT entity sends a RAN_CONFIGURATION_UPDATE containing + Supported_TA_List containing + Supported_TA_Item containing + TAC, + Broadcast_PLMN_List containing + Broadcast_PLMN_Item containing + PLMN_Identity, + TAI_Slice_Support_List containing + S_NSSAI containing + SST;;;;;;; + to the AMF entity + } + } + } // End TP_NGAP_GNB_IMP_02 + } // End Group RAN Configuration Update + + Group "AMF Configuration Update" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_IMP_03 + + Test objective "Verify that the GNB node successfully processes an AMF CONFIGURATION UPDATE message with AMF CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.3.2, 9.2.6.7 aqnd 9.2.6.8" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/6_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity isCMIDLE and + the UE entity hasReceivedPAGINGMessage + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an AMF_CONFIGURATION_UPDATE containing + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List containing + S_NSSAI containing + SST;;;;, + AMF_TNL_Association_to_Add_List containing + AMF_TNL_Association_to_Add_item containing + AMF_TNL_Association_Address, + TNL_Address_Weight_Factor;;, + AMF_TNL_Association_to_Update_List containing + AMF_TNL_Association_to_Update_Item containing + AMF_TNL_Association_Address;;; + from the AMF entity + } + then { + the IUT entity sends an AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE containing + AMF_TNL_Association_Setup_List containing + AMF_TNL_Association_Setup_Item containing + AMF_TNL_Association_Address;;; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_IMP_03 + + Test Purpose { + + TP Id TP_NGAP_GNB_IMP_04 + + Test objective "Verify that the GNB node can send an AMF CONFIGURATION UPDATE FAILURE." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.3.2, 9.2.6.7 aqnd 9.2.6.9" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/6_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity isCMIDLE and + the UE entity hasReceivedPAGINGMessage + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an AMF_CONFIGURATION_UPDATE containing + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI containing + PLMN_Identity, + AMF_Region_ID, + AMF_Set_ID, + AMF_Pointer;;;, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, // Implementation Note: Incorrect PLMN ID: The PLMN ID in the message does not match the PLMN ID of the GNB. + Slice_Support_List containing + S_NSSAI containing + SST;;;;, + AMF_TNL_Association_to_Add_List containing + AMF_TNL_Association_to_Add_item containing + AMF_TNL_Association_Address, + TNL_Address_Weight_Factor;;, + AMF_TNL_Association_to_Update_List containing + AMF_TNL_Association_to_Update_Item containing + AMF_TNL_Association_Address;;; + from the AMF entity + } + then { + the IUT entity sends an AMF_CONFIGURATION_UPDATE_FAILURE containing + Cause; + to the AMF entity + } + } + } // end TP TP_NGAP_GNB_IMP_04 + + } //End Group AMF Configuration Update + + Group "NG Reset" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_IMP_05 + + Test objective "Verify that the GNB node successfully processes an NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.4.2.1, 9.2.6.11 and 9.2.6.12" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/6_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF and + the UE entity isRequestedToDetachfromNetwork + } + + Expected behaviour + ensure that { + when { + the IUT entity receives an NG_RESET containing + Cause, + CHOICE_Reset_Type containing + NG_interface containing + Reset_All;;; + from the AMF entity + } + then { + the IUT entity sends an NG_RESET_ACKNOWLEDGE + to the AMF entity + } + } + } // end TP TP_NGAP_GNB_IMP_05 + + } // End Group NG Reset + + Group "Error Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_IMP_06 + + Test objective "Verify that the GNB can send an ERROR INDICATION to the AMF when an error occurs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.5.2 and 9.2.6.13" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/6_5 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an ERROR INDICATION + } + then { + the IUT entity sends an ERROR_INDICATION + to the AMF entity + } + } + } // end TP_NGAP_GNB_IMP_06 + } // End Group Error Indication + } // End Group "8.7 Interface Management Procedures" + + Group "8.8 Configuration Transfer Procedure" + { + Group "Uplink RAN Configuration Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CTP_01 + + Test objective "Verify that the IUT can send an Uplink RAN Configuration Transfer message to transfer RAN configuration information to the AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.8.1 and 9.2.7.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/7_1 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of an Uplink RAN Configuration Transfer" + } + then { + the IUT entity sends an UPLINK_RAN_CONFIGURATION_TRANSFER + to the AMF entity + } + } + } // end TP_NGAP_GNB_CTP_01 + } // end "Uplink RAN Configuration Transfer" + } // end Group "8.8 Configuration Transfer Procedure" + + Group "8.9 Warning Message Transmission Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_WTP_01 + + Test objective "Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing mandatory IEs and answers with WRITE-REPLACE WARNING RESPONSE to start broadcasting of warning messages." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.1.2 and 9.2.8.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/8_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a WRITE_REPLACE_WARNING_REQUEST containing + Message_Identifier, + Serial_Number, + Repetition_Period, + Number_of_Broadcasts_Requested; + from the AMF entity + } + then { + the IUT entity sends a WRITE_REPLACE_WARNING_RESPONSE containing + Message_Identifier, + Serial_Number; + to the AMF entity + } + } + } // end TP_NGAP_GNB_WTP_01 + + Test Purpose { + + TP Id TP_NGAP_GNB_WTP_02 + + Test objective "Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing Message Identifier IE and/or Serial Number IE different from those in the warning message being broadcast and if Concurent Warning Message Indicator is not present then IUT node answers with WRITE-REPLACE WARNING RESPONSE and replaces the warning message being broadcast with newly received one for that area." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.1.2 and 9.2.8.2" //paragraph 3 + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/8_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a WRITE_REPLACE_WARNING_REQUEST containing + Message_Identifier indicating value "different from already being broadcasted", + Serial_Number indicating value "different from already being broadcasted", + Repetition_Period, + Number_of_Broadcasts_Requested, + not Concurent_Warning_Message_Indicator; + from the AMF entity + } + then { + the IUT entity sends a WRITE_REPLACE_WARNING_RESPONSE containing + Message_Identifier, + Serial_Number; + to the AMF entity + } + } + } // end TP_NGAP_GNB_WTP_02 + + //TODO:possible to add additional tests from 8.9.1.2 paragraph 4 and on + + Test Purpose { + + TP Id TP_NGAP_GNB_WTP_03 + + Test objective "Verify that the NG-RAN node successfully processes a PWS CANCEL REQUEST containing mandatory IEs and answers with PWS CANCEL RESPONSE to cancel an already ongoing broadcast warning messages in all of the cells in the NG-RAN." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.2.2 and 9.2.8.4" //paragraph 3 + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/8_2 + + Initial conditions with { + the UE entity isNotRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PWS_CANCEL_REQUEST containing + Message_Identifier, + Serial_Number; + from the AMF entity + } + then { + the IUT entity sends a PWS_CANCEL_RESPONSE containing + Message_Identifier, + Serial_Number; + to the AMF entity + } + } + } // end TP_NGAP_GNB_WTP_03 + + //TODO:possible to add additional tests from 8.9.2.2 paragraph 3, 5 and on + + Test Purpose { + + TP Id TP_NGAP_GNB_WTP_04 + + Test objective "Verify that the IUT can send a PWS RESTART INDICATION to inform AMF that PWS information for some or all cells may be reloaded from the CBC if needed." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.3.2 and 9.2.8.5" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/8_3 + + Initial conditions with { + the UE entity isNotRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PWS restart indication + } + then { + the IUT entity sends a PWS_RESTART_INDICATION containing + Cell_List_for_Restart, + Global_RAN_Node_ID, + TAI_List_for_Restart, + Emergency_Area_ID_List_for_Restart; + to the AMF entity + } + } + } // end TP_NGAP_GNB_WTP_04 + + Test Purpose { + + TP Id TP_NGAP_GNB_WTP_05 + + Test objective "Verify that the IUT can send a PWS FAILURE INDICATION to inform AMF that ongoing PWS operation for one or more cells has failed." + + Reference + "ETSI TS 138 413 [1], Clauses 8.9.4.2 and 9.2.8.6" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/8_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PWS failure indication + } + then { + the IUT entity sends a PWS_FAILURE_INDICATION containing + PWS_Failed_Cell_List, + Global_RAN_Node_ID; + to the AMF entity + } + } + } // end TP_NGAP_GNB_WTP_05 + } // end "8.9 Warning Message Transmission Procedures" + + Group "8.10 NRPPa Transport Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_NTP_01 + + Test objective "Verify that the IUT can send an UPLINK_UE_ASSOCIATED_NRPPA_TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + + Reference + "ETSI TS 138 413 [1], Clauses 8.10.2.2 and 9.2.9.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/9_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an NRPPA transport procedure + } + then { + the IUT entity sends an UPLINK_UE_ASSOCIATED_NRPPA_TRANSPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Routing_ID, + NRPPa_PDU; + to the AMF entity + } + } + } // end TP_NGAP_GNB_NTP_01 + + Test Purpose { + + TP Id TP_NGAP_GNB_NTP_02 + + Test objective "Verify that the IUT can send an UPLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + + Reference + "ETSI TS 138 413 [1], Clauses 8.10.2.4 and 9.2.9.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/9_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate an NRPPA transport procedure + } + then { + the IUT entity sends an UPLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT containing + Routing_ID, + NRPPa_PDU; + to the AMF entity + } + } + } // end TP_NGAP_GNB_NTP_02 + + } // end "8.10 NRPPa Transport Procedures" + + Group "8.11 Trace Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_TRP_01 + + Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that Trace Start procedure has failed due to an interaction with handover procedure." + + Reference + "ETSI TS 138 413 [1], Clauses 8.11.1.2, 8.11.2.2, 9.2.10.1 and 9.2.10.2" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/10_1 and PICS_A3/10_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a TRACE_START containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Trace_Activation containing + NG_RAN_Trace_ID, + Interfaces_to_Trace, + Trace_Depth, + Trace_Collection_Entity_IP_Address;; + from the AMF entity + } + then { + the IUT entity sends a TRACE_FAILURE_INDICATIONT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NG_RAN_Trace_ID, + Cause; + to the AMF entity + } + } + } // end TP_NGAP_GNB_TRP_01 + + Test Purpose { + + TP Id TP_NGAP_GNB_TRP_02 + + Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that a Deactivate Trace procedure has failed due to an interaction with handover procedure." + + Reference + "ETSI TS 138 413 [1], Clauses 8.11.2.2, 8.11.3.2, 9.2.10.2 and 9.2.10.3" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/10_2 and PICS_A3/10_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DEACTIVATE_TRACE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NG_RAN_Trace_ID; + from the AMF entity + } + then { + the IUT entity sends a TRACE_FAILURE_INDICATIONT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NG_RAN_Trace_ID, + Cause; + to the AMF entity + } + } + } // end TP_NGAP_GNB_TRP_02 + + Test Purpose { + + TP Id TP_NGAP_GNB_TRP_03 + + Test objective "Verify that the IUT can send a CELL_TRAFFIC_TRACE to send the allocated Trace Recording Session Reference and Trace Reference to AMF." + + Reference + "ETSI TS 138 413 [1], Clauses 8.11.4.2 and 9.2.10.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/10_4 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + + the IUT entity indicate a cell traffic trace procedure + } + then { + the IUT entity sends a CELL_TRAFFIC_TRACE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + NG_RAN_Trace_ID, + NG_RAN_CGI, + Trace_Colection_Entity_IP_Address; + to the AMF entity + } + } + } // end TP_NGAP_GNB_TRP_03 + + } // end "8.11 Trace Procedures" + + Group "8.12 Location Reporting Procedures" + { + Group "Location Reporting Failure Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_LRP_01 + + Test objective "Verify that the IUT can send a LOCATION REPORTING FAILURE INDICATION message after that contains mandatory IEs receiving a LOCATION REPORTING CONTROL message with two identical Location Reporting Reference IDs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.12.2, 9.2.11.1, 9.2.11.2 and 9.3.1.65" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/11_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a LOCATION_REPORTING_CONTROL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Location_Reporting_Request_Type containing + Event_Type indicating value direct, + Report_Area indicating value cell, + Area_of_Interest_List containing + Area_of_Interest_Item containing + Area_of_Interest, + Location_Reporting_Reference_ID indicating value PX_REPORTING_REFERENCE_ID;, + Area_of_Interest_Item containing + Area_of_Interest, + Location_Reporting_Reference_ID indicating value PX_REPORTING_REFERENCE_ID;;;; + from the AMF entity + } + then { + the IUT entity sends a LOCATION_REPORTING_FAILURE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Cause containing + CHOICE_Cause_Group containing + Radio_Network_Layer_Cause indicating value Multiple_Location_Reporting_Reference_ID_instances;;; + to the AMF entity + } + } + } // end TP_NGAP_GNB_LRP_01 + + } // end "Location Reporting Failure Indication" + + Group "Location Report" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_LRP_02 + + Test objective "Verify that the IUT can send a LOCATION REPORT message that contains mandatory IEs to provide the UE's current location." + + Reference + "ETSI TS 138 413 [1], Clauses 8.12.3 and 9.2.11.3" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/11_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a LOCATION_REPORTING_CONTROL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Location_Reporting_Request_Type containing + Event_Type indicating value direct, + Report_Area indicating value cell + ; + ; + from the AMF entity + } + then { + the IUT entity sends a LOCATION_REPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + User_Location_Information, + Location_Reporting_Request_Type; + to the AMF entity + } + } + } // end TP_NGAP_GNB_LRP_02 + + } // end "Location Report" + + } // end "8.12 Location Reporting Procedures" + + Group "8.13 UE TNLA Binding Procedures" + { + + } // end Group "8.13 UE TNLA Binding Procedures" + + Group "8.14 UE Radio Capability Management Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_URP_01 + + Test objective "Verify that the IUT can send a UE_RADIO_CAPABILITY_INFO_INDICATION." + + Reference + "ETSI TS 138 413 [1], Clauses 8.14.1.2 and 9.2.13.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/13_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + + the IUT entity indicate a UE Radio Capability Management procedure + } + then { + the IUT entity sends a UE_RADIO_CAPABILITY_INFO_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + UE_Radio_Capability; + to the AMF entity + } + } + } // end TP_NGAP_GNB_URP_01 + + Test Purpose { + + TP Id TP_NGAP_GNB_URP_02 + + Test objective "Verify that the IUT can send a UE RADIO CAPABILITY CHECK RESPONSE message that contains mandatory IEs to provide the UE radio capabilities." + + Reference + "ETSI TS 138 413 [1], Clauses 8.14.2.2, 9.2.13.2 and 9.2.13.3" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/13_2 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a UE_RADIO_CAPABILITY_CHECK_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID; + from the AMF entity + } + then { + the IUT entity sends a UE_RADIO_CAPABILITY_CHECK_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + IMS_Voice_Support_Indicator; + to the AMF entity + } + } + } // end TP_NGAP_GNB_URP_02 + + Test Purpose { + + TP Id TP_NGAP_GNB_URP_03 + + Test objective "Verify that the IUT can send a UE RADIO CAPABILITY ID MAPPING REQUEST." + + Reference + "ETSI TS 138 413 [1], Clauses 8.14.3.2 and 9.2.13.4" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/13_3 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + + the IUT entity indicate a UE Radio Capability Management procedure + } + then { + the IUT entity sends a UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST containing + UE_Radio_Capability_ID; + to the AMF entity + } + } + } // end TP_NGAP_GNB_URP_03 + + } // end Group "8.14 UE Radio Capability Management Procedures" + + Group "8.15 Data Usage Reporting Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_DRP_01 + + Test objective "Verify that the IUT can send a SECONDARY RAT DATA USAGE REPORT." + + Reference + "ETSI TS 138 413 [1], Clauses 8.15.1.2 and 9.2.14.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/14_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + + the IUT entity indicate a Data_Usage_Reporting_procedure + } + then { + the IUT entity sends a SECONDARY_RAT_DATA_USAGE_REPORT containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Secondary_RAT_Usage_List containing + PDU_Session_Resource_Secondary_RAT_Usage_Item containing + PDU_Session_Id, + Secondary_RAT_Data_Usage_Report_Transfer;;; + to the AMF entity + } + } + } // end TP_NGAP_GNB_DRP_01 + + } // end Group "8.15 Data Usage Reporting Procedures" + + Group "8.16 RIM Information Transfer Procedures" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_RIP_01 + + Test objective "Verify that the IUT can send a UPLINK RIM INFORMATION TRANSFER." + + Reference + "ETSI TS 138 413 [1], Clauses 8.16.1.2 and 9.2.15.1" + + Config Id CF_GNB_N2 + + PICS Selection PICS_A2/1 and PICS_A3/15_1 + + Initial conditions with { + the UE entity isNotRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + + the IUT entity indicate a RIM Information Transfer procedure + } + then { + the IUT entity sends a UPLINK_RIM_INFORMATION_TRANSFER + to the AMF entity + } + } + } // end TP_NGAP_GNB_RIP_01 + + } // end Group "8.16 RIM Information Transfer Procedures" + +} // End of Package TP_GNB diff --git a/titan-test-system-framework b/titan-test-system-framework new file mode 160000 index 0000000000000000000000000000000000000000..6959b8be419f3755de6f888e24bfdc8de07383a7 --- /dev/null +++ b/titan-test-system-framework @@ -0,0 +1 @@ +Subproject commit 6959b8be419f3755de6f888e24bfdc8de07383a7 diff --git a/ttcn/AtsNGAP/NGAP_Pics.ttcn b/ttcn/AtsNGAP/NGAP_Pics.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4706723e9e60ae03b4b7589d9a5111deb51fa591 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_Pics.ttcn @@ -0,0 +1,143 @@ +/** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides PICS for NGAP tests. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module NGAP_Pics { + + group PICS_A2 { + /** + * @desc Does gNB act as the IUT? + * @see ETSI + */ + modulepar boolean PICS_NGAP_GNB_IUT := false; + + /** + * @desc Does AMF act as the IUT? + * @see ETSI + */ + modulepar boolean PICS_NGAP_AMF_IUT := false; + + } // End of group PICS_A2 + + group PICS_A3 { + + modulepar boolean PICS_A3_1_1 := false; //gNB - PDU session management procedure - PDU SESSION RESOURCE SETUP REQUEST + modulepar boolean PICS_A3_1_2 := false; //gNB - PDU session management procedure - PDU SESSION RESOURCE RELEASE COMMAND + modulepar boolean PICS_A3_1_3 := false; //gNB - PDU session management procedure - PDU SESSION RESOURCE MODIFY REQUEST + modulepar boolean PICS_A3_1_4 := false; //gNB - PDU session management procedure - PDU SESSION RESOURCE NOTIFY REQUEST + modulepar boolean PICS_A3_1_5 := false; //gNB - PDU session management procedure - PDU SESSION RESOURCE MODIFY INDICATION + modulepar boolean PICS_A3_2_1 := false; //gnB - UE Context Management Procedures - INITIAL CONTEXT SETUP REQUEST + modulepar boolean PICS_A3_2_2 := false; //gnB - UE Context Management Procedures - UE CONTEXT RELEASE REQUEST + modulepar boolean PICS_A3_2_3 := false; //gnB - UE Context Management Procedures - UE CONTEXT RELEASE COMMAND + modulepar boolean PICS_A3_2_4 := false; //gnB - UE Context Management Procedures - UE CONTEXT MODIFICATION REQUEST + modulepar boolean PICS_A3_2_5 := false; //gnB - UE Context Management Procedures - RRC INACTIVE TRANSITION REPORT + modulepar boolean PICS_A3_2_8 := false; //gnB - UE Context Management Procedures - RAN CP Relocation Indication + modulepar boolean PICS_A3_2_11 := false; //gnB - UE Context Management Procedures - UE CONTEXT SUSPEND REQUEST + modulepar boolean PICS_A3_2_12 := false; //gnB - UE Context Management Procedures - UE CONTEXT RESUME REQUEST + modulepar boolean PICS_A3_3_1 := false; //gnB - UE Mobility Management Procedures - HANDOVER REQUIRED + modulepar boolean PICS_A3_3_2 := false; //gnB - UE Mobility Management Procedures - HANDOVER REQUEST + modulepar boolean PICS_A3_3_3 := false; //gnB - UE Mobility Management Procedures - HANDOVER NOTIFY + modulepar boolean PICS_A3_3_4 := false; //gnB - UE Mobility Management Procedures - PATH SWITCH REQUEST + modulepar boolean PICS_A3_3_5 := false; //gnB - UE Mobility Management Procedures - HANDOVER CANCEL + modulepar boolean PICS_A3_3_6 := false; //gnB - UE Mobility Management Procedures - UPLINK RAN STATUS TRANSFER + modulepar boolean PICS_A3_3_8 := false; //gnB - UE Mobility Management Procedures - HANDOVER SUCCESS + modulepar boolean PICS_A3_3_9 := false; //gnB - UE Mobility Management Procedures - UPLINK RAN EARLY STATUS TRANSFER + modulepar boolean PICS_A3_5_1 := false; //gNB - Transport of NAS Messages Procedures - INITIAL UE MESSAGE + modulepar boolean PICS_A3_5_3 := false; //gNB - Transport of NAS Messages Procedures - UPLINK NAS TRANSPORT + modulepar boolean PICS_A3_5_4 := false; //gNB - Transport of NAS Messages Procedures - NAS NON DELIVERY INDICATION + modulepar boolean PICS_A3_6_1 := false; //gNB - Interface Management Procedures - NG SETUP REQUEST + modulepar boolean PICS_A3_6_2 := false; //gNB - Interface Management Procedures - RAN CONFIGURATION UPDATE + modulepar boolean PICS_A3_6_3 := false; //gNB - Interface Management Procedures - AMF CONFIGURATION UPDATE + modulepar boolean PICS_A3_6_4 := false; //gNB - Interface Management Procedures - NG RESET + modulepar boolean PICS_A3_6_5 := false; //gNB - Interface Management Procedures - ERROR INDICATION + modulepar boolean PICS_A3_7_1 := false; //gNB - Configuration Transfer Procedures - UPLINK RAN CONFIGURATION TRANSFER + modulepar boolean PICS_A3_8_1 := false; //gNB - Warning Message Transmission procedure - WRITE-REPLACE WARNING REQUEST + modulepar boolean PICS_A3_8_2 := false; //gNB - Warning Message Transmission procedure - PWS CANCEL REQUEST + modulepar boolean PICS_A3_8_3 := false; //gNB - Warning Message Transmission procedure - PWS RESTART INDICATION + modulepar boolean PICS_A3_8_4 := false; //gNB - Warning Message Transmission procedure - PWS FAILURE INDICATION + modulepar boolean PICS_A3_9_1 := false; //gNB - NRPPa Transport procedure - DOWNLINK UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A3_9_2 := false; //gNB - NRPPa Transport procedure - UPLINK UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A3_9_3 := false; //gNB - NRPPa Transport procedure - DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A3_9_4 := false; //gNB - NRPPa Transport procedure - UPLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A3_10_1 := false; //gNB - Trace procedure - TRACE START messages + modulepar boolean PICS_A3_10_2 := false; //gNB - Trace procedure - TRACE FAILURE INDICATION messages + modulepar boolean PICS_A3_10_3 := false; //gNB - Trace procedure - DEACTIVATE TRACE messages + modulepar boolean PICS_A3_10_4 := false; //gNB - Trace procedure - CELL TRAFFIC TRACE messages + modulepar boolean PICS_A3_11_1 := false; //gNB - Location Reporting Procedures - LOCATION REPORTING CONTROL + modulepar boolean PICS_A3_11_2 := false; //gNB - Location Reporting Procedures - LOCATION REPORTING FAILURE INDICATION + modulepar boolean PICS_A3_11_3 := false; //gNB - Location Reporting Procedures - LOCATION REPORT + modulepar boolean PICS_A3_12_1 := false; //gNB - TNLA procedure - UE TNLA BINDING RELEASE REQUEST messages + modulepar boolean PICS_A3_13_1 := false; //gNB - UE Radio Capability Management procedure - UE RADIO CAPABILITY INFO INDICATION messages + modulepar boolean PICS_A3_13_2 := false; //gNB - UE Radio Capability Management procedure - UE RADIO CAPABILITY CHECK REQUEST messages + modulepar boolean PICS_A3_13_3 := false; //gNB - UE Radio Capability Management procedure - UE RADIO CAPABILITY ID MAPPING REQUEST messages + modulepar boolean PICS_A3_14_1 := false; //gNB - Data Usage Reporting Procedures - SECONDARY RAT DATA USAGE REPORT + modulepar boolean PICS_A3_15_1 := false; //gNB - RIM information Transfer procedure - UPLINK RIM INFORMATION TRANSFER + modulepar boolean PICS_A3_15_2 := false; //gNB - RIM information Transfer procedure - DOWNLINK RIM INFORMATION TRANSFER + } // End of group PICS_A3 + + group PICS_A4 { + + modulepar boolean PICS_A4_1_1 := false; //AMF - PDU session management procedure - PDU SESSION RESOURCE SETUP REQUEST + modulepar boolean PICS_A4_1_2 := false; //AMF - PDU session management procedure - PDU SESSION RESOURCE RELEASE COMMAND + modulepar boolean PICS_A4_1_3 := false; //AMF - PDU session management procedure - PDU SESSION RESOURCE MODIFY REQUEST + modulepar boolean PICS_A4_1_4 := false; //AMF - PDU session management procedure - PDU SESSION RESOURCE MODIFY NOTIFY + modulepar boolean PICS_A4_1_5 := false; //AMF - PDU session management procedure - PDU SESSION RESOURCE MODIFY INDICATION + modulepar boolean PICS_A4_2_1 := false; //AMF - UE Context Management Procedures - INITIAL CONTEXT SETUP REQUEST + modulepar boolean PICS_A4_2_3 := false; //AMF - UE Context Management Procedures - UE CONTEXT RELEASE COMMAND + modulepar boolean PICS_A4_2_4 := false; //AMF - UE Context Management Procedures - UE CONTEXT MODIFICATION REQUEST + modulepar boolean PICS_A4_2_6 := false; //AMF - UE Context Management Procedures - CONNECTION ESTABLISHMENT INDICATION + modulepar boolean PICS_A4_2_7 := false; //AMF - UE Context Management Procedures - AMF CP RELOCATION INDICATION + modulepar boolean PICS_A4_2_9 := false; //AMF - UE Context Management Procedures - RETRIEVE UE INFORMATION + modulepar boolean PICS_A4_2_10 := false; //AMF - UE Context Management Procedures - UE INFORMATION TRANSFER + modulepar boolean PICS_A4_2_11 := false; //AMF - UE Context Management Procedures - UE CONTEXT SUSPEND REQUEST + modulepar boolean PICS_A4_2_12 := false; //AMF - UE Context Management Procedures - UE CONTEXT RESUME REQUEST + modulepar boolean PICS_A4_3_1 := false; //AMF - UE Mobility Management Procedures - HANDOVER REQUIRED + modulepar boolean PICS_A4_3_2 := false; //AMF - UE Mobility Management Procedures - HANDOVER REQUEST + modulepar boolean PICS_A4_3_4 := false; //AMF - UE Mobility Management Procedures - PATH SWITCH REQUESTS + modulepar boolean PICS_A4_3_5 := false; //AMF - UE Mobility Management Procedures - HANDOVER CANCEL + modulepar boolean PICS_A4_3_6 := false; //AMF - UE Mobility Management Procedures - UPLINK RAN STATUS TRANSFER + modulepar boolean PICS_A4_3_9 := false; //AMF - UE Mobility Management Procedures - UPLINK RAN EARLY STATUS TRANSFER + modulepar boolean PICS_A4_4_1 := false; //AMF - Paging procedures - Paging + modulepar boolean PICS_A4_5_2 := false; //AMF - Transport of NAS Messages Procedures - DOWNLINK NAS TRANSPORT + modulepar boolean PICS_A4_5_5 := false; //AMF - Transport of NAS Messages Procedures - REROUTE NAS REQUEST + modulepar boolean PICS_A4_6_1 := false; //AMF - Interface Management Procedures - NG SETUP REQUEST + modulepar boolean PICS_A4_6_2 := false; //AMF - Interface Management Procedures - RAN CONFIGURATION UPDATE + modulepar boolean PICS_A4_6_3 := false; //AMF - Interface Management Procedures - AMF CONFIGURATION UPDATE + modulepar boolean PICS_A4_6_4 := false; //AMF - Interface Management Procedures - NG RESET + modulepar boolean PICS_A4_6_5 := false; //AMF - Interface Management Procedures - ERROR INDICATION + modulepar boolean PICS_A4_6_6 := false; //AMF - Interface Management Procedures - AMF STATUS INDICATION + modulepar boolean PICS_A4_6_7 := false; //AMF - Interface Management Procedures - OVERLOAD START + modulepar boolean PICS_A4_6_8 := false; //AMF - Interface Management Procedures - OVERLOAD STOP + modulepar boolean PICS_A4_7_2 := false; //AMF - Configuration Transfer Procedures - DOWNLINK RAN CONFIGURATION TRANSFER + modulepar boolean PICS_A4_8_1 := false; //AMF - Warning Message Transmission procedure - WRITE-REPLACE WARNING REQUEST + modulepar boolean PICS_A4_8_2 := false; //AMF - Warning Message Transmission procedure - PWS CANCEL REQUEST + modulepar boolean PICS_A4_8_3 := false; //AMF - Warning Message Transmission procedure - PWS RESTART INDICATION + modulepar boolean PICS_A4_8_4 := false; //AMF - Warning Message Transmission procedure - PWS FAILURE INDICATION + modulepar boolean PICS_A4_9_1 := false; //AMF - NRPPa Transport procedure - DOWNLINK UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A4_9_2 := false; //AMF - NRPPa Transport procedure - UPLINK UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A4_9_3 := false; //AMF - NRPPa Transport procedure - DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A4_9_4 := false; //AMF - NRPPa Transport procedure - UPLINK NON UE ASSOCIATED NRPPA TRANSPORT messages + modulepar boolean PICS_A4_10_1 := false; //AMF - Trace procedure - TRACE START messages + modulepar boolean PICS_A4_10_2 := false; //AMF - Trace procedure - TRACE FAILURE INDICATION messages + modulepar boolean PICS_A4_10_3 := false; //AMF - Trace procedure - DEACTIVATE TRACE messages + modulepar boolean PICS_A4_10_4 := false; //AMF - Trace procedure - CELL TRAFFIC TRACE messages + modulepar boolean PICS_A4_11_1 := false; //AMF - Location Reporting Procedures - LOCATION REPORTING CONTROL + modulepar boolean PICS_A4_11_2 := false; //AMF - Location Reporting Procedures - LOCATION REPORTING FAILURE INDICATION + modulepar boolean PICS_A4_11_3 := false; //AMF - Location Reporting Procedures - LOCATION REPORT + modulepar boolean PICS_A4_12_1 := false; //AMF - TNLA procedure - UE TNLA BINDING RELEASE REQUEST messages + modulepar boolean PICS_A4_13_1 := false; //AMF - UE Radio Capability Management procedure - UE RADIO CAPABILITY INFO INDICATION messages + modulepar boolean PICS_A4_13_2 := false; //AMF - UE Radio Capability Management procedure - UE RADIO CAPABILITY CHECK REQUEST messages + modulepar boolean PICS_A4_13_3 := false; //AMF - UE Radio Capability Management procedure - UE RADIO CAPABILITY ID MAPPING REQUEST messages + modulepar boolean PICS_A4_14_1 := false; //AMF - Data Usage Reporting Procedures - SECONDARY RAT DATA USAGE REPORT + modulepar boolean PICS_A4_15_1 := false; //AMF - RIM information Transfer procedure - UPLINK RIM INFORMATION TRANSFER + modulepar boolean PICS_A4_15_2 := false; //AMF - RIM information Transfer procedure - DOWNLINK RIM INFORMATION TRANSFER + } // End of group PICS_A4 + +} // End of module NGAP_Pics diff --git a/ttcn/AtsNGAP/NGAP_Pixits.ttcn b/ttcn/AtsNGAP/NGAP_Pixits.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..621abdcbe8c5e1e9bfe620117280da0b3308cc65 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_Pixits.ttcn @@ -0,0 +1,86 @@ +/** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides PIXITs for NGAP tests. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module NGAP_Pixits { + + // LibCommon + import from LibCommon_BasicTypesAndValues all; + import from LibCommon_DataStrings all; + + // LibNGAP + import from NGAP_CommonDataTypes language "ASN.1:1997" all; + import from NGAP_IEs language "ASN.1:2002" all; + + group NGAP_Port_and_addresses { + + group NGAP_TS_Port_and_addresses { + + /** @desc + * IP address of the test system + */ + modulepar charstring PX_NGAP_ETS_IPADDR := "1.1.1.10"; + + /** @desc + * Port number of the test system + */ + modulepar integer PX_NGAP_ETS_PORT := 3868; + + /** @desc + * IP address of the test system + */ + modulepar charstring PX_NGAP_ETS_IPADDR2 := "1.1.1.13"; + + /** @desc + * Port number of the test system + */ + modulepar integer PX_NGAP_ETS_PORT2 := 3868; + + + } // End of group NGAP_TS_Port_and_addresses + + group NGAP_SUT_Port_and_addresses { + + /** @desc + * IP address of the system under test + */ + modulepar charstring PX_NGAP_SUT_IPADDR := "1.1.2.10"; + + /** @desc + * Port number of the system under test + */ + modulepar integer PX_NGAP_SUT_PORT := 3868; + + } // End of group NGAP_SUT_Port_and_addresses{ + + } // End of group NGAP_Port_and_addresses + + group NGAP_CommonData { + + /** + * @desc integer for variant selection, + * @see ETSI + */ + modulepar integer PX_VA := 1; + + /** + * @desc Variant for Criticality values + */ + modulepar Criticality PX_VA_CRITICALITY := reject; + + /** + * @desc integer for timer TNGRELOCOverall, + * @see ETSI TS 138 413, chapter 9.6 + */ + modulepar float PX_TNGRELOCOverall := 10.0; + + } // End of group NGAP_CommonData + +} // End of module NGAP_Pixits diff --git a/ttcn/AtsNGAP/NGAP_Steps.ttcn b/ttcn/AtsNGAP/NGAP_Steps.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f9685319903c19e6292ef43debfa66586327ad31 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_Steps.ttcn @@ -0,0 +1,321 @@ +/** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides ATS specific steps used by the test cases for NGAP tests. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module NGAP_Steps { + + // LibNGAP + import from LibNGAP_Steps all; + import from LibNGAP_Interface all; + + // NGAP_Ats + import from NGAP_Pixits all; + + group GlobalSteps { + + /** + * @desc This is a test step that init global variables + * This procedure will be use when the Test System acts as AMF (SUT is gNB) + */ + function f_NGAP_amf_init() + runs on NGAPComponent { + + // Defaults + vc_default_ngap := activate (a_defaultNGAP()); + + // Base LibNGAP init function if there will be any base initialisation + f_NGAP_Init_Component(); + + vc_ETS_address := PX_NGAP_ETS_IPADDR; + vc_ETS_port := PX_NGAP_ETS_PORT; + vc_SUT_address := PX_NGAP_SUT_IPADDR; + vc_SUT_port := PX_NGAP_SUT_PORT; + + } // End of function f_NGAP_amf_init + + /** + * @desc This is a test step that init global variables + * This procedure will be use when the Test System acts as gNB (SUT is AMF) + */ + function f_NGAP_gnb_init() + runs on NGAPComponent { + + // Defaults + vc_default_ngap := activate (a_defaultNGAP()); + + // Base LibNGAP init function if there will be any base initialisation + f_NGAP_Init_Component(); + + vc_ETS_address := PX_NGAP_ETS_IPADDR; + vc_ETS_port := PX_NGAP_ETS_PORT; + vc_SUT_address := PX_NGAP_SUT_IPADDR; + vc_SUT_port := PX_NGAP_SUT_PORT; + + } // End of function f_NGAP_gnb_init + + /** + * @desc This is a test step that init global variables + */ + function f_NGAP_gnb_init2() + runs on NGAPComponent { + + // Defaults + vc_default_ngap := activate (a_defaultNGAP()); + + // Base LibNGAP init function if there will be any base initialisation + f_NGAP_Init_Component(); + + vc_ETS_address := PX_NGAP_ETS_IPADDR2; + vc_ETS_port := PX_NGAP_ETS_PORT2; + vc_SUT_address := PX_NGAP_SUT_IPADDR; + vc_SUT_port := PX_NGAP_SUT_PORT; + + } // End of function f_NGAP_gnb_init2 + + } // End of group GlobalSteps + + group Preambles{ + + /** + * @desc + */ + function f_preamble_NGAP_AMF() runs on NGAPComponent { + var default v_def_ngap_; + + f_NGAP_amf_init(); + //f_preambleNGAPClient(); + } // End of function f_preamble_NGAP_AMF + + /** + * @desc + */ + function f_preamble_NGAP_gNB() runs on NGAPComponent { + var default v_def_ngap_; + + f_NGAP_gnb_init(); + //f_preambleNGAPServer(); + } // End of function f_preamble_NGAP_gNB + + /** + * @desc + */ + function f_preamble_NGAP_gNB2() runs on NGAPComponent { + var default v_def_ngap_; + + f_NGAP_gnb_init2(); + //f_preambleNGAPServer(); + } // End of function f_preamble_NGAP_gNB2 + + } // End of group Preambles + + group Postambles { + + /** + * @desc + */ + function f_postamble_NGAP_AMF() runs on NGAPComponent { + f_postambleNGAP_AMF(); + + // Deactivate defaults + deactivate; + } // End of function f_postamble_NGAP_AMF + + /** + * @desc + */ + function f_postamble_NGAP_gNB() runs on NGAPComponent { + f_postambleNGAP_gNB(); + + //Deactivate defaults + deactivate; + } // End of function f_postamble_NGAP_gNB + + /** + * @desc + */ + function f_postamble_NGAP_gNB2() runs on NGAPComponent { + f_postambleNGAP_gNB(); + + // Deactivate defaults + deactivate; + } // End of function f_postamble_NGAP_gNB2 + + } // End of group Postambles + + group CheckFunctions { + + } // End of group CheckFunctions + + group DefaultTestStep{ + + }//end group DefaultTestStep + + group BehaviorFunctions{ + + /** + * @desc + */ + function f_NGAP_amf_UE_Register() runs on NGAPComponent { + //FIXME: Implementation of UE registration + } // End of function f_NGAP_amf_UE_Register + + /** + * @desc + */ + function f_NGAP_amf_UE_PDU_ResourceSetup() runs on NGAPComponent { + //FIXME: Implementation of PDU session resource setup + } // End of function f_NGAP_amf_UE_PDU_ResourceSetup + + /** + * @desc + */ + function f_NGAP_amf_UE_NoLongerAvailable() runs on NGAPComponent { + //FIXME: Implementation of PDU not longer available + } // End of function f_NGAP_amf_UE_NoLongerAvailable + + /** + * @desc The IUT entity indicate the initiation "of a Handover Required procedure" + */ + function f_NGAP_amf_UE_MMP_Initiate_Handover() runs on NGAPComponent { + //FIXME: Implementation of Handover init + } // End of function f_NGAP_amf_UE_MMP_Initiate_Handover + + /** + * @desc + */ + function f_NGAP_amf_UE_MMP_Initiate_Handover_Completed() runs on NGAPComponent { + //FIXME: Implementation of Handover init completed + } // End of function f_NGAP_amf_UE_MMP_Initiate_Handover_Completed + + /** + * @desc + */ + function f_NGAP_amf_UE_MMP_Handover_Completed() runs on NGAPComponent { + //FIXME: Implementation of Handover completed + } // End of function f_NGAP_amf_UE_MMP_Handover_Completed + + /** + * @desc + */ + function f_NGAP_amf_UE_MMP_Cancel_Initiated_Handover() runs on NGAPComponent { + //FIXME: Implementation of Handover init cancelled + } // End of function f_NGAP_amf_UE_MMP_Cancel_Initiated_Handover + + /** + * @desc + */ + function f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Status_Transfer() runs on NGAPComponent { + //FIXME: Implementation of initiate uplink RAN xfer + } // End of function f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Status_Transfer + + /** + * @desc + */ + function f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Early_Status_Transfer() runs on NGAPComponent { + //FIXME: Implementation of initiate an early uplink RAN xfer + } // End of function f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Early_Status_Transfer + + /** + * @desc + */ + function f_NGAP_amf_UE_NAS_Initiate() runs on NGAPComponent { + //FIXME: Implementation of a NAS procedure + } // End of function f_NGAP_amf_UE_NAS_Initiate + + /** + * @desc + */ + function f_NGAP_amf_UE_RRC_UL_Message() runs on NGAPComponent { + //FIXME: Implementation of an RRC UL message delivery + } // End of function f_NGAP_amf_UE_RRC_UL_Message + + /** + * @desc + */ + function f_NGAP_amf_UE_RRC_UL_Message_Failure() runs on NGAPComponent { + //FIXME: Implementation of an RRC UL message delivery failure + } // End of function f_NGAP_amf_UE_RRC_UL_Message_Failure + + /** + * @desc + */ + function f_NGAP_amf_isTransitioningTo_RRC_INACTIVE() runs on NGAPComponent { + //FIXME: Implementation of an UE transitioning into the RRC_INACTIVE state + } // End of function f_NGAP_amf_isTransitioningTo_RRC_INACTIVE + + /******************************************************************/ + + /** + * @desc + */ + function f_NGAP_gnb_UE_Register() runs on NGAPComponent { + //FIXME: Implementation of UE registration + } // End of function f_NGAP_gnb_UE_Register + + /** + * @desc + */ + function f_NGAP_gnb_UE_Not_Available() runs on NGAPComponent { + //FIXME: Implementation of UE not available + } // End of function f_NGAP_gnb_UE_Not_Available + + /** + * @desc + */ + function f_NGAP_gnb_UE_Handover_Required() runs on NGAPComponent { + //FIXME: Implementation of UE handover required + } // End of function f_NGAP_gnb_UE_Handover_Required + + /** + * @desc + */ + function f_NGAP_gnb_UE_EstablishedInitialContext() runs on NGAPComponent { + //FIXME: Implementation of UE handover required + } // End of function f_NGAP_gnb_UE_EstablishedInitialContext + + /** + * @desc + */ + function f_NGAP_gnb_UE_Has_EstablishedContextInproperly() runs on NGAPComponent { + //FIXME: Implementation of UE handover required + } // End of function f_NGAP_gnb_UE_Has_EstablishedContextInproperly + + /** + * @desc + */ + function f_NGAP_gnb_UE_HasPendingDataTransmission() runs on NGAPComponent { + //FIXME: Implementation of UE has pending data transmission leading to failed context suspension + } // End of function f_NGAP_gnb_UE_HasPendingDataTransmission + + /** + * @desc + */ + function f_NGAP_gnb_UE_PDU_ResourceSetup() runs on NGAPComponent { + //FIXME: Implementation of PDU session resource setup + } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup + + /** + * @desc + */ + function f_NGAP_gnb_UE_Has_Suspended_Context() runs on NGAPComponent { + //FIXME: Implementation of UE has suspended context + } // End of function f_NGAP_amf_UE_hasSuspendedContext + + /** + * @desc + */ + function f_NGAP_gnb_UE_alreadyPreparedHandover() runs on NGAPComponent { + //FIXME: Implementation of UE halready prepared Handover + } // End of function f_NGAP_amf_UE_hasSuspendedContext + + + }//end group BehaviorFunctions + +} // End of module NGAP_Steps diff --git a/ttcn/AtsNGAP/NGAP_TCFunctions.ttcn b/ttcn/AtsNGAP/NGAP_TCFunctions.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5af2f8e4c974374f5e3c3f63bd0aa7aee6454c8c --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TCFunctions.ttcn @@ -0,0 +1,6788 @@ +/** + * @author ETSI / TTF033 + * @version $URL$ + * $Id$ + * @desc This module provides test functions for NGAP tests. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * @see ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16 + */ +module NGAP_TCFunctions { + + // LibCommon + import from LibCommon_Sync all; + import from LibCommon_VerdictControl all; + import from LibCommon_Time all; + + // LibNGAP + import from NGAP_IEs language "ASN.1:2002" all; + import from NGAP_Constants language "ASN.1:2002" all; + + import from LibNGAP_Pixits all; + import from LibNGAP_Templates all; + import from LibNGAP_Interface all; + import from LibNGAP_Steps all; + + // NGAP_Ats + import from NGAP_TestSystem all; + import from NGAP_Steps all; + import from NGAP_Pixits all; + + group TC_function_template{ + + /** + * @desc Testcase function for TC_NGAP_gNB_or_aMF_functionName_01 + */ + function f_TC_NGAP_gNB_or_aMF_functionName_01() runs on NGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + //f_send_NGAP_PDU(m_ngap_initMsg(/*initiating msgtemplate*/)); + //f_recv_NGAP_PDU(?); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_or_aMF_functionName_01 + + } // End of group TC_function_template + + group gNB_Role{ + //8.2 + group PDU_Session_Management_Procedures{ + //8.2.1 + group PDU_Session_Resource_Setup{ + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_01 + */ + function f_TC_NGAP_GNB_PDU_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceSetupRequest( + -, + -, + { + m_pDUSessionResourceSetupItemSUReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + } + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceSetupResponse( + -, + -, + { + (mw_pDUSessionResourceSetupItemSURes( + ?,//template (present) PDUSessionID p_pDUSessionID, + decmatch ( + mw_pDUSessionResourceSetupResponseTransfer( + ?,//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + *,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + *,//template SecurityResult p_securityResult := *, + *,//template QosFlowListWithCause p_qosFlowFailedToSetupList := *, + *//template PDUSessionResourceSetupResponseTransfer.iE_Extensions p_iE_Extensions := * + ) + ),// Decode&Match - In ASN1 it is OCTET STRING - PDUSessionResourceSetupResponseTransfer + *//template PDUSessionResourceSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_01 + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_02 + */ + function f_TC_NGAP_GNB_PDU_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceSetupRequest( + -, + -, + { + m_pDUSessionResourceSetupItemSUReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))), + m_pDUSessionResourceSetupItemSUReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + } + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceSetupResponseFailed( + -, + -, + { + mw_pDUSessionResourceFailedToSetupItemSURes( + ?,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceSetupUnsuccessfulTransfer( + mw_cause_misc(mw_causeMisc(?/*MultiplePDUSessionIDInstances*/)),//?,//template (present) Cause p_cause := ?, + *,//template CriticalityDiagnostics p_criticalityDiagnostics := *, + *//template PDUSessionResourceSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) + ),//Decode&Match - In ASN1 it is OCTET STRING - PDUSessionResourceSetupUnsuccessfulTransfer + *//template PDUSessionResourceFailedToSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_02 + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_03 + */ + function f_TC_NGAP_GNB_PDU_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceSetupRequest( + -, + -, + { + m_pDUSessionResourceSetupItemSUReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + } + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceSetupResponse( + -, + -, + { + mw_pDUSessionResourceSetupItemSURes( + ?,//template (present) PDUSessionID p_pDUSessionID, + decmatch( + mw_pDUSessionResourceSetupResponseTransfer( + ?,//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + *,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + *,//template SecurityResult p_securityResult := *, + *,//template QosFlowListWithCause p_qosFlowFailedToSetupList := *, + *//template PDUSessionResourceSetupResponseTransfer.iE_Extensions p_iE_Extensions := * + ) + ), //Decode&Match - In ASN1 it is OCTET STRING - PDUSessionResourceSetupResponseTransfer + *//template PDUSessionResourceSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceSetupRequest( + -, + -, + { + m_pDUSessionResourceSetupItemSUReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + } + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceSetupResponseFailed( + -, + -, + { + mw_pDUSessionResourceFailedToSetupItemSURes( + ?,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceSetupUnsuccessfulTransfer( + mw_cause_misc(mw_causeMisc(?/*MultiplePDUSessionIDInstances*/)),//?,//template (present) Cause p_cause := ?, + *,//template CriticalityDiagnostics p_criticalityDiagnostics := *, + *//template PDUSessionResourceSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) + ),//Decode&Match - In ASN1 it is OCTET STRING - PDUSessionResourceSetupUnsuccessfulTransfer + *//template PDUSessionResourceFailedToSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_03 + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_04 + */ + function f_TC_NGAP_GNB_PDU_04() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceSetupRequest( + -, + -, + { + m_pDUSessionResourceSetupItemSUReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, //FIXME nonGBRQosID + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + } + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceSetupResponseFailed( + -, + -, + { + mw_pDUSessionResourceFailedToSetupItemSURes( + ?,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceSetupUnsuccessfulTransfer( + mw_cause_misc(mw_causeMisc(?/*InvalidQoSCombination*/)),//?,//template (present) Cause p_cause := ?, + *,//template CriticalityDiagnostics p_criticalityDiagnostics := *, + *//template PDUSessionResourceSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) + ),//Decode&Match - In ASN1 it is OCTET STRING - PDUSessionResourceSetupUnsuccessfulTransfer + *//template PDUSessionResourceFailedToSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_04 + + } // End of group PDU_Session_Resource_Setup + //8.2.2 + group PDU_Session_Resource_Release{ + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_05 + */ + function f_TC_NGAP_GNB_PDU_05() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceReleaseCommand( + -, + -, + { + m_pDUSessionResourceToReleaseItemRelCmd( + PX_PDU_SESSION_ID, + bit2oct( + encvalue( + m_pDUSessionResourceReleaseCommandTransfer( + m_cause_misc(m_causeMisc(-)), + -//in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit + ) + ) + ), + - //in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit + ) + } + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceReleaseResponse( + -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + ( + mw_pDUSessionResourceReleasedItemRelRes( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + (mw_pDUSessionResourceReleaseResponseTransfer(*)) + ),//template (present) PDUSessionResourceReleasedItemRelRes.pDUSessionResourceReleaseResponseTransfer p_pDUSessionResourceReleaseResponseTransfer := ?, + //Decode&Match - In ASN1 it is OCTET STRING - pDUSessionResourceReleaseResponseTransfer + -//template PDUSessionResourceReleasedItemRelRes.iE_Extensions p_iE_Extensions := * + ) + + ) + }//template (present) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes := ? + ) + + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_05 + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_06 + */ + function f_TC_NGAP_GNB_PDU_06() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceReleaseCommand( + -, + -, + { + m_pDUSessionResourceToReleaseItemRelCmd( + PX_PDU_SESSION_ID, + bit2oct( + encvalue( + m_pDUSessionResourceReleaseCommandTransfer( + m_cause_misc(m_causeMisc(-)), + -//in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit + ) + ) + ), + - //in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit + ), + m_pDUSessionResourceToReleaseItemRelCmd( + PX_PDU_SESSION_ID, + bit2oct( + encvalue( + m_pDUSessionResourceReleaseCommandTransfer( + m_cause_misc(m_causeMisc(-)), + -//in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit + ) + ) + ), + - //in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit + ) + } + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceReleaseResponse( + -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + ( + mw_pDUSessionResourceReleasedItemRelRes( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + (mw_pDUSessionResourceReleaseResponseTransfer(*))//template (present) PDUSessionResourceReleasedItemRelRes.pDUSessionResourceReleaseResponseTransfer p_pDUSessionResourceReleaseResponseTransfer := ?, + ), //FIXME: Decode&Match - In ASN1 it is OCTET STRING - pDUSessionResourceReleaseResponseTransfer + -//template PDUSessionResourceReleasedItemRelRes.iE_Extensions p_iE_Extensions := * + ) + + ) + }//template (present) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_06 + + } // End of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_07 + */ + function f_TC_NGAP_GNB_PDU_07() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceModify( + -, + -, + { + m_pDUSessionResourceModifyItemModReq( + PX_PDU_SESSION_ID, + bit2oct( + encvalue( + m_pDUSessionResourceModifyRequestTransfer_options( + { + m_uL_NGU_UP_TNLModifyItem( + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel( + PX_TRANSPORT_LAYER_ADDRESS, + PX_GTP_TEID, + omit + ) + ),//in template (value) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel( + PX_TRANSPORT_LAYER_ADDRESS, + PX_GTP_TEID, + omit + ) + ),//in template (value) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation, + -//in template (omit) UL_NGU_UP_TNLModifyItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) UL_NGU_UP_TNLModifyList p_uL_NGU_UP_TNLModifyList, + { + m_qosFlowAddOrModifyRequestItem( + PX_QOS_FLOW_IDENTIFIER, + -,//in template (omit) QosFlowLevelQosParameters p_qosFlowLevelQosParameters := omit, + -,//in template (omit) E_RAB_ID p_e_RAB_ID := omit, + -//in template (omit) QosFlowAddOrModifyRequestItem.iE_Extensions p_iE_Extensions := omit + ) + }//in template (value) QosFlowAddOrModifyRequestList p_qosFlowAddOrModifyRequestList + ) + ) + ), + //'00'O,//bit2oct( + // encvalue( + // m_pDUSessionResourceModifyRequestTransfer(//FIXME when template with mandatory IEs available + // -//in template (omit) PDUSessionResourceModifyRequestTransfer.protocolIEs p_protocolIEs + // ) + // ) + //), + -,//in template (omit) NAS_PDU p_nAS_PDU := omit, + -//in template (omit) PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := omit + ) + } + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceModifyResponse( + -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + ( + mw_pDUSessionResourceModifyItemModRes( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceModifyResponseTransfer( + *,//template UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := *, + *,//template UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := *, + ?,//template QosFlowAddOrModifyResponseList p_qosFlowAddOrModifyResponseList := *, + *,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + *,//template QosFlowListWithCause p_qosFlowFailedToAddOrModifyList := *, + *//template PDUSessionResourceModifyResponseTransfer.iE_Extensions p_iE_Extensions := * + ) + ),//Decode&Match - In ASN1 it is OCTET STRING pDUSessionResourceModifyResponseTransfer + -//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * + ) + + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_07 + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_10 + */ + function f_TC_NGAP_GNB_PDU_10() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceModify( + -, + -, + { + m_pDUSessionResourceModifyItemModReq( + PX_PDU_SESSION_ID, + '00'O,//bit2oct( + // encvalue( + // m_pDUSessionResourceModifyRequestTransfer(//FIXME when template with mandatory IEs available + // -//in template (omit) PDUSessionResourceModifyRequestTransfer.protocolIEs p_protocolIEs + // ) + // ) + //), + -,//in template (omit) NAS_PDU p_nAS_PDU := omit, + -//in template (omit) PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := omit + ), + m_pDUSessionResourceModifyItemModReq( + PX_PDU_SESSION_ID, + '00'O,//bit2oct( + // encvalue( + // m_pDUSessionResourceModifyRequestTransfer(//FIXME when template with mandatory IEs available + // -//in template (omit) PDUSessionResourceModifyRequestTransfer.protocolIEs p_protocolIEs + // ) + // ) + //), + -,//in template (omit) NAS_PDU p_nAS_PDU := omit, + -//in template (omit) PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := omit + ) + } + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceModifyResponseFailedToMod( + -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + mw_pDUSessionResourceFailedToModifyItemModRes( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceModifyUnsuccessfulTransfer( + ?,//template (present) Cause p_cause := ?, + *,//template CriticalityDiagnostics p_criticalityDiagnostics := *, + *//template PDUSessionResourceModifyUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) + ),//Decode&Match - In ASN1 it is OCTET STRING mw_pDUSessionResourceModifyUnsuccessfulTransfer + * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_10 + + } // End of group PDU_Session_Resource_Modify + //8.2.4 + group PDU_Session_Resource_Notify{ + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_08 + */ + function f_TC_NGAP_GNB_PDU_08() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PDU session resource NOTIFY!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PDUSessionResourceNotify( + -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + mw_pDUSessionResourceNotifyItem( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + ?,//template (present) PDUSessionResourceNotifyItem.pDUSessionResourceNotifyTransfer p_pDUSessionResourceNotifyTransfer, + -//template PDUSessionResourceNotifyItem.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_08 + + } // End of group PDU_Session_Resource_Notify + //8.2.5 + group PDU_Session_Resource_Modify_Indication{ + + /** + * @desc Testcase function for TC_NGAP_gNB_PDU_09 + */ + function f_TC_NGAP_GNB_PDU_09() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PDU session resource MODIFY!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PDUSessionResourceModifyIndication( + -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + ( + mw_pDUSessionResourceModifyItemModInd( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceModifyIndicationTransfer( + ?,//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + *,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + *//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * + )//FIXME: Decode&Match - In ASN1 it is OCTET STRING - pDUSessionResourceModifyIndicationTransfer + ), + -//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * + ) + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_PDU_09 + + } // End of group PDU_Session_Resource_Modify_Indication + } // End of group PDU_Session_Management_Procedures + //8.3 + group UE_Context_Management_Procedures{ + //8.3.1 + group Initial_Context_Setup{ + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_01 + */ + function f_TC_NGAP_GNB_CMP_01() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest + ( + -, + -, + m_gUAMI, + { + { + PX_PDU_SESSION_ID, + omit, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))) + ), + omit + } + + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + - + ) + )); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_InitialContextSetupResponse( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + { + PX_PDU_SESSION_ID, + ?, + * + } + } + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_01 + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_02 + */ + function f_TC_NGAP_GNB_CMP_02() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest_noPDUSessionResourceSetupListCxtReq + ( + -, + -, + m_gUAMI, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + - + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_InitialContextSetupResponse_noPDUSessionResourceSetupListSURes( + -, + - + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_02 + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_03 + */ + function f_TC_NGAP_GNB_CMP_03() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest_optional_TraceActivation + ( + -, + -, + m_gUAMI, + { + { + PX_PDU_SESSION_ID, + omit, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))) + ), + omit + } + + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + -, + m_traceActivation( + '0000000000000001'O,//in template (value) NGRANTraceID p_nGRANTraceID, + '00000000'B,//in template (value) InterfacesToTrace p_interfacesToTrace, + m_traceDepth(minimum), + PX_TRANSPORT_LAYER_ADDRESS, + omit//in template (omit) TraceActivation.iE_Extensions p_iE_Extensions := omit + ) + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_InitialContextSetupResponse( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + { + PX_PDU_SESSION_ID, + ?, + * + } + } + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_03 + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_04 + */ + function f_TC_NGAP_GNB_CMP_04() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest_optional_MobilityRestriction + ( + -, + -, + m_gUAMI, + { + { + PX_PDU_SESSION_ID, + omit, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))) + ), + omit + } + + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + -, + m_mobilityRestrictionList( + PX_PLMN_IDENTITY + ) + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_InitialContextSetupResponse( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + { + PX_PDU_SESSION_ID, + ?, + * + } + } + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_04 + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_05 + */ + function f_TC_NGAP_GNB_CMP_05() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest_differentOptionals + ( + -, + -, + m_gUAMI, + { + { + PX_PDU_SESSION_ID, + omit, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))) + ), + omit + } + + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + -, + ''O, // UERadioCapability p_uERadioCapability, + -, // IndexToRFSP p_indexToRFSP := 1, + -, + ''O, // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???)) , + + m_emergencyFallbackIndicator(emergency_fallback_requested), // EmergencyFallbackIndicator p_emergencyFallbackIndicator, + m_rRCInactiveTransitionReportRequest, // RRCInactiveTransitionReportRequest p_rRCInactiveTransitionReportRequest, + m_redirectionVoiceFallback, // RedirectionVoiceFallback p_redirectionVoiceFallback, + m_locationReportingRequestType( + direct, + cell, + { + m_areaOfInterestItem( + m_areaOfInterest, + 1, + - + ), + m_areaOfInterestItem( + m_areaOfInterest, + 1, + - + ) + }, + -, + - + ), // LocationReportingRequestType p_locationReportingRequestType, + m_sRVCCOperationPossible, // SRVCCOperationPossible p_sRVCCOperationPossible, + m_iAB_Authorized, // IAB_Authorized p_iAB_Authorized, + m_enhanced_CoverageRestriction, // Enhanced_CoverageRestriction p_enhanced_CoverageRestriction, + -, // Extended_ConnectedTime p_extended_ConnectedTime := PX_EXTENDED_CONNECTED_TIME, + m_uE_DifferentiationInfo, // UE_DifferentiationInfo p_uE_DifferentiationInfo, + m_nRUESidelinkAggregateMaximumBitrate, // NRUESidelinkAggregateMaximumBitrate p_nRUESidelinkAggregateMaximumBitrate, + m_lTEUESidelinkAggregateMaximumBitrate, // LTEUESidelinkAggregateMaximumBitrate p_lTEUESidelinkAggregateMaximumBitrate, + PX_U_E_RADIO_CAPABILITY_ID + + + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_InitialContextSetupResponse( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + { + PX_PDU_SESSION_ID, + ?, + * + } + } + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_05 + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_06 + */ + function f_TC_NGAP_GNB_CMP_06() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_Has_EstablishedContextInproperly(); + + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest + ( + -, + -, + m_gUAMI, + { + { + PX_PDU_SESSION_ID, + omit, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))) + ), + omit + } + + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + - + ) + )); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_InitialContextSetupResponse_Failed( + -, + -, + { + { + PX_PDU_SESSION_ID, + ?, + * + } + } + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_06 + + } // End of group Initial_Context_Setup + //8.3.2 + group UE_Context_Release_Request_NG_RAN_node_initiated{ + + /** + * @desc Testcase function for TC_NGAP_GNB_CMP_07 + */ + function f_TC_NGAP_GNB_CMP_07() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + + + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger UE context release request"); + + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEContextReleaseRequest( + -, + -, + - + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_07 + + } // End of group UE_Context_Release_Request_NG_RAN_node_initiated + //8.3.3 + group UE_Context_Release_AMF_initiated{ + + /** + * @desc Testcase function for TP_NGAP_GNB_CMP_08 + */ + function f_TC_NGAP_GNB_CMP_08() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextReleaseCommand + ( + m_uE_NGAP_IDs_uE_NGAP_ID_pair + ( + m_uE_NGAP_ID_pair + ), + - + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContextReleaseComplete + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_08 + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_09 + */ + function f_TC_NGAP_GNB_CMP_09() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextReleaseCommand + ( + m_uE_NGAP_IDs_aMF_UE_NGAP_ID + ( + - + ), + - + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContextReleaseComplete + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_09 + + } // End of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_10 + */ + function f_TC_NGAP_GNB_CMP_10() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_NoLongerAvailable(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextModificationRequest + ( + -, + - + ))); + + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_UEContextModificationFailure + ( + -, + -, + - + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_10 + + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_11 + */ + function f_TC_NGAP_GNB_CMP_11() runs on aMFNGAPComponent { + + // Preamble + + + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + f_NGAP_gnb_UE_alreadyPreparedHandover(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextModificationRequest + ( + -, + - + ))); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContexModificationResponse + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_11 + + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_12 + */ + function f_TC_NGAP_GNB_CMP_12() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextModificationRequest_optional1 + ( + -, + -, + -, + - + ))); + + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContexModificationResponse + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_12 + + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_13 + */ + function f_TC_NGAP_GNB_CMP_13() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextModificationRequest_optional2 + ( + -, // AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + -, // RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + -, // RANPagingPriority p_rANPagingPriority, // RAN_Paging_Priority + -, // IndexToRFSP p_indexToRFSP, // Index_to_RAT_Frequency_Selection_Priority, + m_uEAggregateMaximumBitRate, // UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate, // UE_Aggregate_Maximum_Bit_Rate containing + m_uESecurityCapabilities, // UESecurityCapabilities p_uESecurityCapabilities, // UE_Security_Capabilities containing + m_emergencyFallbackIndicator(emergency_fallback_requested), // EmergencyFallbackIndicator p_emergencyFallbackIndicator, // Emergency_Fallback_Indicator, + m_gUAMI, // GUAMI p_gUAMI, // New_GUAMI containing + m_iAB_Authorized, // IAB_Authorized p_iAB_Authorized, // IAB_Authorized, + m_pC5QoSParameters( + { m_pC5QoSFlowItem } + ),// PC5QoSParameters p_pC5QoSParameters, // PC5_QoS_Parameters containing + -, // UERadioCapabilityID p_uERadioCapabilityID := PX_U_E_RADIO_CAPABILITY_ID, // UE_Radio_Capability_ID, + - // RGLevelWirelineAccessCharacteristics p_rGLevelWirelineAccessCharacteristics // RG_Level_Wireline_Access_Characteristics + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContextReleaseComplete + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_13 + + + } // End of group UE_Context_Modification + //8.3.5 + group RRC_Inactive_Transition_Report{ + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_14 + */ + function f_TC_NGAP_GNB_CMP_14() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_isTransitioningTo_RRC_INACTIVE(); + + // TODO: isTransitioningTo the RRC_INACTIVE + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a RRC inactive transition report"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_RRCInactiveTransitionReport + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + mw_rRCState(inactive), + ? + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_14 + + } // End of group RRC_Inactive_Transition_Report + //8.3.6 + group Connection_Establishment_Indication{ + } // End of group Connection_Establishment_Indication + //8.3.7 + group AMF_CP_Relocation_Indication{ + } // End of group AMF_CP_Relocation_Indication + //8.3.8 + group RAN_CP_Relocation_Indication{ + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_15 + */ + function f_TC_NGAP_GNB_CMP_15() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a RAN CP relocation indication procedure"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_RANCPRelocationIndication + ( + PX_RAN_UE_NGAP_ID, + ?, + ?, + ?, + ? + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_15 + + } // End of group RAN_CP_Relocation_Indication + //8.3.9 + group Retrieve_UE_Information{ + } // End of group Retrieve_UE_Information + //8.3.10 + group UE_Information_Transfer{ + } // End of group UE_Information_Transfer + //8.3.11 + group UE_Context_Suspend{ + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_16 + */ + function f_TC_NGAP_GNB_CMP_16() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a UE context suspend request"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEContextSuspendRequest_noPDUSession + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_16 + + } // End of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + + /** + * @desc Testcase function for f_TC_NGAP_GNB_CMP_17 + */ + function f_TC_NGAP_GNB_CMP_17() runs on aMFNGAPComponent { + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_gnb_UE_Has_Suspended_Context(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a UE context resume request"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEContextResumeRequest + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + ? + ) + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_CMP_17 + } // End of group UE_Context_Resume + } // End of group UE_Context_Management_Procedures + //8.4 + group UE_Mobility_Management_Procedures{ + //8.4.1 + group Handover_Preparation{ + + function f_TC_NGAP_GNB_MMP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_HandoverRequired( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + PX_HANDOVER_TYPE, + -, + mw_targetID_targeteNB_ID, // FIXME FSCOM To be check + { + *, + mw_pDUSessionResourceItemHORqd( // TODO FSCOM Make the template more restrictive + PX_PDU_SESSION_ID + ), + * + } + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_01 + + } // End of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + + function f_TC_NGAP_GNB_MMP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequest( + -, -, -, + m_uEAggregateMaximumBitRate, + m_uESecurityCapabilities, + m_securityContext, + { + m_pDUSessionResourceSetupItemHOReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???)) + m_gUAMI + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_HandoverRequestAcknowledge( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + *, + mw_pDUSessionResourceAdmittedItem( // TODO FSCOM Make the template more restrictive + PX_PDU_SESSION_ID + ), + * + } + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_02 + + function f_TC_NGAP_GNB_MMP_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_NoLongerAvailable(); + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequest( + -, -, -, + m_uEAggregateMaximumBitRate, + m_uESecurityCapabilities, + m_securityContext, + { + m_pDUSessionResourceSetupItemHOReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???)) + m_gUAMI + ))); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_HandoverFailure( + PX_AMF_UE_NGAP_ID + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_03 + + function f_TC_NGAP_GNB_MMP_04() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequest_full( + -, -, -, + m_uEAggregateMaximumBitRate, + m_uESecurityCapabilities, + m_securityContext, + { + m_pDUSessionResourceSetupItemHOReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))))) + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???)) + m_gUAMI, + m_coreNetworkAssistanceInformationForInactive( + m_uEIdentityIndexValue_indexLength10(PX_UE_IDENTITY_INDEX_VALUE), + -, + { + m_tAIListForInactiveItem( + m_tAI + ) + } + ), + m_newSecurityContextInd, + ''O, // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???)) + m_traceActivation( + -, -, + m_traceDepth + ), + m_rRCInactiveTransitionReportRequest, + m_redirectionVoiceFallback, + m_cNAssistedRANTuning, + m_sRVCCOperationPossible, + m_enhanced_CoverageRestriction, + m_uE_DifferentiationInfo, + m_nRV2XServicesAuthorized, + m_lTEV2XServicesAuthorized, + m_nRUESidelinkAggregateMaximumBitrate, + m_lTEUESidelinkAggregateMaximumBitrate, + m_pC5QoSParameters( + { m_pC5QoSFlowItem } + ), + m_cEmodeBrestricted, + m_uE_UP_CIoT_Support, + { PX_PLMN_IDENTITY } + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_HandoverRequestAcknowledge( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + *, + mw_pDUSessionResourceAdmittedItem( // TODO FSCOM Make the template more restrictive + PX_PDU_SESSION_ID + ), + * + } + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_04 + + function f_TC_NGAP_GNB_MMP_05() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_NoLongerAvailable(); + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequest( + -, -, -, + m_uEAggregateMaximumBitRate, + m_uESecurityCapabilities, + m_securityContext, + { + m_pDUSessionResourceSetupItemHOReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_handover( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + ), + m_dataForwardingNotPossible, + m_securityIndication( + m_integrityProtectionIndication, + m_confidentialityProtectionIndication, + m_maximumIntegrityProtectedDataRate + )))))) + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???)) + m_gUAMI + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_HandoverRequestAcknowledge( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + *, + mw_pDUSessionResourceAdmittedItem( // TODO FSCOM Make the template more restrictive + PX_PDU_SESSION_ID + ), + * + } + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_05 + + function f_TC_NGAP_GNB_MMP_06() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_NoLongerAvailable(); + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequest( + -, -, -, + m_uEAggregateMaximumBitRate, + m_uESecurityCapabilities, + m_securityContext, + { + m_pDUSessionResourceSetupItemHOReq( + -, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_handover_1( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel), + m_directForwardingPathAvailability + ))))) + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???)) + m_gUAMI + ))); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_HandoverFailure( + PX_AMF_UE_NGAP_ID + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_06 + + } // End of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + + function f_TC_NGAP_GNB_MMP_07() runs on aMFNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_NGAP_amf_UE_MMP_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_HandoverNotify( + -, + -, + ? + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_07 + + } // End of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + + function f_TC_NGAP_GNB_MMP_08() runs on aMFNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_PDU_ResourceSetup(); + f_NGAP_amf_UE_MMP_Handover_Completed(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PathSwitchRequest( + PX_RAN_UE_NGAP_ID, + PX_AMF_UE_NGAP_ID + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_08 + + } // End of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + + function f_TC_NGAP_GNB_MMP_09() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_Handover(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_MMP_Cancel_Initiated_Handover(); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_HandoverCancel( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_09 + + } // End of group Handover_Cancellation + //8.4.6 + group Uplink_RAN_Status_Transfer{ + + function f_TC_NGAP_GNB_MMP_10() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Status_Transfer(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_MMP_Cancel_Initiated_Handover(); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkRANStatusTransfer( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + mw_rANStatusTransfer_TransparentContainer + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_10 + + } // End of group Uplink_RAN_Status_Transfer + //8.4.7 + group Downlink_RAN_Status_Transfer{ + } // End of group Downlink_RAN_Status_Transfer + //8.4.8 + group Handover_Success{ + } // End of group Handover_Success + //8.4.9 + group Uplink_RAN_Early_Status_Transfer{ + + function f_TC_NGAP_GNB_MMP_11() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Status_Transfer(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_MMP_Initiate_UE_Uplink_RAN_Early_Status_Transfer(); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkRANEarlyStatusTransfer( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + mw_earlyStatusTransfer_TransparentContainer + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_MMP_11 + + } // End of group Uplink_RAN_Early_Status_Transfer + //8.4.10 + group Downlink_RAN_Early_Status_Transfer{ + } // End of group Downlink_RAN_Early_Status_Transfer + } // End of group UE_Mobility_Management_Procedures + //8.5 + group Paging_Procedures{ + //8.5.1 + group Paging{ + } // End of group Paging + } // End of group Paging_Procedures + //8.6 + group Transport_of_NAS_Messages_Procedures{ + //8.6.1 + group Initial_UE_Message{ + + function f_TC_NGAP_GNB_NAS_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_NGAP_amf_UE_NAS_Initiate(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_initialUeMessage( + PX_RAN_UE_NGAP_ID + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_NAS_01 + + } // End of group Initial_UE_Message + //8.6.2 + group Downlink_NAS_Transport{ + } // End of group Downlink_NAS_Transport + //8.6.3 + group Uplink_NAS_Transport{ + + function f_TC_NGAP_GNB_NAS_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_RRC_UL_Message(); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkNASTransport( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_NAS_02 + + } // End of group Uplink_NAS_Transport + //8.6.4 + group NAS_Non_Delivery_Indication{ + + function f_TC_NGAP_GNB_NAS_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_amf_UE_RRC_UL_Message_Failure(); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_NASNonDeliveryIndication( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_GNB_NAS_03 + + } // End of group NAS_Non_Delivery_Indication + //8.6.5 + group Rerout_NAS_Request{ + } // End of group Rerout_NAS_Request + } // End of group Transport_of_NAS_Messages_Procedures + //8.7 + group Interface_Management_Procedures{ + //8.7.1 + group NG_Setup{ + + /** + * @desc Testcase function for TC_NGAP_gNB_IMP_01 + */ + function f_TC_NGAP_GNB_IMP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger NG SETUP REQUEST!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_NGSetupRequest( + ?,//template (present) GlobalRANNodeID p_globalRANNodeID := ?, + { + mw_supportedTAItem( + ?,//template (present) TAC p_tAC := ?, + { + mw_ie_broadcastPLMNItem( + ?, + ?, + * + ) + },//?,//template (present) BroadcastPLMNList p_broadcastPLMNList := ?, + *//template SupportedTAItem.iE_Extensions p_iE_Extensions := * + ) + }, + mw_pagingDRX(?) + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_IMP_01 + + } // End of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + + /** + * @desc Testcase function for TC_NGAP_gNB_IMP_02 + */ + function f_TC_NGAP_GNB_IMP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger RAN CONFIGURATION UPDATE!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_RANConfigurationUpdate_SupportedTAList( + { + mw_supportedTAItem( + ?,//template (present) TAC p_tAC := ?, + { + mw_ie_broadcastPLMNItem( + ?, + ?, + * + ) + },//?,//template (present) BroadcastPLMNList p_broadcastPLMNList := ?, + *//template SupportedTAItem.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_IMP_02 + + } // End of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + + /** + * @desc Testcase function for TC_NGAP_gNB_IMP_03 + */ + function f_TC_NGAP_GNB_IMP_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_AMFConfigurationUpdate_tnl( + //NOTUSED in template (value) AMFName p_AMFName, + { m_servedGUAMIItem( + m_gUAMI( + PX_PLMN_IDENTITY, + PX_AMF_REGION_ID, + PX_AMF_SET_ID, + PX_AMF_POINTER, + -//in template (omit) GUAMI.iE_Extensions p_iE_Extensions := omit + ),//in template (value) GUAMI p_gUAMI, + -,//in template (omit) AMFName p_backupAMFName := omit, + -//in template (omit) ServedGUAMIItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) ServedGUAMIList p_servedGUAMIList, + //NOT USED in template (value) RelativeAMFCapacity p_relativeAMFCapacity, + { + m_pLMNSupportItem( + PX_PLMN_IDENTITY, + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,//in template (omit) SD p_sD := omit, + -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) SliceSupportList p_sliceSupportList, + -//in template (omit) PLMNSupportItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) PLMNSupportList p_pLMNSupportList, + { + m_aMF_TNLAssociationToAddItem( + m_cPTransportLayerInformation_endpointIPAddress( + PX_TRANSPORT_LAYER_ADDRESS + ),//in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + 0,//in template (value) TNLAddressWeightFactor p_tNLAddressWeightFactor,TNLAddressWeightFactor ::= INTEGER (0..255) + -,//in template (omit) TNLAssociationUsage p_tNLAssociationUsage := omit, + -//in template (omit) AMF_TNLAssociationToAddItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) AMF_TNLAssociationToAddList p_aMF_TNLAssociationToAddList, + //NOT USED in template (value) AMF_TNLAssociationToRemoveList p_aMF_TNLAssociationToRemoveList, + { + m_aMF_TNLAssociationToUpdateItem( + m_cPTransportLayerInformation_endpointIPAddress( + PX_TRANSPORT_LAYER_ADDRESS + ),//in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + -,//in template (omit) TNLAssociationUsage p_tNLAssociationUsage := omit, + -,//in template (omit) TNLAddressWeightFactor p_tNLAddressWeightFactor := omit, + -//in template (omit) AMF_TNLAssociationToUpdateItem.iE_Extensions p_iE_Extensions := omit + ) + }//in template (value) AMF_TNLAssociationToUpdateList p_aMF_TNLAssociationToUpdateList//, + //NOT USED in template (value) Extended_AMFName p_extended_AMFName + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList( + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_IMP_03 + + /** + * @desc Testcase function for TC_NGAP_gNB_IMP_04 + */ + function f_TC_NGAP_GNB_IMP_04() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_AMFConfigurationUpdate_tnl( + //NOTUSED in template (value) AMFName p_AMFName, + { m_servedGUAMIItem( + m_gUAMI( + PX_PLMN_IDENTITY, + PX_AMF_REGION_ID, + PX_AMF_SET_ID, + PX_AMF_POINTER, + -//in template (omit) GUAMI.iE_Extensions p_iE_Extensions := omit + ),//in template (value) GUAMI p_gUAMI, + -,//in template (omit) AMFName p_backupAMFName := omit, + -//in template (omit) ServedGUAMIItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) ServedGUAMIList p_servedGUAMIList, + //NOT USED in template (value) RelativeAMFCapacity p_relativeAMFCapacity, + { + m_pLMNSupportItem( + PX_PLMN_IDENTITY, + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,//in template (omit) SD p_sD := omit, + -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) SliceSupportList p_sliceSupportList, + -//in template (omit) PLMNSupportItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) PLMNSupportList p_pLMNSupportList, + { + m_aMF_TNLAssociationToAddItem( + m_cPTransportLayerInformation_endpointIPAddress( + PX_TRANSPORT_LAYER_ADDRESS + ),//in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + 0,//in template (value) TNLAddressWeightFactor p_tNLAddressWeightFactor,TNLAddressWeightFactor ::= INTEGER (0..255) + -,//in template (omit) TNLAssociationUsage p_tNLAssociationUsage := omit, + -//in template (omit) AMF_TNLAssociationToAddItem.iE_Extensions p_iE_Extensions := omit + ) + },//in template (value) AMF_TNLAssociationToAddList p_aMF_TNLAssociationToAddList, + //NOT USED in template (value) AMF_TNLAssociationToRemoveList p_aMF_TNLAssociationToRemoveList, + { + m_aMF_TNLAssociationToUpdateItem( + m_cPTransportLayerInformation_endpointIPAddress( + PX_TRANSPORT_LAYER_ADDRESS + ),//in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + -,//in template (omit) TNLAssociationUsage p_tNLAssociationUsage := omit, + -,//in template (omit) TNLAddressWeightFactor p_tNLAddressWeightFactor := omit, + -//in template (omit) AMF_TNLAssociationToUpdateItem.iE_Extensions p_iE_Extensions := omit + ) + }//in template (value) AMF_TNLAssociationToUpdateList p_aMF_TNLAssociationToUpdateList//, + //NOT USED in template (value) Extended_AMFName p_extended_AMFName + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_AMFConfigurationUpdateFailure( + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_IMP_04 + + } // End of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + + /** + * @desc Testcase function for TC_NGAP_gNB_IMP_05 + */ + function f_TC_NGAP_GNB_IMP_05() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_NGReset( + m_cause_radioNetwork(PX_NG_SETUP_FAILURE), + m_resetType_nG_Interface( + m_resetAll(reset_all) + ) + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_NGResetAcknowledge + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_IMP_05 + + } // End of group NG_Reset + //8.7.5 + group Error_Indication{ + + /** + * @desc Testcase function for TC_NGAP_gNB_IMP_06 + */ + function f_TC_NGAP_GNB_IMP_06() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger ERROR INDICATION!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_ErrorIndication + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_IMP_06 + + } // End of group Error_Indication + //8.7.6 + group AMF_Status_Indication{ + } // End of group AMF_Status_Indication + //8.7.7 + group Overload_Start{ + } // End of group Overload_Start + //8.7.8 + group Overload_Stop{ + } // End of group Overload_Stop + } // End of group Interface_Management_Procedures + //8.8 + group Configuration_Transfer_Procedures{ + //8.8.1 + group Uplink_RAN_Configuration_Transfer{ + + /** + * @desc Testcase function for TC_NGAP_gNB_CTP_01 + */ + function f_TC_NGAP_GNB_CTP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger Uplink_RAN_Configuration_Transfer!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkRANConfigurationTransfer + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + } + } // End of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + + /** + * @desc Testcase function for TC_NGAP_AMF_CTP_01 + */ + function f_TC_NGAP_AMF_CTP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger Downlink_RAN_Configuration_Transfer!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkRANConfigurationTransfer + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + } + + } // End of group Downlink_RAN_Configuration_Transfer + } // End of group Configuration_Transfer_Procedures + //8.9 + group Warning_Message_Transmission_Procedures{ + //8.9.1 + group Write_Replace_Warning{ + + /** + * @desc Testcase function for TC_NGAP_gNB_WTP_01 + */ + function f_TC_NGAP_GNB_WTP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_WriteReplaceWarningRequest( + PX_MESSAGE_IDENTIFIER, + PX_SERIAL_NUMBER, + PX_REPETITION_PERIOD, + PX_NUMBER_OF_BROADCASTS_REQUESTED + ) + )); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_WriteReplaceWarningResponse( + PX_MESSAGE_IDENTIFIER, + PX_SERIAL_NUMBER + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_WTP_01 + + /** + * @desc Testcase function for TC_NGAP_gNB_WTP_02 + */ + function f_TC_NGAP_GNB_WTP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_WriteReplaceWarningRequest( + PX_MESSAGE_IDENTIFIER, // indicating value "different from already being broadcasted", + PX_SERIAL_NUMBER, //indicating value "different from already being broadcasted", + PX_REPETITION_PERIOD, + PX_NUMBER_OF_BROADCASTS_REQUESTED + ) + )); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_WriteReplaceWarningResponse( + PX_MESSAGE_IDENTIFIER, + PX_SERIAL_NUMBER + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_WTP_02 + + } // End of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + + /** + * @desc Testcase function for TC_NGAP_gNB_WTP_03 + */ + function f_TC_NGAP_GNB_WTP_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PWSCancelRequest( + PX_MESSAGE_IDENTIFIER, + PX_SERIAL_NUMBER + ) + )); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PWSCancelResponse( + PX_MESSAGE_IDENTIFIER, + PX_SERIAL_NUMBER + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_WTP_03 + + } // End of group PWS_Cancel + //8.9.3 + group PWS_Restart_Indication{ + + /** + * @desc Testcase function for TC_NGAP_gNB_WTP_04 + */ + function f_TC_NGAP_GNB_WTP_04() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + //f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PWS_Restart_Indication!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PWSRestartIndication( + ?,//in template (value) CellIDListForRestart p_cellIDListForRestart, + ?,//in template (value) GlobalRANNodeID p_globalRANNodeID, + ?,//in template (value) TAIListForRestart p_tAIListForRestart, + ?//in template (value) EmergencyAreaIDListForRestart p_emergencyAreaIDListForRestart + ) + ) + ); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_WTP_04 + + } // End of group PWS_Restart_Indication + //8.9.4 + group PWS_Failure_Indication{ + + /** + * @desc Testcase function for TC_NGAP_gNB_WTP_05 + */ + function f_TC_NGAP_GNB_WTP_05() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PWS_Failure_Indication!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PWSFailureIndication( + ?,//template (present) PWSFailedCellIDList p_pWSFailedCellIDList := ?, + ?//template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_WTP_05 + + } // End of group PWS_Failure_Indication + } // End of group Warning_Message_Transmission_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + + /** + * @desc Testcase function for TC_NGAP_gNB_NTP_01 + */ + function f_TC_NGAP_GNB_NTP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger NRPPA transport procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkUEAssociatedNRPPaTransport( + ?, + ?, + ?,//template (present) RoutingID p_routingID := ?, + ?//template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_NTP_01 + + /** + * @desc Testcase function for TC_NGAP_gNB_NTP_02 + */ + function f_TC_NGAP_GNB_NTP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger NRPPA transport procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkNonUEAssociatedNRPPaTransport( + ?,//template (present) RoutingID p_routingID := ?, + ?//template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_NTP_02 + + } // End of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + + /** + * @desc Testcase function for TC_NGAP_gNB_TRP_01 + */ + function f_TC_NGAP_GNB_TRP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_TraceStart( + -, + -, + m_traceActivation( + '0000000000000001'O,//in template (value) NGRANTraceID p_nGRANTraceID, + '00000000'B,//in template (value) InterfacesToTrace p_interfacesToTrace, + m_traceDepth(minimum), + PX_TRANSPORT_LAYER_ADDRESS, + omit//in template (omit) TraceActivation.iE_Extensions p_iE_Extensions := omit + ) + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_TraceFailureIndication( + -, + -, + ?, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_TRP_01 + + } // End of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + } // End of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + + /** + * @desc Testcase function for TC_NGAP_gNB_TRP_02 + */ + function f_TC_NGAP_GNB_TRP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_DeactivateTrace( + -, + -, + '0000000000000001'O//in template (value) NGRANTraceID p_NGRANTraceID + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_TraceFailureIndication( + -, + -, + ?, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_TRP_02 + + } // End of group Deactivate_Trace + //8.11.4 + group Cell_Traffic_Trace{ + + /** + * @desc Testcase function for TC_NGAP_gNB_TRP_03 + */ + function f_TC_NGAP_GNB_TRP_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger CELL TRAFFIC TRACE!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_CellTrafficTrace( + ?, + ?, + ?, + ?, + ?, + ?, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_TRP_03 + + } // End of group Cell_Traffic_Trace + } // End of group Trace_Procedures + //8.12 + group Location_Reporting_Procedures{ + //8.12.1 + group Location_Reporting_Control{ + } // End of group Location_Reporting_Control + //8.12.2 + group Location_Reporting_Failure_Indication{ + + /** + * @desc Testcase function for TC_NGAP_LRP_01 + */ + function f_TC_NGAP_GNB_LRP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_LocationReportingControl( + -, + -, + m_locationReportingRequestType( + direct, + cell, + { + m_areaOfInterestItem( + m_areaOfInterest, + 1, + - + ), + m_areaOfInterestItem( + m_areaOfInterest, + 1, + - + ) + }, + -, + - + ) + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_LocationReportingFailureIndication(-,-,m_cause_radioNetwork(PX_CAUSE_MULTIPLE_LOCATION_REPORTING)) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_LRP_01 + + } // End of group Location_Reporting_Failure_Indication + //8.12.3 + group Location_Report{ + + /** + * @desc Testcase function for TC_NGAP_LRP_02 + */ + function f_TC_NGAP_GNB_LRP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_LocationReportingControl( + -, + -, + m_locationReportingRequestType(direct,cell) + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_LocationReport(-,-,-,-) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_LRP_02 + + } // End of group Location_Report + } // End of group Location_Reporting_Procedures + //8.13 + group UE_TNLA_Binding_Procedures{ + //8.13.1 + group UE_TNLA_Binding_Release{ + } // End of group UE_TNLA_Binding_Release + } // End of group UE_TNLA_Binding_Procedures + //8.14 + group UE_Radio_Capability_Management_Procedures{ + //8.14.1 + group UE_Radio_Capability_Info_Indication{ + + /** + * @desc Testcase function for TC_NGAP_gNB_URP_01 + */ + function f_TC_NGAP_GNB_URP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger UE Radio Capability Management procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UERadioCapabilityInfoIndication( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_URP_01 + + } // End of group UE_Radio_Capability_Info_Indication + //8.14.2 + group UE_Radio_Capability_Check{ + + /** + * @desc Testcase function for TC_NGAP_gNB_URP_02 + */ + function f_TC_NGAP_GNB_URP_02() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UERadioCapabilityCheckRequest( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UERadioCapabilityCheckResponse( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + ?// template (present) IMSVoiceSupportIndicator p_iMSVoiceSupportIndicator := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_URP_02 + + } // End of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + + /** + * @desc Testcase function for TC_NGAP_gNB_URP_03 + */ + function f_TC_NGAP_GNB_URP_03() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UERadioCapabilityIDMappingRequest( + ?//template (present) UERadioCapabilityID p_uERadioCapabilityID := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_URP_03 + + } // End of group UE_Radio_Capability_ID_Mapping + } // End of group UE_Radio_Capability_Management_Procedures + //8.15 + group Data_Usage_Reporting_Procedures{ + //8.15.1 + group Secondary_RAT_Data_Usage_Report{ + + /** + * @desc Testcase function for TC_NGAP_gNB_DRP_01 + */ + function f_TC_NGAP_GNB_DRP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger SECONDARY_RAT_DATA_USAGE_REPORT !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_SecondaryRATDataUsageReport( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + ?//template (present) PDUSessionResourceSecondaryRATUsageList p_pDUSessionResourceSecondaryRATUsageList := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_DRP_01 + + } // End of group Secondary_RAT_Data_Usage_Report + } // End of group Data_Usage_Reporting_Procedures + //8.16 + group RIM_Information_Transfer_Procedures{ + //8.16.1 + group Uplink_RIM_Information_Transfer{ + + /** + * @desc Testcase function for TC_NGAP_gNB_RIP_01 + */ + function f_TC_NGAP_GNB_RIP_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_NGAP_amf_UE_Register(); + //f_NGAP_amf_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger a uplink RIM Information Transfer procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UplinkRIMInformationTransfer( + ?//template (present) RIMInformationTransfer p_rIMInformationTransfer := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_gNB_RIP_01 + + } // End of group Uplink_RIM_Information_Transfer + //8.16.2 + group Downlink_RIM_Information_Transfer{ + } // End of group Downlink_RIM_Information_Transfer + } // End of group RIM_Information_Transfer_Procedures + } // End of group gNB_Role + + group aMF_Role{ + //8.2 + group PDU_Session_Management_Procedures{ + //8.2.1 + group PDU_Session_Resource_Setup{ + + /** + * @desc Testcase function for TC_NGAP_aMF_PDU_01 + */ + function f_TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PDU session resource SETUP!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PDUSessionResourceSetupRequest( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + mw_pDUSessionResourceSetupItemSUReq( + PX_PDU_SESSION_ID, + mw_s_NSSAI( + PX_SST, + -,//in template (omit) SD p_sD := omit, + -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + ?,//decmatch(mw_pDUSessionResourceSetupRequestTransfer(?)),//OCTETSTRING + -,//in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit, + -//in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit + ) + }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_PDU_01 + + } // End of group PDU_Session_Resource_Setup + //8.2.2 + group PDU_Session_Resource_Release{ + + /** + * @desc Testcase function for TC_NGAP_AMF_PDU_02 + */ + function f_TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PDU session resource RELEASE!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PDUSessionResourceReleaseCommand( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + mw_pDUSessionResourceToReleaseItemRelCmd( + PX_PDU_SESSION_ID, + ?,//decmatch(mw_pDUSessionResourceReleaseCommandTransfer(?,-)),OCTETSTRING + -//in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_PDU_02 + + } // End of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + + /** + * @desc Testcase function for TC_NGAP_AMF_PDU_03 + */ + function f_TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PDU session resource MODIFY!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PDUSessionResourceModify( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + mw_pDUSessionResourceModifyItemModReq( + PX_PDU_SESSION_ID, + ?,//decmatch(mw_pDUSessionResourceModifyRequestTransfer(*)),OCTETSTRING + -,//template NAS_PDU p_nAS_PDU := *, + -//template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_PDU_03 + + } // End of group PDU_Session_Resource_Modify + //8.2.4 + group PDU_Session_Resource_Notify{ + } // End of group PDU_Session_Resource_Notify + //8.2.5 + group PDU_Session_Resource_Modify_Indication{ + + /** + * @desc Testcase function for TC_NGAP_AMF_PDU_04 + */ + function f_TC_NGAP_AMF_PDU_04() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceModifyIndication( + PX_AMF_UE_NGAP_ID,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + PX_RAN_UE_NGAP_ID,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + m_pDUSessionResourceModifyItemModInd( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + bit2oct(encvalue( + m_pDUSessionResourceModifyIndicationTransfer( + m_qosFlowPerTNLInformation( + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel( + PX_TRANSPORT_LAYER_ADDRESS, + PX_GTP_TEID, + omit + ) + ), + { + m_associatedQosFlowItem( + PX_QOS_FLOW_IDENTIFIER, + omit, + omit + ) + },//in template (value) AssociatedQosFlowList p_associatedQosFlowList, + omit//in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit + ),//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + omit,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + omit//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * + ))), + omit//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceModifyConfirm( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + mw_pDUSessionResourceModifyItemModCfm( + PX_PDU_SESSION_ID, + decmatch( + mw_pDUSessionResourceModifyConfirmTransfer( + ?,//template (present) QosFlowModifyConfirmList p_qosFlowModifyConfirmList := ?, + ?,//template (present) UPTransportLayerInformation p_uLNGU_UP_TNLInformation := ?, + -,//template UPTransportLayerInformationPairList p_additionalNG_UUPTNLInformation := *, + -,//template QosFlowListWithCause p_qosFlowFailedToModifyList := *, + -//template PDUSessionResourceModifyConfirmTransfer.iE_Extensions p_iE_Extensions := * + ) + ),// OCTETSTRING + -//template PDUSessionResourceModifyItemModCfm.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_PDU_04 + + /** + * @desc Testcase function for TC_NGAP_AMF_PDU_05 + */ + function f_TC_NGAP_AMF_PDU_05() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceModifyIndication( + PX_AMF_UE_NGAP_ID,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + PX_RAN_UE_NGAP_ID,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + { + ( + m_pDUSessionResourceModifyItemModInd( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + bit2oct(encvalue( + m_pDUSessionResourceModifyIndicationTransfer( + m_qosFlowPerTNLInformation( + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel( + PX_TRANSPORT_LAYER_ADDRESS, + PX_GTP_TEID, + omit + ) + ), + { + m_associatedQosFlowItem( + PX_QOS_FLOW_IDENTIFIER, + omit, + omit + ) + },//in template (value) AssociatedQosFlowList p_associatedQosFlowList, + omit//in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit + ),//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + omit,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + omit//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * + ))), + omit//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * + ) + ) + } + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + //? //FIXME missing template mw_n2_PDUSessionResourceFailedToModifyListModCfm + mw_n2_PDUSessionResourceModifyConfirm_failed( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + { + mw_pDUSessionResourceFailedToModifyItemModCfm( + PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, + decmatch( + mw_pDUSessionResourceModifyIndicationUnsuccessfulTransfer( + ?,//template (present) Cause p_cause := ?, + -//template PDUSessionResourceModifyIndicationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + )//OCTETSTRINGtemplate (present) PDUSessionResourceFailedToModifyItemModCfm.pDUSessionResourceModifyIndicationUnsuccessfulTransfer p_pDUSessionResourceModifyIndicationUnsuccessfulTransfer := ?, + ), + *//template PDUSessionResourceFailedToModifyItemModCfm.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_PDU_05 + + } // End of group PDU_Session_Resource_Modify_Indication + } // End of group PDU_Session_Management_Procedures + //8.3 + group UE_Context_Management_Procedures{ + //8.3.1 + group Initial_Context_Setup{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_01 + */ + function f_TC_NGAP_AMF_CMP_01() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a PDU initial context setup procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_InitialContextSetupRequest_withPDUSessionList( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + mw_gUAMI + ( + PX_PLMN_IDENTITY, + PX_AMF_REGION_ID, + PX_AMF_SET_ID, + PX_AMF_POINTER, + * + ), + { + mw_pDUSessionResourceSetupItemCxtReq + ( + PX_PDU_SESSION_ID, + mw_s_NSSAI + ( + PX_SST + ), + ?, + *, + * + ) + }, + ?, + ?, + ? + ))); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_01 + + + + } // End of group Initial_Context_Setup + //8.3.2 + group UE_Context_Release_Request_NG_RAN_node_initiated{ + } // End of group UE_Context_Release_Request_NG_RAN_node_initiated + //8.3.3 + group UE_Context_Release_AMF_initiated{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_02 + */ + function f_TC_NGAP_AMF_CMP_02() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a UE context release command!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEContextReleaseCommand + ( + mw_uE_NGAP_IDs_uE_NGAP_ID_pair + ( + mw_uE_NGAP_ID_pair + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + * + ) + ), + ? + ))); + + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_02 + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_03 + */ + function f_TC_NGAP_AMF_CMP_03() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a UE context release command!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEContextReleaseCommand + ( + mw_uE_NGAP_IDs_aMF_UE_NGAP_ID + ( + PX_AMF_UE_NGAP_ID + ), + ? + ) + )); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_03 + + + } // End of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_04 + */ + function f_TC_NGAP_AMF_CMP_04() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + // TODO: hasEstablishedInitialContext + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a PDU UE context modification procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEContextModificationRequest + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + )); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_04 + + + } // End of group UE_Context_Modification + //8.3.5 + group RRC_Inactive_Transition_Report{ + } // End of group RRC_Inactive_Transition_Report + //8.3.6 + group Connection_Establishment_Indication{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_05 + */ + function f_TC_NGAP_AMF_CMP_05() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a PDU UE context modification procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_ConnectionEstablishmentIndication + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + )); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_05 + + + } // End of group Connection_Establishment_Indication + //8.3.7 + group AMF_CP_Relocation_Indication{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_06 + */ + function f_TC_NGAP_AMF_CMP_06() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + action("Trigger a AMF CP relocation indication procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_AMFCPRelocationIndication + ( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + )); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_06 + + + } // End of group AMF_CP_Relocation_Indication + //8.3.8 + group RAN_CP_Relocation_Indication{ + } // End of group RAN_CP_Relocation_Indication + //8.3.9 + group Retrieve_UE_Information{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_07 + */ + function f_TC_NGAP_AMF_CMP_07() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_RetrieveUEInformation + ( + m_fiveG_S_TMSI // FiveG_S_TMSI + ( + PX_AMF_SET_ID, + PX_AMF_POINTER, + '00000001'O, + omit + ) + ) + )); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UEInformationTransfer + ( + mw_fiveG_S_TMSI + ( + PX_AMF_SET_ID, + PX_AMF_POINTER, + ?, + * + ) + ) + )); + + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_07 + } // End of group Retrieve_UE_Information + //8.3.10 + group UE_Information_Transfer{ + } // End of group UE_Information_Transfer + //8.3.11 + group UE_Context_Suspend{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_08 + */ + function f_TC_NGAP_AMF_CMP_08() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextSuspendRequest( + -, + -, + { + m_pDUSessionResourceSuspendItemSUSReq( + -, + bit2oct( + encvalue( + m_uEContextSuspendRequestTransfer(-,-) + ) + ), + - + ) + } + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContextSuspendResponse( + ?, + ? + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_08 + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_09 + */ + function f_TC_NGAP_AMF_CMP_09() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_EstablishedInitialContext(); + f_NGAP_gnb_UE_HasPendingDataTransmission(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextSuspendRequest( + -, + -, + { + m_pDUSessionResourceSuspendItemSUSReq( + -, + bit2oct( + encvalue( + m_uEContextSuspendRequestTransfer(-,-) + ) + ), + - + ) + } + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_UEContextSuspendFailure( + ?, + ?, + ? + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_09 + + } // End of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_10 + */ + function f_TC_NGAP_AMF_CMP_10() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_Has_Suspended_Context(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextResumeRequest( + -, + -, + - + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UEContextResumeResponse( + ?, + ? + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_10 + + /** + * @desc Testcase function for TP_NGAP_AMF_CMP_11 + */ + function f_TC_NGAP_AMF_CMP_11() runs on gNBNGAPComponent { + + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + f_NGAP_gnb_UE_Has_Suspended_Context(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UEContextResumeRequest( + -, + -, + - + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_UEContextResumeFailure( + ?, + ?, + ? + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_gNB(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_CMP_11 + + + } // End of group UE_Context_Resume + } // End of group UE_Context_Management_Procedures + //8.4 + group UE_Mobility_Management_Procedures{ + //8.4.1 + group Handover_Preparation{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_01 + */ + function f_TC_NGAP_AMF_MMP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequired( + -, -, -, -, + m_targetID_targetRANNodeID( + m_targetRANNodeID( + m_globalRANNodeID_globalGNB_ID( + m_ie_globalGnbId( + -, + PX_GNB_ID + )), + m_tAI + )), + { + m_pDUSessionResourceItemHORqd( + -, + ''O // FIXME FSCOM Shall be bit2oct(encvalue(???)) + ) + }, + ''O // FIXME FSCOM Shall be bit2oct(encvalue(???)) + ))); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_HandoverCommand( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + -, + ?/* FIXME FSCOM { + m_pDUSessionResourceHandoverItem( + bit2oct(encvalue(m_handoverCommandTransfer(???)))) + }*/ + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_01 + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_02 + */ + function f_TC_NGAP_AMF_MMP_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_NGAP_gnb_UE_Not_Available(); + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverRequired( + -, -, -, -, + m_targetID_targetRANNodeID( + m_targetRANNodeID( + m_globalRANNodeID_globalGNB_ID( + m_ie_globalGnbId( + -, + PX_GNB_ID + )), + m_tAI + )), + { + m_pDUSessionResourceItemHORqd( + -, + ''O // FIXME FSCOM Shall be bit2oct(encvalue(???)) + ) + }, + ''O // FIXME FSCOM Shall be bit2oct(encvalue(???)) + ))); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_HandoverFailure( + PX_AMF_UE_NGAP_ID + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_02 + + } // End of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_03 + */ + function f_TC_NGAP_AMF_MMP_03() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_03 + + } // End of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + } // End of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_04 + */ + function f_TC_NGAP_AMF_MMP_04() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_04 + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_05 + */ + function f_TC_NGAP_AMF_MMP_05() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_05 + + } // End of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_06 + */ + function f_TC_NGAP_AMF_MMP_06() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_HandoverCancel + )); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_HandoverCancelAcknowledge + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_06 + + } // End of group Handover_Cancellation + //8.4.6 + group Uplink_RAN_Status_Transfer{ + } // End of group Uplink_RAN_Status_Transfer + //8.4.7 + group Downlink_RAN_Status_Transfer{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_07 + */ + function f_TC_NGAP_AMF_MMP_07() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("the IUT entity indicate a Downlink RAN Status Transfer procedure"); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkRANStatusTransfer( + -, + -, + mw_rANStatusTransfer_TransparentContainer( + { + *, + mw_dRBsSubjectToStatusTransferItem( + PX_DRB_ID, + mw_dRBStatusUL_dRBStatusUL12, + mw_dRBStatusDL_dRBStatusDL12 + ), + * + } + )))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_07 + + } // End of group Downlink_RAN_Status_Transfer + //8.4.8 + group Handover_Success{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_08 + */ + function f_TC_NGAP_AMF_MMP_08() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("the IUT entity indicate the initiation \"of an UE handover success procedure\""); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_HandoverSuccess + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_08 + + } // End of group Handover_Success + //8.4.9 + group Uplink_RAN_Early_Status_Transfer{ + } // End of group Uplink_RAN_Early_Status_Transfer + //8.4.10 + group Downlink_RAN_Early_Status_Transfer{ + + /** + * @desc Testcase function for TC_NGAP_aMF_MMP_09 + */ + function f_TC_NGAP_AMF_MMP_09() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("the IUT entity indicate a Downlink RAN Early Status Transfer procedure"); + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkRANEarlyStatusTransfer( + -, + -, + mw_earlyStatusTransfer_TransparentContainer( + mw_procedureStageChoice_firstDLCount( + mw_firstDLCount( + { + *, + mw_dRBsSubjectToEarlyStatusTransfer_Item( + PX_DRB_ID, + mw_dRBStatusDL_dRBStatusDL12 + ), + * + } + )))))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_MMP_09 + + } // End of group Downlink_RAN_Early_Status_Transfer + } // End of group UE_Mobility_Management_Procedures + //8.5 + group Paging_Procedures{ + //8.5.1 + group Paging{ + + /** + * @desc Testcase function for TC_NGAP_AMF_PAG_01 + */ + function f_TC_NGAP_AMF_PAG_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger Paging!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_Paging( + mw_uEPagingIdentity_fiveG_S_TMSI( + mw_fiveG_S_TMSI(-,-,-,-) + ),{ + mw_tAIListForPagingItem( + mw_tAI(-,-,-) + )} + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + } + + } // End of group Paging + } // End of group Paging_Procedures + //8.6 + group Transport_of_NAS_Messages_Procedures{ + //8.6.1 + group Initial_UE_Message{ + } // End of group Initial_UE_Message + //8.6.2 + group Downlink_NAS_Transport{ + + /** + * @desc Testcase function for TC_NGAP_AMF_NAS_01 + */ + function f_TC_NGAP_AMF_NAS_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_initialUeMessage( + -, + ''O, // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???)) + m_uPTransportLayerInformation_userLocationInformationNR( + m_userLocationInformationNR( + m_nR_CGI, + m_tAI + )) + ))); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_RerouteNASRequest( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + ''O // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???))) + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_NAS_01 + + } // End of group Downlink_NAS_Transport + //8.6.3 + group Uplink_NAS_Transport{ + } // End of group Uplink_NAS_Transport + //8.6.4 + group NAS_Non_Delivery_Indication{ + } // End of group NAS_Non_Delivery_Indication + //8.6.5 + group Rerout_NAS_Request{ + + /** + * @desc Testcase function for TC_NGAP_AMF_NAS_02 + */ + function f_TC_NGAP_AMF_NAS_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_initialUeMessage( + -, + ''O, // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???)) + m_uPTransportLayerInformation_userLocationInformationEUTRA( + m_userLocationInformationEUTRA( + m_uUTRA_CGI, + m_tAI + )) + ))); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkNASTransport( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID, + ''O // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???))) + ))); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_NAS_02 + + } // End of group Rerout_NAS_Request + } // End of group Transport_of_NAS_Messages_Procedures + //8.7 + group Interface_Management_Procedures{ + //8.7.1 + group NG_Setup{ + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_01 + */ + function f_TC_NGAP_AMF_IMP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_NGSetupRequest( + m_globalRANNodeID_globalGNB_ID( + m_ie_globalGnbId( + PX_PLMN_IDENTITY, + PX_GNB_ID,//'0000000000000000000000'B,//in template (value) bitstring p_gnbId, + -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit + ) + ), + { + m_supportedTAItem( + PX_TACode, + { + m_ie_broadcastPLMNItem( + PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O), + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,// in template (omit) SD p_sD := omit, + -// in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + },//in template (value) BroadcastPLMNList p_broadcastPLMNList, + -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) + }, + PX_PAGING_DRX + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_NGSetupResponse( + ?, + { + mw_servedGUAMIItem( + mw_gUAMI( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + ?,//template (present) AMFRegionID p_aMFRegionID := ?, + ?,//template (present) AMFSetID p_aMFSetID := ?, + ?,//template (present) AMFPointer p_aMFPointer := ?, + *//template GUAMI.iE_Extensions p_iE_Extensions := * + ),//template (present) GUAMI p_gUAMI := ?, + *,//template AMFName p_backupAMFName := *, + *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) ServedGUAMIList p_servedGUAMIList := ?, + ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, + { + mw_pLMNSupportItem( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + { + mw_sliceSupportItem( + mw_s_NSSAI( + ?,//template (present) SST p_sST := ?, + *,//template SD p_sD := *, + *//template S_NSSAI.iE_Extensions p_iE_Extensions := * + ),//template (present) S_NSSAI p_s_NSSAI := ?, + ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) SliceSupportList p_sliceSupportList := ?, + *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * + ) + }//template (present) PLMNSupportList p_plmnSuppList := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_01 + + /** + * @desc Testcase function for TC_NGAP_AMF_IMP_02 + */ + function f_TC_NGAP_AMF_IMP_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_NGSetupRequest( + m_globalRANNodeID_globalGNB_ID( + m_ie_globalGnbId( + PX_PLMN_IDENTITY, + PX_GNB_ID,//'0000000000000000000000'B,//in template (value) bitstring p_gnbId, + -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit + ) + ), + { + m_supportedTAItem( + PX_TACode, + { + m_ie_broadcastPLMNItem( + PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O), + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,// in template (omit) SD p_sD := omit, + -// in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + },//in template (value) BroadcastPLMNList p_broadcastPLMNList, + -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) + }, + PX_PAGING_DRX + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_NGSetupFailure( + ?//template (present) Cause p_cause := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_02 + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_03 + */ + function f_TC_NGAP_AMF_IMP_03() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_NGSetupRequest_UERetentionInf( + m_globalRANNodeID_globalGNB_ID( + m_ie_globalGnbId( + PX_PLMN_IDENTITY, + '0000000000000000000000'B,//in template (value) bitstring p_gnbId, + -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit + ) + ), + { + m_supportedTAItem( + PX_TACode, + { + m_ie_broadcastPLMNItem( + PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O), + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,// in template (omit) SD p_sD := omit, + -// in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + },//in template (value) BroadcastPLMNList p_broadcastPLMNList, + -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) + }, + PX_PAGING_DRX, + m_uERetentionInformation(-)//UERetention_Information template m_uERetentionInformation(in UERetentionInformation p_value := ues_retained) + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_NGSetupResponse_UERetentionInf( + ?, + { + mw_servedGUAMIItem( + mw_gUAMI( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + ?,//template (present) AMFRegionID p_aMFRegionID := ?, + ?,//template (present) AMFSetID p_aMFSetID := ?, + ?,//template (present) AMFPointer p_aMFPointer := ?, + *//template GUAMI.iE_Extensions p_iE_Extensions := * + ),//template (present) GUAMI p_gUAMI := ?, + *,//template AMFName p_backupAMFName := *, + *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) ServedGUAMIList p_servedGUAMIList := ?, + ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, + { + mw_pLMNSupportItem( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + { + mw_sliceSupportItem( + mw_s_NSSAI( + ?,//template (present) SST p_sST := ?, + *,//template SD p_sD := *, + *//template S_NSSAI.iE_Extensions p_iE_Extensions := * + ),//template (present) S_NSSAI p_s_NSSAI := ?, + ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) SliceSupportList p_sliceSupportList := ?, + *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) PLMNSupportList p_plmnSuppList := ? + ?//UERetention_Information template mw_uERetentionInformation(template (present) UERetentionInformation p_value := ues_retained) + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_03 + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_04 + */ + function f_TC_NGAP_AMF_IMP_04() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_NGSetupRequest_ExtRanNodeName( + m_globalRANNodeID_globalGNB_ID( + m_ie_globalGnbId( + PX_PLMN_IDENTITY, + '0000000000000000000000'B,//in template (value) bitstring p_gnbId, + -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit + ) + ), + { + m_supportedTAItem( + PX_TACode, + { + m_ie_broadcastPLMNItem( + PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O), + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,// in template (omit) SD p_sD := omit, + -// in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + },//in template (value) BroadcastPLMNList p_broadcastPLMNList, + -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) + }, + PX_PAGING_DRX, + m_nB_IoT_DefaultPagingDRX(-),//NB_IoT_Default_Paging_DRX, + m_extended_RANNodeName( + -,//in template (omit) RANNodeNameVisibleString p_rANNodeNameVisibleString := omit, + -,//in template (omit) RANNodeNameUTF8String p_rANNodeNameUTF8String := omit, + -//in template (omit) Extended_RANNodeName.iE_Extensions p_iE_Extensions := omit + )//Extended_RAN_Node_Name containing RAN_Node_Name_Visible;;; m_extended_RANNodeName... + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_NGSetupResponse_ExtAmfName( + ?, + { + mw_servedGUAMIItem( + mw_gUAMI( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + ?,//template (present) AMFRegionID p_aMFRegionID := ?, + ?,//template (present) AMFSetID p_aMFSetID := ?, + ?,//template (present) AMFPointer p_aMFPointer := ?, + *//template GUAMI.iE_Extensions p_iE_Extensions := * + ),//template (present) GUAMI p_gUAMI := ?, + *,//template AMFName p_backupAMFName := *, + *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) ServedGUAMIList p_servedGUAMIList := ?, + ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, + { + mw_pLMNSupportItem( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + { + mw_sliceSupportItem( + mw_s_NSSAI( + ?,//template (present) SST p_sST := ?, + *,//template SD p_sD := *, + *//template S_NSSAI.iE_Extensions p_iE_Extensions := * + ),//template (present) S_NSSAI p_s_NSSAI := ?, + ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) SliceSupportList p_sliceSupportList := ?, + *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) PLMNSupportList p_plmnSuppList := ? + ?//Extended_RAN_Node_Name containing RAN_Node_Name_Visible;;; mw_extended_RANNodeName... + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_04 + + } // End of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_05 + */ + function f_TC_NGAP_AMF_IMP_05() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_RANConfigurationUpdate_SupportedTAList( + //template (value) SupportedTAList + { + m_supportedTAItem( + PX_TACode, + { + m_ie_broadcastPLMNItem( + PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O), + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,// in template (omit) SD p_sD := omit, + -// in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + },//in template (value) BroadcastPLMNList p_broadcastPLMNList, + -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_RANConfigurationUpdateAcknowledge + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_05 + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_06 + */ + function f_TC_NGAP_AMF_IMP_06() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_RANConfigurationUpdate_SupportedTAList( + //template (value) SupportedTAList + { + m_supportedTAItem( + PX_TACode, + { + m_ie_broadcastPLMNItem( + PX_PLMN_IDENTITY,//m_ie_pLMNIdentity('00f110'O), + { + m_sliceSupportItem( + m_s_NSSAI( + PX_SST, + -,// in template (omit) SD p_sD := omit, + -// in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ), + -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + },//in template (value) BroadcastPLMNList p_broadcastPLMNList, + -//in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) + } + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_unsuccMsg( + mw_n2_RANConfigurationUpdateFailure( + ?//template (present) Cause p_cause := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_06 + + } // End of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_07 + */ + function f_TC_NGAP_AMF_IMP_07() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger AMF CONFIGURATION UPDATE !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_AMFConfigurationUpdate_options( + ?,//template (present) AMFName p_aMFName := ? + { + mw_servedGUAMIItem( + mw_gUAMI( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + ?,//template (present) AMFRegionID p_aMFRegionID := ?, + ?,//template (present) AMFSetID p_aMFSetID := ?, + ?,//template (present) AMFPointer p_aMFPointer := ?, + *//template GUAMI.iE_Extensions p_iE_Extensions := * + ),//template (present) GUAMI p_gUAMI := ?, + *,//template AMFName p_backupAMFName := *, + *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) ServedGUAMIList p_servedGUAMIList := ?, + { + mw_pLMNSupportItem( + ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, + { + mw_sliceSupportItem( + mw_s_NSSAI( + ?,//template (present) SST p_sST := ?, + *,//template SD p_sD := *, + *//template S_NSSAI.iE_Extensions p_iE_Extensions := * + ),//template (present) S_NSSAI p_s_NSSAI := ?, + ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * + ) + },//template (present) SliceSupportList p_sliceSupportList := ?, + *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * + ) + }//template (present) PLMNSupportList p_plmnSuppList := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_07 + + } // End of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_08 + */ + function f_TC_NGAP_AMF_IMP_08() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + //f_NGAP_gnb_UE_Register(); + //f_NGAP_gnb_UE_PDU_ResourceSetup(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_NGReset( + m_cause_misc(m_causeMisc(-)),//in template (value) Cause p_cause, + m_resetType_nG_Interface( + m_resetAll(reset_all) + )//in template (value) ResetType p_resetType + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_NGResetAcknowledge + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_08 + + } // End of group NG_Reset + //8.7.5 + group Error_Indication{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_09 + */ + function f_TC_NGAP_AMF_IMP_09() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_InitialContextSetupRequest( + -, + -, + m_gUAMI, + { + { + PX_PDU_SESSION_ID, + omit, + m_s_NSSAI('00'O, '000000'O), + bit2oct( + encvalue( + m_pDUSessionResourceSetupRequestTransfer( + m_pDUSessionResourceSetupRequestTransfer_mandatories( + m_pDUSessionType(ipv4), + { + m_qosFlowSetupRequestItem( + PX_QOS_FLOW_IDENTIFIER, + m_qosFlowLevelQosParameters( + m_qosCharacteristics_dynamic5QI( + m_dynamic5QIDescriptor( + 1,//in template (value) PriorityLevelQos p_priorityLevelQos, + 0,//in template (value) PacketDelayBudget p_packetDelayBudget, + m_PacketErrorRate( + 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, + 0//in template (value) PacketErrorRate.pERExponent p_pERExponent + ))), + m_allocationAndRetentionPriority( + 1,//in template (value) PriorityLevelARP p_priorityLevelARP, + shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, + not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + ))) + }, + m_uPTransportLayerInformation_gTPTunnel( + m_gTPTunnel + )))) + ), + omit + } + }, + { + m_allowedNSSAI_Item( + m_s_NSSAI('00'O, '000000'O) + ) + }, + m_uESecurityCapabilities, + - + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_ErrorIndication_ids( + ?, + ?, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_09 + + } // End of group Error_Indication + //8.7.6 + group AMF_Status_Indication{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_10 + */ + function f_TC_NGAP_AMF_IMP_10() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger AMF STATUS INDICATION !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_AMFStatusIndication( + { + mw_unavailableGUAMIItem( + mw_gUAMI( + ?, + ?, + ?, + ?, + * + ),//template (present) GUAMI p_gUAMI := ?, + *,//template TimerApproachForGUAMIRemoval p_timerApproachForGUAMIRemoval := *, + *,//template AMFName p_backupAMFName := *, + *//template UnavailableGUAMIItem.iE_Extensions p_iE_Extensions := * + ) + } + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_10 + + } // End of group AMF_Status_Indication + //8.7.7 + group Overload_Start{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_11 + */ + function f_TC_NGAP_AMF_IMP_11() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger OVERLOAD START !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_OverloadStart_NSSAIList(?) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_11 + + } // End of group Overload_Start + //8.7.8 + group Overload_Stop{ + + /** + * @desc Testcase function for TC_NGAP_AMF_IMF_12 + */ + function f_TC_NGAP_AMF_IMP_12() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger OVERLOAD STOP !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_OverloadStop + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_IMP_12 + + } // End of group Overload_Stop + } // End of group Interface_Management_Procedures + //8.8 + group Configuration_Transfer_Procedures{ + //8.8.1 + group Uplink_RAN_Configuration_Transfer{ + } // End of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + } // End of group Downlink_RAN_Configuration_Transfer + } // End of group Configuration_Transfer_Procedures + //8.9 + group Warning_Message_Transmission_Procedures{ + //8.9.1 + group Write_Replace_Warning{ + + /** + * @desc Testcase function for TC_NGAP_aMF_WTP_01 + */ + function f_TC_NGAP_AMF_WTP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger WRITE REPLACE WARNING REQUEST !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_WriteReplaceWarningRequest( + ?,// template (present) MessageIdentifier p_messageIdentifier :=?, + ?,// template (present) SerialNumber p_serialNumber := ?, + ?,// template (present) RepetitionPeriod p_repetitionPeriod := ?, + ?// template (present) NumberOfBroadcastsRequested p_numberOfBroadcastsRequested := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_WTP_01 + + } // End of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + + /** + * @desc Testcase function for TC_NGAP_aMF_WTP_02 + */ + function f_TC_NGAP_AMF_WTP_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger PWS CANCEL REQUEST !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_PWSCancelRequest( + ?,//template (present) MessageIdentifier p_messageIdentifier := ?, + ?// template (present) SerialNumber p_serialNumber := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_WTP_02 + + } // End of group PWS_Cancel + //8.9.3 + group PWS_Restart_Indication{ + } // End of group PWS_Restart_Indication + //8.9.4 + group PWS_Failure_Indication{ + } // End of group PWS_Failure_Indication + } // End of group Warning_Message_Transmission_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + + /** + * @desc Testcase function for TC_NGAP_aMF_NTP_01 + */ + function f_TC_NGAP_AMF_NTP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger DOWNLINK_UE_ASSOCIATED_NRPPA_TRANSPORT !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkUEAssociatedNRPPaTransport( + ?,//template (present) AMF_UE_NGAP_ID p_AMF_UE_NGAP_ID := ?, + ?,//template (present) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := ?, + ?,//template (present) RoutingID p_routingID := ?, + ?//template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_NTP_01 + + /** + * @desc Testcase function for TC_NGAP_aMF_NTP_02 + */ + function f_TC_NGAP_AMF_NTP_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkNonUEAssociatedNRPPaTransport( + ?,//template (present) RoutingID p_routingID := ?, + ?//template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_NTP_02 + + } // End of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + + /** + * @desc Testcase function for TC_NGAP_aMF_TRP_01 + */ + function f_TC_NGAP_AMF_TRP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger TRACE START!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_TraceStart( + ?, + ?, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_TRP_01 + + } // End of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + } // End of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + + /** + * @desc Testcase function for TC_NGAP_aMF_TRP_02 + */ + function f_TC_NGAP_AMF_TRP_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger DEACTIVATE TRACE!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DeactivateTrace( + ?, + ?, + ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_TRP_02 + + } // End of group Deactivate_Trace + //8.11.4 + group Cell_Traffic_Trace{ + } // End of group Cell_Traffic_Trace + } // End of group Trace_Procedures + //8.12 + group Location_Reporting_Procedures{ + //8.12.1 + group Location_Reporting_Control{ + + /** + * @desc Testcase function for TC_NGAP_AMF_LRP_01 + */ + function f_TC_NGAP_AMF_LRP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger Location Reporting Control procedure!"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_LocationReportingControl(-,-,-) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_LRP_01 + + } // End of group Location_Reporting_Control + //8.12.2 + group Location_Reporting_Failure_Indication{ + } // End of group Location_Reporting_Failure_Indication + //8.12.3 + group Location_Report{ + } // End of group Location_Report + } // End of group Location_Reporting_Procedures + //8.13 + group UE_TNLA_Binding_Procedures{ + //8.13.1 + group UE_TNLA_Binding_Release{ + + /** + * @desc Testcase function for TC_NGAP_aMF_UBP_01 + */ + function f_TC_NGAP_AMF_UBP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger UE TNLA BINDING procedure !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UETNLABindingReleaseRequest( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_UBP_01 + + } // End of group UE_TNLA_Binding_Release + } // End of group UE_TNLA_Binding_Procedures + //8.14 + group UE_Radio_Capability_Management_Procedures{ + //8.14.1 + group UE_Radio_Capability_Info_Indication{ + } // End of group UE_Radio_Capability_Info_Indication + //8.14.2 + group UE_Radio_Capability_Check{ + + /** + * @desc Testcase function for TC_NGAP_aMF_URP_01 + */ + function f_TC_NGAP_AMF_URP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger UE RADIO CAPABILITY CHECK management procedure !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_UERadioCapabilityCheckRequest( + PX_AMF_UE_NGAP_ID, + PX_RAN_UE_NGAP_ID + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_URP_01 + + } // End of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + + /** + * @desc Testcase function for TC_NGAP_aMF_URP_02 + */ + function f_TC_NGAP_AMF_URP_02() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_UERadioCapabilityIDMappingRequest( + '0000000000'O//in template (value) UERadioCapabilityID p_uERadioCapabilityID == OCTETSTRING + ) + ) + ); + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_UERadioCapabilityIDMappingResponse( + ?,//template (present) UERadioCapabilityID p_uERadioCapabilityID := ?, + ?//template (present) UERadioCapability p_uERadioCapability := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_URP_02 + + } // End of group UE_Radio_Capability_ID_Mapping + } // End of group UE_Radio_Capability_Management_Procedures + //8.15 + group Data_Usage_Reporting_Procedures{ + //8.15.1 + group Secondary_RAT_Data_Usage_Report{ + } // End of group Secondary_RAT_Data_Usage_Report + } // End of group Data_Usage_Reporting_Procedures + //8.16 + group RIM_Information_Transfer_Procedures{ + //8.16.1 + group Uplink_RIM_Information_Transfer{ + } // End of group Uplink_RIM_Information_Transfer + //8.16.2 + group Downlink_RIM_Information_Transfer{ + + /** + * @desc Testcase function for TC_NGAP_aMF_RIP_01 + */ + function f_TC_NGAP_AMF_RIP_01() runs on gNBNGAPComponent { + // Local variables + + // Preamble + f_NGAP_gnb_init(); + f_NGAP_gnb_UE_Register(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + action("Trigger RIM Information Transfer procedure !"); + + f_recv_NGAP_PDU( + mw_ngap_initMsg( + mw_n2_DownlinkRIMInformationTransfer( + ?//template (present) RIMInformationTransfer p_rIMInformationTransfer := ? + ) + ) + ); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); + + // Postamble + f_postamble_NGAP_AMF(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_NGAP_AMF_RIP_01 + + } // End of group Downlink_RIM_Information_Transfer + } // End of group RIM_Information_Transfer_Procedures + } // End of group aMF_Role + +} // End of module NGAP_TCFunctions \ No newline at end of file diff --git a/ttcn/AtsNGAP/NGAP_TestCases.ttcn b/ttcn/AtsNGAP/NGAP_TestCases.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26448d5a73cdc3d3e9f4499fbb1d00a6bf17f86a --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TestCases.ttcn @@ -0,0 +1,3756 @@ +/** + * @author ETSI / TTF033 + * @version $URL$ + * $Id$ + * @desc This module provides test cases for NGAP tests. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * @see ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16 + */ +module NGAP_TestCases { + + // LibCommon + import from LibCommon_Sync all ; + + // LibNGAP + import from NGAP_Constants language "ASN.1:2002" all; + import from NGAP_CommonDataTypes language "ASN.1:2002" all; + import from NGAP_IEs language "ASN.1:2002" all; + import from NGAP_PDU_Contents language "ASN.1:2002" all; + import from NGAP_PDU_Descriptions language "ASN.1:2002" all; + import from NGAP_Containers language "ASN.1:2002" all; + + import from LibNGAP_TypesAndValues all; + import from LibNGAP_Templates all; + import from LibNGAP_Pixits all; + + // NGAP_Ats + import from LibNGAP_TypesAndValues all; + import from NGAP_TestConfiguration all; + import from NGAP_TestSystem all; + import from NGAP_TCFunctions all; + import from NGAP_Pics all; + + group gNB_Role{ + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 8.1 List of NGAP Elementary Procedures + */ + group PDU_Session_Management_Procedures{ + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 8.2.1 PDU Session Resource Setup + */ + group PDU_Session_Resource_Setup{ + + /** + * @desc Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE SETUP REQUEST contains mandatory IEs and answers with PDU SESSION RESOURCE SETUP RESPONSE for successfully established PDU session + */ + testcase TC_NGAP_GNB_PDU_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_01 + + /** + * @desc Test objective "Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains several PDU Session ID IEs set to the same value." + */ + testcase TC_NGAP_GNB_PDU_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_02 + + /** + * @desc Test objective "Verify that the NG-RAN node reports the establishment of the new PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains a PDU Session ID IE set to value that identifies an active PDU Session. NOTE: Run TP_NGAP_GNB_PDU_01 before this TP " + */ + testcase TC_NGAP_GNB_PDU_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_03 + + /** + * @desc Test objective "Verify that the NG-RAN node reports the establishment of the corresponding PDU session as failed if a PDU SESSION RESOURCE SETUP REQUEST contains a QoS Flow Setup Request List IE in the PDU Session Resource Setup Request Transfer IE including at least one Non-GBR QoS flow but the PDU Session Aggregate Maximum Bit Rate IE is not present. " + */ + testcase TC_NGAP_GNB_PDU_04() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_04 + + } // End of group PDU_Session_Resource_Setup + + //8.2.2 + group PDU_Session_Resource_Release{ + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND contains mandatory IEs and answers with PDU SESSION RESOURCE RELEASE RESPONSE to release PDU session." + */ + testcase TC_NGAP_GNB_PDU_05() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_05 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE RELEASE COMMAND containing multiple PDU Session ID IEs set to the same value and ignore the duplication." + */ + testcase TC_NGAP_GNB_PDU_06() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_06 + + } // End of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a PDU SESSION RESOURCE MODIFY REQUEST contains mandatory IEs and answers with PDU SESSION RESOURCE MODIFY RESPONSE for successfully modified PDU session." + */ + testcase TC_NGAP_GNB_PDU_07() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_07()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_07 + + /** + * @desc Test objective "Verify that the NG-RAN node reports the modification of the corresponding PDU session as failed if a PDU SESSION RESOURCE MODIFY REQUEST contains several PDU Session ID IEs set to the same value." + */ + testcase TC_NGAP_GNB_PDU_10() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_10()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_10 + + + + } // End of group PDU_Session_Resource_Modify + //8.2.4 + group PDU_Session_Resource_Notify{ + + /** + * @desc Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_NOTIFY that already established QoS flow or PDU session for given UE are release." + */ + testcase TC_NGAP_GNB_PDU_08() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_08()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_08 + + } // End of group PDU_Session_Resource_Notify + //8.2.5 + group PDU_Session_Resource_Modify_Indication{ + + /** + * @desc Test objective "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_INDICATION to request modification of established PDU session." + */ + testcase TC_NGAP_GNB_PDU_09() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_PDU_09()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_PDU_09 + + } // End of group PDU_Session_Resource_Modify_Indication + } // End of group PDU_Session_Management_Procedures + //8.3 + group UE_Context_Management_Procedures{ + //8.3.1 + group Initial_Context_Setup{ + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST contains optional PDU Session Resource Setup Request List field mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + */ + testcase TC_NGAP_GNB_CMP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_01 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST contains mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + */ + testcase TC_NGAP_GNB_CMP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_02 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST with optional field Trace Activation and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + */ + testcase TC_NGAP_GNB_CMP_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_03 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST with optional field Mobility Restriction List and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + */ + testcase TC_NGAP_GNB_CMP_04() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_04 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST with different optional fields and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." + */ + testcase TC_NGAP_GNB_CMP_05() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_05 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST contains mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with failed PDU session." + */ + testcase TC_NGAP_GNB_CMP_06() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_06 + + } // End of group Initial_Context_Setup + //8.3.2 + group UE_Context_Release_Request_NG_RAN_node_initiated{ + + /** + * @desc Test objective "Verify that the NG-RAN node successfully requests the AMF to release the UE-associated logical NG-connection." + */ + testcase TC_NGAP_GNB_CMP_07() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_2)) { + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_07()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_07 + + } // End of group UE_Context_Release_Request_NG_RAN_node_initiated + //8.3.3 + group UE_Context_Release_AMF_initiated{ + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT RELEASE COMMAND that contains both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE and answers with UE CONTEXT RELEASE COMPLETE with successfully release UE context."" + */ + testcase TC_NGAP_GNB_CMP_08() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_08()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_08 + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT RELEASE COMMAND where only the AMF UE NGAP ID IE is available and answers with UE CONTEXT RELEASE COMPLETE with successfully release UE context." + */ + testcase TC_NGAP_GNB_CMP_09() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_09()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_09 + + } // End of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST contains mandatory IEs and answers with UE CONTEXT MODIFICATION FAILURE because the UE is no longer available." + */ + testcase TC_NGAP_GNB_CMP_10() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_10()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_10 + + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST contains mandatory IEs and answers with UE CONTEXT MODIFICATION RESPONSE with successfully modify UE context." + */ + testcase TC_NGAP_GNB_CMP_11() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_11()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_11 + + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST contains optional fields Security Key and Security Capabilities and answers with UE CONTEXT MODIFICATION RESPONSE with successfully modify UE context." + */ + testcase TC_NGAP_GNB_CMP_12() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_12()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_12 + + + /** + * @desc Test objective "Verify that the NG-RAN node successfully processes a UE CONTEXT MODIFICATION REQUEST contains different optional fields and answers with UE CONTEXT MODIFICATION RESPONSE with successfully modify UE context." + */ + testcase TC_NGAP_GNB_CMP_13() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_13()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_13 + + + } // End of group UE_Context_Modification + //8.3.5 + group RRC_Inactive_Transition_Report{ + + /** + * @desc Test objective "Verify that the IUT can send a RRC INACTIVE TRANSITION REPORT that contains mandatory IEs" + */ + testcase TC_NGAP_GNB_CMP_14() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_14()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_14 + + } // End of group RRC_Inactive_Transition_Report + //8.3.6 + group Connection_Establishment_Indication{ + } // End of group Connection_Establishment_Indication + //8.3.7 + group AMF_CP_Relocation_Indication{ + } // End of group AMF_CP_Relocation_Indication + //8.3.8 + group RAN_CP_Relocation_Indication{ + + /** + * @desc Test objective "Verify that the IUT can send a RAN CP Relocation Indication that contains mandatory IEs" + */ + testcase TC_NGAP_GNB_CMP_15() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_8)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_8' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_15()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_15 + + } // End of group RAN_CP_Relocation_Indication + //8.3.9 + group Retrieve_UE_Information{ + } // End of group Retrieve_UE_Information + //8.3.10 + group UE_Information_Transfer{ + } // End of group UE_Information_Transfer + //8.3.11 + group UE_Context_Suspend{ + + /** + * @desc Test objective "Verify that the IUT can send a UE CONTEXT SUSPEND REQUEST contains mandatory IEs" + */ + testcase TC_NGAP_GNB_CMP_16() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_11)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_11' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_16()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_16 + } // End of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + + /** + * @desc Test objective "Verify that the IUT can send a UE CONTEXT RESUME REQUEST contains mandatory IEs" + */ + testcase TC_NGAP_GNB_CMP_17() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_12)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_12' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CMP_17()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CMP_17 + + } // End of group UE_Context_Resume + } // End of group UE_Context_Management_Procedures + //8.4 + group UE_Mobility_Management_Procedures{ + //8.4.1 + group Handover_Preparation{ + + /** + * @desc Verify that the IUT can send a HANDOVER REQUIRED message containing mandatory IEs. + */ + testcase TC_NGAP_GNB_MMP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_1_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_1_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_01 + + } // End of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + + /** + * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover. + */ + testcase TC_NGAP_GNB_MMP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_02 + + /** + * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains mandatory IEs and answers with HANDOVER REQUEST FAILURE because the UE is not longer available. + */ + testcase TC_NGAP_GNB_MMP_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_03 + + /** + * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover. + */ + testcase TC_NGAP_GNB_MMP_04() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_04 + + /** + * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message that contains optional IEs within the Handover Request Transfer IEs and answers with correct HANDOVER REQUEST ACKNOWLEDGE. + */ + testcase TC_NGAP_GNB_MMP_05() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_05 + + /** + * @desc Verify that the GNB node successfully processes a HANDOVER REQUEST message for an intra-system handover and answers with HANDOVER REQUEST ACKNOWLEDGE to acknowledge the handover. + */ + testcase TC_NGAP_GNB_MMP_06() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_06 + + } // End of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + + /** + * @desc Verify that the AMF node successfully sends a HANDOVER NOTIFICATION message that contains mandatory IEs to the AMF. + */ + testcase TC_NGAP_GNB_MMP_07() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_07()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_07 + + } // End of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + + /** + * @desc Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF. + */ + testcase TC_NGAP_GNB_MMP_08() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_08()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_08 + + } // End of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + + /** + * @desc Verify that the NG-RAN node successfully send a UPLINK RAN STATUS TRANSFER message to the AMF. + */ + testcase TC_NGAP_GNB_MMP_09() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_09()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_09 + + } // End of group Handover_Cancellation + //8.4.6 + group Uplink_RAN_Status_Transfer{ + + /** + * @desc Verify that the NG-RAN node successfully send a UPLINK RAN STATUS TRANSFER message to the AMF. + */ + testcase TC_NGAP_GNB_MMP_10() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_6)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_6' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_10()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_10 + + } // End of group Uplink_RAN_Status_Transfer + //8.4.7 + group Downlink_RAN_Status_Transfer{ + } // End of group Downlink_RAN_Status_Transfer + //8.4.8 + group Handover_Success{ + } // End of group Handover_Success + //8.4.9 + group Uplink_RAN_Early_Status_Transfer{ + + /** + * @desc Verify that the NG-RAN node successfully sends a UPLINK RAN EARLY STATUS TRANSFER message to the AMF. + */ + testcase TC_NGAP_GNB_MMP_11() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_3_9)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_3_9' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_MMP_11()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_MMP_11 + + } // End of group Uplink_RAN_Early_Status_Transfer + //8.4.10 + group Downlink_RAN_Early_Status_Transfer{ + } // End of group Downlink_RAN_Early_Status_Transfer + } // End of group UE_Mobility_Management_Procedures + //8.5 + group Paging_Procedures{ + //8.5.1 + group Paging{ + } // End of group Paging + } // End of group Paging_Procedures + //8.6 + group Transport_of_NAS_Messages_Procedures{ + //8.6.1 + group Initial_UE_Message{ + + /** + * @desc Verify that the IUT can send an INITIAL UE MESSAGE to indicate the initiation of a NAS Transport procedure. + */ + testcase TC_NGAP_GNB_NAS_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_5_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_5_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_NAS_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_NAS_01 + + } // End of group Initial_UE_Message + //8.6.2 + group Downlink_NAS_Transport{ + } // End of group Downlink_NAS_Transport + //8.6.3 + group Uplink_NAS_Transport{ + + /** + * @desc Verify that the IUT can send an UPLINK NAS TRANSPORT message to the AMF. + */ + testcase TC_NGAP_GNB_NAS_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_5_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_5_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_NAS_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_NAS_02 + + } // End of group Uplink_NAS_Transport + //8.6.4 + group NAS_Non_Delivery_Indication{ + + /** + * @desc Verify that the IUT can send a NAS NON DELIVERY INDICATION message to the AMF. + */ + testcase TC_NGAP_GNB_NAS_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_5_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_5_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_NAS_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_NAS_03 + + } // End of group NAS_Non_Delivery_Indication + //8.6.5 + group Rerout_NAS_Request{ + } // End of group Rerout_NAS_Request + } // End of group Transport_of_NAS_Messages_Procedures + //8.7 + group Interface_Management_Procedures{ + //8.7.1 + group NG_Setup{ + + /** + * @desc "Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF." + */ + testcase TC_NGAP_GNB_IMP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_IMP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_IMP_01 + + } // End of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + + /** + * @desc "Verify that the IUT can send a RAN CONFIGURATION UPDATE message to the AMF." + */ + testcase TC_NGAP_GNB_IMP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_IMP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_IMP_02 + + } // End of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + + /** + * @desc "Verify that the GNB node successfully processes a AMF CONFIGURATION UPDATE message with AMF CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update." + */ + testcase TC_NGAP_GNB_IMP_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_IMP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_IMP_03 + + /** + * @desc "Verify that the GNB node can send a AMF CONFIGURATION UPDATE FAILURE." + */ + testcase TC_NGAP_GNB_IMP_04() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_IMP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_IMP_04 + + } // End of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + + /** + * @desc "Verify that the GNB node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset." + */ + testcase TC_NGAP_GNB_IMP_05() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_IMP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_IMP_05 + + } // End of group NG_Reset + //8.7.5 + group Error_Indication{ + + /** + * @desc "Verify that the GNB can send a ERROR INDICATION to the AMF when a error occurs." + */ + testcase TC_NGAP_GNB_IMP_06() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_6_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_6_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_IMP_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_IMP_06 + + } // End of group Error_Indication + //8.7.6 + group AMF_Status_Indication{ + } // End of group AMF_Status_Indication + //8.7.7 + group Overload_Start{ + } // End of group Overload_Start + //8.7.8 + group Overload_Stop{ + } // End of group Overload_Stop + } // End of group Interface_Management_Procedures + //8.8 + group Configuration_Transfer_Procedures{ + //8.8.1 + group Uplink_RAN_Configuration_Transfer{ + + /** + * @desc Verify that the IUT can send an Uplink RAN Configuration Transfer message to transfer RAN configuration information to the AMF. + */ + testcase TC_NGAP_GNB_CTP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_7_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_7_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_CTP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_CTP_01 + + } // End of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + + /** + * @desc Verify that the IUT can send an DOWNLINK RAN CONFIGURATION TRANSFER message to transfer RAN configuration information to the NG-RAN. + */ + testcase TC_NGAP_AMF_CTP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_7_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_7_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CTP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + } // End of testcase TC_NGAP_AMF_CTP_01 + } // End of group Downlink_RAN_Configuration_Transfer + } // End of group Configuration_Transfer_Procedures + //8.9 + group Warning_Message_Transmission_Procedures{ + + //8.9.1 + group Write_Replace_Warning{ + + /** + * @desc Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing mandatory IEs and answers with WRITE-REPLACE WARNING RESPONSE to start broadcasting of warning messages. + */ + testcase TC_NGAP_GNB_WTP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_WTP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_WTP_01 + + /** + * @desc "Verify that the NG-RAN node successfully processes a WRITE-REPLACE WARNING REQUEST containing Message Identifier IE and/or Serial Number IE different from those in the warning message being broadcast and if Concurent Warning Message Indicator is not present then IUT node answers with WRITE-REPLACE WARNING RESPONSE and replaces the warning message being broadcast with newly received one for that area." + */ + testcase TC_NGAP_GNB_WTP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_WTP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_WTP_02 + + } // End of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + + /** + * @desc "Verify that the NG-RAN node successfully processes a PWS CANCEL REQUEST containing mandatory IEs and answers with PWS CANCEL RESPONSE to cancel an already ongoing broadcast warning messages in all of the cells in the NG-RAN." + */ + testcase TC_NGAP_GNB_WTP_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_WTP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_WTP_03 + + } // End of group PWS_Cancel + //8.9.3 + group PWS_Restart_Indication{ + + /** + * @desc "Verify that the IUT can send a PWS RESTART INDICATION to inform AMF that PWS information for some or all cells may be reloaded from the CBC if needed." + */ + testcase TC_NGAP_GNB_WTP_04() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_WTP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_WTP_04 + + } // End of group PWS_Restart_Indication + //8.9.4 + group PWS_Failure_Indication{ + + /** + * @desc "Verify that the IUT can send a PWS FAILURE INDICATION to inform AMF that ongoing PWS operation for one or more cells has failed." + */ + testcase TC_NGAP_GNB_WTP_05() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_8_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_8_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_WTP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_WTP_05 + + } // End of group PWS_Failure_Indication + } // End of group Warning_Message_Transmission_Procedures + + //8.10 + group NRPPa_Transport_Procedures{ + + /** + * @desc "Verify that the IUT can send a UPLINK_UE_ASSOCIATED_NRPPA_TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + */ + testcase TC_NGAP_GNB_NTP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_9_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_9_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_NTP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_NTP_01 + + /** + * @desc "Verify that the IUT can send a UPLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + */ + testcase TC_NGAP_GNB_NTP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_9_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_9_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_NTP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_NTP_02 + + } // End of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + + /** + * @desc Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that Trace Start procedure has failed due to an interaction with handover procedure." + */ + testcase TC_NGAP_GNB_TRP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_1) and (not PICS_A3_10_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_1 and PICS_A3_10_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_TRP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_TRP_01 + + } // End of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + } // End of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + + /** + * @desc Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that a Deactivate Trace procedure has failed due to an interaction with handover procedure." + */ + testcase TC_NGAP_GNB_TRP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_2) and (not PICS_A3_10_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_2 and PICS_A3_10_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_TRP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_TRP_02 + + } // End of group Deactivate_Trace + //8.11.4 + group Cell_Traffic_Trace{ + + /** + * @desc Test objective "Verify that the IUT can send a CELL_TRAFFIC_TRACE to send the allocated Trace Recording Session Reference and Trace Reference to AMF." + */ + testcase TC_NGAP_GNB_TRP_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_TRP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_TRP_03 + + } // End of group Cell_Traffic_Trace + } // End of group Trace_Procedures + //8.12 + group Location_Reporting_Procedures{ + //8.12.1 + group Location_Reporting_Control{ + } // End of group Location_Reporting_Control + //8.12.2 + group Location_Reporting_Failure_Indication{ + + /** + * @desc "Verify that the IUT can send a LOCATION REPORTING FAILURE INDICATION message after that contains mandatory IEs receiving a LOCATION REPORTING CONTROL message with two identical Location Reporting Reference IDs." + */ + testcase TC_NGAP_GNB_LRP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_11_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_11_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_LRP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_LRP_01 + + } // End of group Location_Reporting_Failure_Indication + //8.12.3 + group Location_Report{ + + /** + * @desc "Verify that the IUT can send a LOCATION REPORT message that contains mandatory IEs to provide the UE's current location." + */ + testcase TC_NGAP_GNB_LRP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_11_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_11_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_LRP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_LRP_02 + + } // End of group Location_Report + } // End of group Location_Reporting_Procedures + //8.13 + group UE_TNLA_Binding_Procedures{ + //8.13.1 + group UE_TNLA_Binding_Release{ + } // End of group UE_TNLA_Binding_Release + } // End of group UE_TNLA_Binding_Procedures + //8.14 + group UE_Radio_Capability_Management_Procedures{ + //8.14.1 + group UE_Radio_Capability_Info_Indication{ + + /** + * @desc Test objective "Verify that the IUT can send a UE_RADIO_CAPABILITY_INFO_INDICATION." + */ + testcase TC_NGAP_GNB_URP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_13_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_13_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_URP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_URP_01 + + } // End of group UE_Radio_Capability_Info_Indication + //8.14.2 + group UE_Radio_Capability_Check{ + + /** + * @desc Test objective "Verify that the IUT can send a UE RADIO CAPABILITY CHECK RESPONSE message that contains mandatory IEs to provide the UE radio capabilities." + */ + testcase TC_NGAP_GNB_URP_02() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_13_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_13_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_URP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_URP_02 + + } // End of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + + /** + * @desc Test objective "Verify that the IUT can send a UE RADIO CAPABILITY ID MAPPING REQUEST." + */ + testcase TC_NGAP_GNB_URP_03() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_13_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_13_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_URP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_URP_03 + + } // End of group UE_Radio_Capability_ID_Mapping + } // End of group UE_Radio_Capability_Management_Procedures + //8.15 + group Data_Usage_Reporting_Procedures{ + //8.15.1 + group Secondary_RAT_Data_Usage_Report{ + + /** + * @desc Test objective "Verify that the IUT can send a SECONDARY RAT DATA USAGE REPORT." + */ + testcase TC_NGAP_GNB_DRP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_14_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_14_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_DRP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_DRP_01 + + } // End of group Secondary_RAT_Data_Usage_Report + } // End of group Data_Usage_Reporting_Procedures + //8.16 + group RIM_Information_Transfer_Procedures{ + //8.16.1 + group Uplink_RIM_Information_Transfer{ + + /** + * @desc Test objective "Verify that the IUT can send a UPLINK RIM INFORMATION TRANSFER." + */ + testcase TC_NGAP_GNB_RIP_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_15_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_15_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_aMF_Up(v_ngap_amf); + + // Start + v_ngap_amf.start(f_TC_NGAP_GNB_RIP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_GNB_RIP_01 + + } // End of group Uplink_RIM_Information_Transfer + //8.16.2 + group Downlink_RIM_Information_Transfer{ + } // End of group Downlink_RIM_Information_Transfer + } // End of group RIM_Information_Transfer_Procedures + } // End of group gNB_Role + + group aMF_Role{ + //8.2 + group PDU_Session_Management_Procedures{ + //8.2.1 + group PDU_Session_Resource_Setup{ + + /** + * @desc "Verify that the IUT can send a PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session." + */ + testcase TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_PDU_01 + + } // End of group PDU_Session_Resource_Setup + //8.2.2 + group PDU_Session_Resource_Release{ + + /** + * @desc "Verify that the IUT can send a PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session." + */ + testcase TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_PDU_02 + + } // End of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + + /** + * @desc "Verify that the IUT can send a PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session." + */ + testcase TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_PDU_03 + + } // End of group PDU_Session_Resource_Modify + //8.2.4 + group PDU_Session_Resource_Notify{ + } // End of group PDU_Session_Resource_Notify + //8.2.5 + group PDU_Session_Resource_Modify_Indication{ + + /** + * @desc "Verify that the AMF node successfully processes a PDU_SESSION_RESOURCE_MODIFY_INDICATION contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for successfully modified PDU session." + */ + testcase TC_NGAP_AMF_PDU_04() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_PDU_04 + + /** + * @desc "Verify that the AMF node processes a PDU_SESSION_RESOURCE_MODIFY_INDICATION contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for not successfully modified PDU session." + */ + testcase TC_NGAP_AMF_PDU_05() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_1_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_1_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_PDU_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_PDU_05 + + } // End of group PDU_Session_Resource_Modify_Indication + } // End of group PDU_Session_Management_Procedures + //8.3 + group UE_Context_Management_Procedures{ + //8.3.1 + group Initial_Context_Setup{ + + /** + * @desc "Verify that the IUT can send a INITIAL CONTEXT SETUP REQUEST contains mandatory IEs." + */ + testcase TC_NGAP_AMF_CMP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_01 + + } // End of group Initial_Context_Setup + //8.3.2 + group UE_Context_Release_Request_NG_RAN_node_initiated{ + } // End of group UE_Context_Release_Request_NG_RAN_node_initiated + //8.3.3 + group UE_Context_Release_AMF_initiated{ + + /** + * @desc "Verify that the IUT can send a UE CONTEXT RELEASE COMMAND that contains both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE." + */ + testcase TC_NGAP_AMF_CMP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_02 + + /** + * @desc "Verify that the IUT can send a UE CONTEXT RELEASE COMMAND where both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE are not available." + */ + testcase TC_NGAP_AMF_CMP_03() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_03 + + + } // End of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + + /** + * @desc "Verify that the IUT can send a UE CONTEXT MODIFICATION REQUEST contains mandatory IEs." + */ + testcase TC_NGAP_AMF_CMP_04() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_04 + + } // End of group UE_Context_Modification + //8.3.5 + group RRC_Inactive_Transition_Report{ + } // End of group RRC_Inactive_Transition_Report + //8.3.6 + group Connection_Establishment_Indication{ + + /** + * @desc "Verify that the IUT can send a CONNECTION ESTABLISHMENT INDICATION that contains mandatory IEs." + */ + testcase TC_NGAP_AMF_CMP_05() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_6)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_6' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_05 + + } // End of group Connection_Establishment_Indication + //8.3.7 + group AMF_CP_Relocation_Indication{ + + /** + * @desc "Verify that the IUT can send a AMF CP RELOCATION INDICATION that contains mandatory IEs." + */ + testcase TC_NGAP_AMF_CMP_06() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_7)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_6' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_06 + + + } // End of group AMF_CP_Relocation_Indication + //8.3.8 + group RAN_CP_Relocation_Indication{ + } // End of group RAN_CP_Relocation_Indication + //8.3.9 + group Retrieve_UE_Information{ + + /** + * @desc "Verify that the IUT can successfully request UE information from the AMF." + */ + testcase TC_NGAP_AMF_CMP_07() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_10)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_10' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_07()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_07 + } // End of group Retrieve_UE_Information + //8.3.10 + group UE_Information_Transfer{ + } // End of group UE_Information_Transfer + //8.3.11 + group UE_Context_Suspend{ + + /** + * @desc "Verify that the AMF node successfully processes a UE CONTEXT SUSPEND REQUEST contains mandatory IEs and answers with UE CONTEXT SUSPEND REQUEST RESPONSE with successfully suspend UE context." + */ + testcase TC_NGAP_AMF_CMP_08() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_11)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_11' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_08()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_08 + + /** + * @desc "Verify that the AMF node successfully processes a UE CONTEXT SUSPEND REQUEST contains mandatory IEs and answers with UE CONTEXT SUSPEND FAILURE with failed suspension." + */ + testcase TC_NGAP_AMF_CMP_09() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_11)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_11' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_09()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_09 + + } // End of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + + /** + * @desc "Verify that the AMF node successfully processes a UE CONTEXT RESUME REQUEST contains mandatory IEs and answers with UE CONTEXT RESUME RESPONSE with successfully resume UE context." + */ + testcase TC_NGAP_AMF_CMP_10() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_12)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_12' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_10()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_10 + + /** + * @desc "Verify that the AMF node successfully processes a UE CONTEXT RESUME REQUEST contains mandatory IEs and answers with UE CONTEXT RESUME FAILURE with failing to resume UE context." + */ + testcase TC_NGAP_AMF_CMP_11() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_2_12)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_2_12' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_CMP_11()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_CMP_11 + + + } // End of group UE_Context_Resume + } // End of group UE_Context_Management_Procedures + //8.4 + group UE_Mobility_Management_Procedures{ + //8.4.1 + group Handover_Preparation{ + + /** + * @desc "Verify that the AMF node successfully processes a HANDOVER REQUIRED message contains mandatory IEs and answers with HANDOVER COMMAND with successfully handover." + */ + testcase TC_NGAP_AMF_MMP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_01 + + /** + * @desc "Verify that the AMF node successfully processes a HANDOVER REQUIRED message contains mandatory IEs and answers with HANDOVER PREPARATION FAILURE because the UE is not longer available." + */ + testcase TC_NGAP_AMF_MMP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_02 + + } // End of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + + /** + * @desc "Verify that the AMF node successfully sends a HANDOVER REQUEST message that contains mandatory IEs to the GNB." + */ + testcase TC_NGAP_AMF_MMP_03() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_03 + + } // End of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + } // End of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + + /** + * @desc "Verify that the AMF node successfully processes a PATH SWITCH REQUEST message that contains mandatory IEs and answers with PATH SWITCH REQUEST ACKNOWLEDGE to acknowledge the path switch." + */ + testcase TC_NGAP_AMF_MMP_04() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_04 + + /** + * @desc "Verify that the AMF node successfully processes a PATH SWITCH REQUEST message that contains mandatory IEs and two PDU Sessions with same ID and answers with PATH SWITCH REQUEST FAILURE." + */ + testcase TC_NGAP_AMF_MMP_05() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_05 + + } // End of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + + /** + * @desc "Verify that the AMF node successfully processes a HANDOVER CANCEL message that contains mandatory IEs and answers with HANDOVER CANCEL ACKNOWLEDGE to confirm that the ongoing handover was cancelled." + */ + testcase TC_NGAP_AMF_MMP_06() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_06 + + } // End of group Handover_Cancellation + //8.4.6 + group Uplink_RAN_Status_Transfer{ + } // End of group Uplink_RAN_Status_Transfer + //8.4.7 + group Downlink_RAN_Status_Transfer{ + + /** + * @desc "Verify that the AMF node successfully sends a DOWNLINK RAN STATUS TRANSFER message that contains mandatory IEs." + */ + testcase TC_NGAP_AMF_MMP_07() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_6)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_6' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_07()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_07 + + } // End of group Downlink_RAN_Status_Transfer + //8.4.8 + group Handover_Success{ + + /** + * @desc "Verify that the NG-RAN node successfully sends a Handover Success message to the AMF." + */ + testcase TC_NGAP_AMF_MMP_08() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A3_3_8)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A3_3_8' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_08()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_08 + + } // End of group Handover_Success + //8.4.9 + group Uplink_RAN_Early_Status_Transfer{ + } // End of group Uplink_RAN_Early_Status_Transfer + //8.4.10 + group Downlink_RAN_Early_Status_Transfer{ + + /** + * @desc "Verify that the AMF node successfully sends a DOWNLINK RAN EARLY STATUS TRANSFER message that contains mandatory IEs." + */ + testcase TC_NGAP_AMF_MMP_09() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_3_9)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_3_9' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_MMP_09()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_MMP_09 + + } // End of group Downlink_RAN_Early_Status_Transfer + + } // End of group UE_Mobility_Management_Procedures + //8.5 + group Paging_Procedures{ + //8.5.1 + group Paging{ + + /** + * @desc "Verify that the IUT can send a PAGING message to enable the AMF to page a UE." + */ + testcase TC_NGAP_aMF_PAG_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_4_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_4_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_PAG_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + } // End of testcase TC_NGAP_aMF_PAG_01 + + } // End of group Paging + } // End of group Paging_Procedures + //8.6 + group Transport_of_NAS_Messages_Procedures{ + //8.6.1 + group Initial_UE_Message{ + } // End of group Initial_UE_Message + //8.6.2 + group Downlink_NAS_Transport{ + + /** + * @desc "Verify that the IUT can send an DOWNLINK NAS TRANSPORT message to carry NAS information over the NG interface." + */ + testcase TC_NGAP_AMF_NAS_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_5_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_5_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_NAS_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_NAS_01 + + } // End of group Downlink_NAS_Transport + //8.6.3 + group Uplink_NAS_Transport{ + } // End of group Uplink_NAS_Transport + //8.6.4 + group NAS_Non_Delivery_Indication{ + } // End of group NAS_Non_Delivery_Indication + //8.6.5 + group Rerout_NAS_Request{ + + + /** + * @desc "Verify that the IUT can send an REROUTE NAS REQUEST message to reroute the INITIAL UE MESSAGE message to another AMF." + */ + testcase TC_NGAP_AMF_NAS_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_5_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_5_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_NAS_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_NAS_02 + + } // End of group Rerout_NAS_Request + } // End of group Transport_of_NAS_Messages_Procedures + //8.7 + group Interface_Management_Procedures{ + //8.7.1 + group NG_Setup{ + + /** + * @desc "Verify that the AMF node successfully processes a NG SETUP REQEST message that contains mandatory IEs and answers with NG SETUP RESPONSE to acknowledge the setup." + */ + testcase TC_NGAP_AMF_IMP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_01 + + /** + * @desc "Verify that the AMF node successfully decline a NG RESET REQEST message and answers with NG SETUP FAILURE when the AMF is not able to handle the request." + */ + testcase TC_NGAP_AMF_IMP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_02 + + /** + * @desc "Verify that the AMF node successfully processes a NG SETUP REQEST message with optional field UE Retention Information and answers with NG SETUP RESPONSE to acknowledge the setup." + */ + testcase TC_NGAP_AMF_IMP_03() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_03()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_03 + + /** + * @desc "Verify that the AMF node successfully processes a NG SETUP REQEST message with different optional fields and answers with NG SETUP RESPONSE to acknowledge the setup." + */ + testcase TC_NGAP_AMF_IMP_04() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_04()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_04 + + } // End of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + + /** + * @desc "Verify that the AMF node successfully processes a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update." + */ + testcase TC_NGAP_AMF_IMP_05() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_05()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_05 + + /** + * @desc "Verify that the AMF node successfully declines a RAN CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE FAILURE when the AMF is not able to handle the request." + */ + testcase TC_NGAP_AMF_IMP_06() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_06()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_06 + + } // End of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + + /** + * @desc "Verify that the IUT can send a AMF CONFIGURATION UPDATE message to the AMF." + */ + testcase TC_NGAP_AMF_IMP_07() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_07()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_07 + + } // End of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + + /** + * @desc "Verify that the AMF node successfully processes a NG RESET message that contains mandatory IEs and answers with NG RESET ACKNOWLEDGE to acknowledge the reset." + */ + testcase TC_NGAP_AMF_IMP_08() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_4)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_4' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_08()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_08 + + } // End of group NG_Reset + //8.7.5 + group Error_Indication{ + + /** + * @desc "Verify that the AMF can send a ERROR INDICATION to the GNB when a error occurs." + */ + testcase TC_NGAP_AMF_IMP_09() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_5)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_5' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_09()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_09 + + } // End of group Error_Indication + //8.7.6 + group AMF_Status_Indication{ + + /** + * @desc "Verify that the AMF can send a AMF STATUS INDICATION to the GNB when a error occurs." + */ + testcase TC_NGAP_AMF_IMP_10() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_6)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_6' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_10()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_10 + + } // End of group AMF_Status_Indication + //8.7.7 + group Overload_Start{ + + /** + * @desc "Verify that the AMF can send a OVERLOAD START to the GNB." + */ + testcase TC_NGAP_AMF_IMP_11() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_7)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_7' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_11()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_11 + + } // End of group Overload_Start + //8.7.8 + group Overload_Stop{ + + /** + * @desc "Verify that the AMF can send a OVERLOAD STOP to the GNB." + */ + testcase TC_NGAP_AMF_IMP_12() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_6_8)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_6_8' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_IMP_12()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_IMP_12 + + } // End of group Overload_Stop + } // End of group Interface_Management_Procedures + //8.8 + group Configuration_Transfer_Procedures{ + //8.8.1 + group Uplink_RAN_Configuration_Transfer{ + } // End of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + } // End of group Downlink_RAN_Configuration_Transfer + } // End of group Configuration_Transfer_Procedures + //8.9 + group Warning_Message_Transmission_Procedures{ + //8.9.1 + group Write_Replace_Warning{ + + /** + * @desc "Verify that the IUT can send a WRITE REPLACE WARNING REQUEST to start broadcasting of warning messages." + */ + testcase TC_NGAP_AMF_WTP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_8_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_8_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_WTP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_WTP_01 + + } // End of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + + /** + * @desc "Verify that the IUT can send a PWS CANCEL REQUEST to cancel broadcasting of warning messages." + */ + testcase TC_NGAP_AMF_WTP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_8_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_8_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_WTP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_WTP_02 + + } // End of group PWS_Cancel + //8.9.3 + group PWS_Restart_Indication{ + } // End of group PWS_Restart_Indication + //8.9.4 + group PWS_Failure_Indication{ + } // End of group PWS_Failure_Indication + } // End of group Warning_Message_Transmission_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + + /** + * @desc "Verify that the IUT can send a DOWNLINK UE ASSOCIATED NRPPA TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + */ + testcase TC_NGAP_AMF_NTP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_9_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_9_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_NTP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_NTP_01 + + /** + * @desc "Verify that the IUT can send a DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT to carry NRPPA signaling between NG-RAN and LMF(Location Management Functionality)." + */ + testcase TC_NGAP_AMF_NTP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_9_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_9_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_NTP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_NTP_02 + + } // End of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + + /** + * @desc "Verify that the IUT can send a TRACE_START to initiate a trace session for a UE." + */ + testcase TC_NGAP_AMF_TRP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_10_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_10_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_TRP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_TRP_01 + + } // End of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + } // End of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + + /** + * @desc "Verify that the IUT can send a DEACTIVATE_TRACE to deactivate a trace session for a UE." + */ + testcase TC_NGAP_AMF_TRP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_10_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_10_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_TRP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_TRP_02 + + } // End of group Deactivate_Trace + //8.11.4 + group Cell_Traffic_Trace{ + } // End of group Cell_Traffic_Trace + } // End of group Trace_Procedures + //8.12 + group Location_Reporting_Procedures{ + //8.12.1 + group Location_Reporting_Control{ + + /** + * @desc "Verify that the IUT can send a LOCATION REPORTING CONTROL message that contains mandatory IEs to request a report of the UE's current location." + */ + testcase TC_NGAP_AMF_LRP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_11_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_11_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_LRP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } + } // End of group Location_Reporting_Control + //8.12.2 + group Location_Reporting_Failure_Indication{ + } // End of group Location_Reporting_Failure_Indication + //8.12.3 + group Location_Report{ + } // End of group Location_Report + } // End of group Location_Reporting_Procedures + //8.13 + group UE_TNLA_Binding_Procedures{ + //8.13.1 + group UE_TNLA_Binding_Release{ + + /** + * @desc "Verify that the IUT can send a UE TNLA BINDING RELEASE REQUEST to initiate a UE TNLA Binding Release procedure." + */ + testcase TC_NGAP_AMF_UBP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_12_1)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_12_1' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_UBP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_UBP_01 + + } // End of group UE_TNLA_Binding_Release + } // End of group UE_TNLA_Binding_Procedures + //8.14 + group UE_Radio_Capability_Management_Procedures{ + //8.14.1 + group UE_Radio_Capability_Info_Indication{ + } // End of group UE_Radio_Capability_Info_Indication + //8.14.2 + group UE_Radio_Capability_Check{ + + /** + * @desc "Verify that the IUT can send a UE RADIO CAPABILITY CHECK REQUEST to initiate UE Radio Capability Management procedure." + */ + testcase TC_NGAP_AMF_URP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_13_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_13_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_URP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_URP_01 + + } // End of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + + /** + * @desc "Verify that the IUT can send a UE RADIO CAPABILITY ID MAPPING RESPONSE message that contains mandatory IEs to provide the UE radio capabilities id mapping." + */ + testcase TC_NGAP_AMF_URP_02() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_13_3)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_13_3' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_URP_02()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_URP_02 + + } // End of group UE_Radio_Capability_ID_Mapping + } // End of group UE_Radio_Capability_Management_Procedures + //8.15 + group Data_Usage_Reporting_Procedures{ + //8.15.1 + group Secondary_RAT_Data_Usage_Report{ + } // End of group Secondary_RAT_Data_Usage_Report + } // End of group Data_Usage_Reporting_Procedures + //8.16 + group RIM_Information_Transfer_Procedures{ + //8.16.1 + group Uplink_RIM_Information_Transfer{ + } // End of group Uplink_RIM_Information_Transfer + //8.16.2 + group Downlink_RIM_Information_Transfer{ + + /** + * @desc "Verify that the IUT can send a DOWNLINK RIM INFORMATION TRANSFER." + */ + testcase TC_NGAP_AMF_RIP_01() runs on gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb; + + // Test control + if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_15_2)){ + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_15_2' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up(v_ngap_gnb); + + // Start + v_ngap_gnb.start(f_TC_NGAP_AMF_RIP_01()); + + // synchronize PTC on 1 sychronization points + f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); + + f_cf_Down/*gNBoraMF*/(); + + } // End of testcase TC_NGAP_AMF_RIP_01 + + } // End of group Downlink_RIM_Information_Transfer + } // End of group RIM_Information_Transfer_Procedures + } // End of group aMF_Role + +} // End of module NGAP_TestCases diff --git a/ttcn/AtsNGAP/NGAP_TestConfiguration.ttcn b/ttcn/AtsNGAP/NGAP_TestConfiguration.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d30f0d5b77f6da91fcf2de671e94879ea4192bb7 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TestConfiguration.ttcn @@ -0,0 +1,137 @@ +/** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides test configuration description for NGAP tests. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module NGAP_TestConfiguration { + + // LibCommon + import from LibCommon_Sync all; + import from LibCommon_VerdictControl all; + + // NGAP_Ats + import from NGAP_TestSystem all; + // LibNGAP + import from LibNGAP_Interface all; + + group cfUp { + + /** + * @desc Creates test configuration of cf_NGAP_AMF - gNB is SUT + * @param p_NGAPComponent_mme + */ + function f_cf_NGAP_aMF_Up( + out aMFNGAPComponent p_NGAPComponent_amf + ) runs on aMFNGAPComponent system TestAdapter { + //Variables + var FncRetCode v_ret := e_success; + + //Create + p_NGAPComponent_amf := aMFNGAPComponent.create ; + + // Connect mtc sync port + connect(self:syncPort, self:syncPort); + // Connect client sync port + connect(p_NGAPComponent_amf:syncPort, self:syncPort) ; + //Map + map(p_NGAPComponent_amf:N2_gNBaMF_P, system:NGAP_AMF); + + activate(a_mtc_shutdown()); + + f_setVerdict(v_ret); + } // End of function f_cf_NGAP_AMF_Up + + /** + * @desc Creates test configuration of cf_NGAP_gNB - AMF is SUT + * @param p_NGAPComponent_gnb + */ + function f_cf_NGAP_gNB_Up( + out gNBNGAPComponent p_NGAPComponent_gnb + ) runs on gNBNGAPComponent system TestAdapter { + //Variables + var FncRetCode v_ret := e_success; + + //Create + p_NGAPComponent_gnb := gNBNGAPComponent.create ; + + // Connect mtc sync port + connect(self:syncPort, self:syncPort); + // Connect client sync port + connect(p_NGAPComponent_gnb:syncPort, self:syncPort) ; + //Map + map(p_NGAPComponent_gnb:N2_gNBaMF_P, system:NGAP_gNB_1); + + activate(a_mtc_shutdown()); + + f_setVerdict(v_ret); + } // End of function f_cf_NGAP_gNB_Up + + /** + * @desc Creates test configuration of cf_NGAP_2gNB - AMF is SUT + * @param p_NGAPComponent_enb1, p_NGAPComponent_gnb2 + */ + function f_cf_NGAP_2gNB_Up( + out gNBNGAPComponent p_NGAPComponent_gnb1, + out gNBNGAPComponent p_NGAPComponent_gnb2 + ) runs on gNBNGAPComponent system TestAdapter { + //Variables + var FncRetCode v_ret := e_success; + + //Create + p_NGAPComponent_gnb1 := gNBNGAPComponent.create; + p_NGAPComponent_gnb2 := gNBNGAPComponent.create; + + // Connect mtc sync port + connect(self:syncPort, self:syncPort); + // Connect client sync port + connect(p_NGAPComponent_gnb1:syncPort, self:syncPort); + connect(p_NGAPComponent_gnb2:syncPort, self:syncPort) ; + + //Map + map(p_NGAPComponent_gnb1:N2_gNBaMF_P, system:NGAP_gNB_1); + map(p_NGAPComponent_gnb2:N2_gNBaMF_P, system:NGAP_gNB_2); + + activate(a_mtc_shutdown()); + + f_setVerdict(v_ret); + } // End of function f_cf_NGAP_2gNB_Up + + } // End of group cfUp + + group cfDown { + + /** + * @desc Deletes configuration + * @param + */ + function f_cf_Down() runs on NGAPComponent system TestAdapter { + // Deactivate all + deactivate; + // Unmap all + //unmap; + // Disconnect all + //disconnect; + + } // End of function f_cf_Down + + } // End of group cfDown + + group shutDownAltsteps { + + altstep a_mtc_shutdown() + runs on SelfSyncComp { + [] syncSendPort.receive(m_syncServerStop) { + tc_sync.stop ; + log("**** a_mtc_shutdown: MTC component received STOP signal **** "); + } + } // End of altstep a_mtc_shutdown + + } // End of group shutDownAltsteps + +} // End of module NGAP_TestConfiguration diff --git a/ttcn/AtsNGAP/NGAP_TestControl.ttcn b/ttcn/AtsNGAP/NGAP_TestControl.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2a225f415c234b3fa48ff6f7d871f00bacb65376 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TestControl.ttcn @@ -0,0 +1,27 @@ +/** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides execution part for NGAP tests. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module NGAP_TestControl { + + // NGAP + import from NGAP_Pics all; + import from NGAP_TestCases all; + + control { + + if (PICS_NGAP_GNB_IUT) { + } + if (PICS_NGAP_AMF_IUT) { + } + + } // End of 'Control' statement + +} // End of module NGAP_TestControl diff --git a/ttcn/AtsNGAP/NGAP_TestSystem.ttcn b/ttcn/AtsNGAP/NGAP_TestSystem.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b435c1741354237b8a338c5669aca5db83930e55 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TestSystem.ttcn @@ -0,0 +1,55 @@ + /** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides the types and ports used by the test component for NGAP tests. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module NGAP_TestSystem { + + // LibCommon + import from LibCommon_Sync all; + + // LibNGAP + import from LibNGAP_Interface all; + + group SystemConfiguration { + + group TestComponents { + + group TestSystemInterfaces { + + /** + * @desc The test system interface + */ + type component TestAdapter { + + port + NGAPPort NGAP_AMF, + NGAP_gNB_1, + NGAP_gNB_2 + } // End of type TestAdapter + + } // End of group TestSystemInterfaces + + type component gNBNGAPComponent extends ServerSyncComp, NGAPComponent { + //component variables + } // End of type component gNBNGAPComponent + + type component aMFNGAPComponent extends ServerSyncComp, NGAPComponent { + //component variables + } // End of type component aMFNGAPComponent + + //type component NGAP extends ServerSyncComp, NGAPComponent { + // //component variables + //} // End of component NGAP + + } // End of group TestComponents + + } // End of group SystemConfiguration + +} // End of module NGAP_TestSystem diff --git a/ttcn/AtsNGAP/module.mk b/ttcn/AtsNGAP/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..fe9cc75c4420da51326383d8fbd6578996eaca74 --- /dev/null +++ b/ttcn/AtsNGAP/module.mk @@ -0,0 +1,29 @@ +suite := AtsNGAP +pdu := NGAP_PDU + +sources:= \ + NGAP_TestCases.ttcn \ + NGAP_Pics.ttcn \ + NGAP_Pixits.ttcn \ + NGAP_Steps.ttcn \ + NGAP_TestSystem.ttcn \ + NGAP_TestConfiguration.ttcn \ + NGAP_TestControl.ttcn \ + NGAP_TCFunctions.ttcn + +modules := \ + ../LibNGAP \ + ../LibCommon \ + ../../titan-test-system-framework/ccsrc/Protocols/Pcap \ + ../../titan-test-system-framework/ccsrc/Protocols/ETH \ + ../../ccsrc/Ports/LibNGAP \ + ../../ccsrc/EncDec \ + ../../titan-test-system-framework/ccsrc/Framework \ + ../../titan-test-system-framework/ccsrc/loggers \ + ../../ccsrc/Protocols/NGAP_layer \ + ../../ccsrc/Protocols/NGAP \ + ../../ccsrc/Asn1c \ + ../../ccsrc/framework \ + ../modules/titan.TestPorts.Common_Components.Abstract_Socket + + \ No newline at end of file diff --git a/ttcn/LibCommon b/ttcn/LibCommon new file mode 160000 index 0000000000000000000000000000000000000000..21bad7c51917d19bebdff5b36983e22922421976 --- /dev/null +++ b/ttcn/LibCommon @@ -0,0 +1 @@ +Subproject commit 21bad7c51917d19bebdff5b36983e22922421976 diff --git a/ttcn/LibNGAP/lib/LibNGAP_EncdecDeclarations.ttcn b/ttcn/LibNGAP/lib/LibNGAP_EncdecDeclarations.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2f188abd9654f635128096a18b0372873bbe1756 --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_EncdecDeclarations.ttcn @@ -0,0 +1,114 @@ +/** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides external function declarations. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module LibNGAP_EncdecDeclarations { + + import from LibNGAP_TypesAndValues all; + import from NGAP_IEs language "ASN.1:2002" all;// with {encode "ALIGNED_PER_OctetAligned"}; + + //TODO: if no additional type in TypesAndvalues remove + //external function fx_enc_ProtocolIE (ProtocolIE p) return bitstring + // with {extension "prototype(convert) encode(LibNGAP_codec)"} + //external function fx_dec_ProtocolIE (inout bitstring pdu, out ProtocolIE p) return integer + // with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + /*external function fx_enc_NGAP_IEs (NGAP_IEs p) return bitstring + with {extension "prototype(convert) encode(LibNGAP_codec)"} + external function fx_dec_NGAP_IEs (inout bitstring pdu, out NGAP_IEs p) return integer + with {extension "prototype(sliding) decode(LibNGAP_codec)"}*/ + //external function dec_PDUSessionResourceSetupResponseTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceSetupResponseTransfer p) return integer + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + external function fx_dec_PDUSessionResourceSetupResponseTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceSetupResponseTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceSetupRequestTransfer(NGAP_IEs.PDUSessionResourceSetupRequestTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceSetupUnsuccessfulTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceSetupUnsuccessfulTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + + external function fx_enc_PDUSessionResourceSetupUnsuccessfulTransfer(NGAP_IEs.PDUSessionResourceSetupUnsuccessfulTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceReleaseCommandTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceReleaseCommandTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceReleaseCommandTransfer(NGAP_IEs.PDUSessionResourceReleaseCommandTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceReleaseResponseTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceReleaseResponseTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceReleaseResponseTransfer(NGAP_IEs.PDUSessionResourceReleaseResponseTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceModifyConfirmTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceModifyConfirmTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceModifyConfirmTransfer(NGAP_IEs.PDUSessionResourceModifyConfirmTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceModifyIndicationTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceModifyIndicationTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceModifyIndicationTransfer(NGAP_IEs.PDUSessionResourceModifyIndicationTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceModifyIndicationUnsuccessfulTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceModifyIndicationUnsuccessfulTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceModifyIndicationUnsuccessfulTransfer(NGAP_IEs.PDUSessionResourceModifyIndicationUnsuccessfulTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceModifyResponseTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceModifyResponseTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceModifyResponseTransfer(NGAP_IEs.PDUSessionResourceModifyResponseTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_PDUSessionResourceModifyUnsuccessfulTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceModifyUnsuccessfulTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceModifyUnsuccessfulTransfer(NGAP_IEs.PDUSessionResourceModifyUnsuccessfulTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + + external function fx_dec_UEContextSuspendRequestTransfer(inout bitstring pdu, out NGAP_IEs.UEContextSuspendRequestTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_UEContextSuspendRequestTransfer(NGAP_IEs.UEContextSuspendRequestTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + + external function fx_dec_PDUSessionResourceModifyRequestTransfer(inout bitstring pdu, out NGAP_IEs.PDUSessionResourceModifyRequestTransfer p) return integer + with {extension "prototype(sliding) decode(PER)"} + //with {extension "prototype(sliding) decode(LibNGAP_codec)"} + + external function fx_enc_PDUSessionResourceModifyRequestTransfer(NGAP_IEs.PDUSessionResourceModifyRequestTransfer p) return bitstring + with {extension "prototype(convert) encode(PER)"} + +} // End of module LibNGAP_EncdecDeclarations \ No newline at end of file diff --git a/ttcn/LibNGAP/lib/LibNGAP_Pixits.ttcn b/ttcn/LibNGAP/lib/LibNGAP_Pixits.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9c384423dfa766cfb5201095a29827af3482d426 --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_Pixits.ttcn @@ -0,0 +1,656 @@ + /** +* @author ETSI / TTF033 +* @version $URL$ +* $Id$ +* @desc This module provides PIXITS for NGAP protocol. +* @copyright ETSI Copyright Notification +* No part may be reproduced except as authorized by written permission. +* The copyright and the foregoing restriction extend to reproduction in all media. +* All rights reserved. +* @see ETSI TS +*/ +module LibNGAP_Pixits { + + // LibCommon + import from LibCommon_DataStrings all; + + // LibNGAP + import from NGAP_IEs language "ASN.1:1997" all; + import from NGAP_CommonDataTypes language "ASN.1:1997" all; + + /** + * @desc Define the network transportation layer + */ + type enumerated TransportProtocol { + UDP_E, + TCP_E, + SCTP_E + } + + /** + * @desc Network transportation layer setting + */ + group LibNGAP_Pixit_Parameters { + + /** + * @desc boolean (This is an operator option, not a protocol option), True, if IPv6 addresses are used + */ + modulepar boolean PX_IPv6 := false; + + /** + * @desc enumerated (This is an operator option, not a protocol option) + */ + modulepar TransportProtocol PX_NGAP_TRANSPORT_PROTOCOL := SCTP_E; + + } // End of group LibNGAP_Pixit_Parameters + + /** + * @desc Network transportation layer timers + */ + group LibNGAP_Timers { + + /** + * @desc float for TWait default value for waiting an operator action + */ + modulepar float PX_NGAP_TWAIT:= 30.0; + + } // End of group NGAP_Timers + + /** + * @desc Unique identifier assigned by the AMF to the UE for NGAP signaling purposes + * @see EETSI TS 138 413 V16.12.0 (2023-05)TSI + */ + modulepar AMF_UE_NGAP_ID PX_AMF_UE_NGAP_ID := 102; + + /** + * @desc This IE carries an identifier assigned by the RAN to the UE for the purposes of NGAP signaling + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar RAN_UE_NGAP_ID PX_RAN_UE_NGAP_ID := 1; + + /** + * @desc The identifier for the PDU session + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar PDUSessionID PX_PDU_SESSION_ID := 0; + + /** + * @desc Single Network Slice Selection Assistance Information + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar SST PX_SST := '01'O; + + /** + * @desc Single Network Slice Selection Assistance Information + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar Oct3 PX_SD := '000000'O; + + /** + * @desc + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar TransportLayerAddress PX_TRANSPORT_LAYER_ADDRESS := oct2bit('0a0000a2'O); // 10.0.0.162 + + /** + * @desc + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar TransportLayerAddress PX_SOURCE_TRANSPORT_LAYER_ADDRESS := oct2bit('0a0000a2'O); // 10.0.0.162 + + /** + * @desc + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar TransportLayerAddress PX_MC_TRANSPORT_LAYER_ADDRESS := oct2bit('0a0000a2'O); // 10.0.0.162 + + /** + * @desc GPRS Tunneling Protocol - Tunnel Endpoint Identifier + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar GTP_TEID PX_GTP_TEID := '4f485cc3'O; + + /** + * @desc To identify QoS flow + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar QosFlowIdentifier PX_QOS_FLOW_IDENTIFIER := 1; + + /** + * @desc To Indicate alternative sets of QoS parameters for the QoS flow + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.10 GBR QoS Flow Information + */ + modulepar AlternativeQoSParaSetIndex PX_ALTERNATIVE_QOS_PARA_SET_INDEX := 1; + + /** + * @desc To indicate the QoS parameters set which can currently be fulfilled + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.153 Alternative QoS Parameters Set Notify Index + */ + modulepar AlternativeQoSParaSetNotifyIndex PX_ALTERNATIVE_QOS_PARA_SET_NOTIFY_INDEX := 0; + + /** + * @desc The Mobile Country Code (MCC) and Mobile Network Code (MNC) + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.3.5 PLMN Identity + */ + modulepar PLMNIdentity PX_PLMN_IDENTITY := '00f110'O; // MCC: 1, MNC: 01 + + /** + * @desc The leftmost bits of the E-UTRA Cell Identity IE correspond to the ng-eNB ID + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.9 E-UTRA CGI + */ + modulepar EUTRACellIdentity PX_EUTRA_CELL_IDENTITY := hex2bit('1234501'H); + + modulepar NRCellIdentity PX_NR_CELL_IDENTITY := hex2bit('123450123'H); + /** + * @desc + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar octetstring PX_PDU_SESSION_RESOURCE_RELEASE_COMMAND_TRANSFER := '1000'O; + + /** + * @desc The expected activity time in seconds + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.94 Expected UE Activity Behaviour + */ + modulepar ExpectedActivityPeriod PX_EXPECTED_ACTIVITY_PERIOD := 10; + + /** + * @desc The expected idle time in seconds + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.94 Expected UE Activity Behaviour + */ + modulepar ExpectedIdlePeriod PX_EXPECTED_IDLE_PERIOD := 10; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_INITIAL_SETUP_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_UE_CONTEXT_RELEASE_COMMAND_CAUSE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_UE_CONTEXT_MODIFICATION_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_UE_CONTEXT_SUSPEND_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_UE_CONTEXT_RESUME_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_REQUIRED := resource_optimisation_handover; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_PREPARATION_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_REQUEST := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_CANCEL := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_CAUSE_MULTIPLE_LOCATION_REPORTING := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_NG_SETUP_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_RAN_CONFIGURATION_UPDATE_FAILURE := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseRadioNetwork PX_AMF_CONFIGURATION_UPDATE_FAILURE := unspecified; + + + modulepar CauseTransport PX_xxx_1 := unspecified; + + modulepar CauseProtocol PX_xxx_2 := unspecified; + + /** + * @desc To indicate the reason for a particular event for the NGAP protocol + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause + */ + modulepar CauseNas PX_CAUSE_NAS_NON_DELIVERY_INDICATION := unspecified; + + modulepar CauseMisc PX_xxx_4 := unspecified; + + + /** + * @desc To indicate the RRC state of the UE + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.92 RRC State + */ + modulepar RRCState PX_RRC_STATE := inactive; + + /** + * @desc To identify the AMF within the global 5G network + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause + */ + modulepar AMFPointer PX_AMF_POINTER:= '000001'B; + + /** + * @desc To identify the AMF within the global 5G network + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause + */ + modulepar AMFRegionID PX_AMF_REGION_ID:= '10000000'B; + + /** + * @desc To identify the AMF within the global 5G network + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause + */ + modulepar AMFSetID PX_AMF_SET_ID:= '0000000100'B; + + /** + * @desc + * @see ETSI TS 133 401 + */ + modulepar UL_NAS_MAC PX_UL_NAS_MAC := '0000000000000000'B; + + /** + * @desc + * @see ETSI TS 133 401 + */ + modulepar UL_NAS_Count PX_UL_NAS_COUNT := '00000'B; + + /** + * @desc + * @see ETSI TS 133 401 + */ + modulepar DL_NAS_MAC PX_DL_NAS_MAC := '0000000000000000'B; + + /** + * @desc To indicate the reason for RRC Connection Establishment/Resume + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.111 RRC Establishment Cause + */ + modulepar RRCEstablishmentCause PX_RRC_ESTABLISHMENT_CAUSE := notAvailable; + + /** + * @desc To indicate the reason for RRC Connection Establishment/Resume + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.111 RRC Establishment Cause + */ + modulepar RRCEstablishmentCause PX_RRC_RESUME_CAUSE := notAvailable; + + /** + * @desc To indicate which kind of handover was triggered in the source side + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.22 Handover Type + */ + modulepar HandoverType PX_HANDOVER_TYPE := intra5gs; + + /** + * @desc To indicates the UE Aggregate Maximum Bit Rate as specified in TS 23.501 in the downlink direction (bit/s) + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.58 UE Aggregate Maximum Bit Rate + */ + modulepar BitRate PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_DL := 100000000; + + /** + * @desc To indicates the UE Aggregate Maximum Bit Rate as specified in TS 23.501 in the uplink direction (bit/s) + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.58 UE Aggregate Maximum Bit Rate + */ + modulepar BitRate PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_UL := 1000000; + + /** + * @desc Each position in the bitmap represents an encryption algorithm + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.86 UE Security Capabilities + */ + modulepar NRencryptionAlgorithms PX_NR_ENCRYPTION_ALGORITHMS; + + /** + * @desc Each position in the bitmap represents an encryption algorithm + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.86 UE Security Capabilities + */ + modulepar NRintegrityProtectionAlgorithms PX_NR_INTEGRITY_PROTECTION_ALGORITHMS; + + /** + * @desc Each position in the bitmap represents an encryption algorithm + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.86 UE Security Capabilities + */ + modulepar EUTRAencryptionAlgorithms PX_EUTRA_ENCRYPTION_ALGORITHMS; + + /** + * @desc Each position in the bitmap represents an encryption algorithm + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.86 UE Security Capabilities + */ + modulepar EUTRAintegrityProtectionAlgorithms PX_EUTRA_INTEGRITY_PROTECTION_ALGORITHMS; + + modulepar NextHopChainingCount PX_NEXT_HOP_CHAINING_COUNT; + + modulepar SecurityKey PX_NEXT_HOP_NH; + + /** + * @desc Contains the DRB ID + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.53 DRB ID + */ + modulepar DRB_ID PX_DRB_ID := 1; + + /** + * @desc To indicate the Paging DRX as defined in TS 38.304 and TS 36.304 + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.90 Paging DRX + */ + modulepar PagingDRX PX_PAGING_DRX := v32; + + /** + * @desc To uniquely identify the AMF + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.3.21 AMF Name + */ + modulepar AMFName PX_AMF_NAME := "amarisoft.amf.5gc.mnc001.mcc001.3gppnetwork.org"; + + /** + * @desc Human readable name of the NG-RAN node + * @see ETSI TS 138 413 V16.12.0 (2023-05) + */ + modulepar RANNodeName PX_RAN_NODE_NAME := "gnb0012345"; + + /** + * @desc To identify the warning message + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.35 Message Identifier + */ + modulepar MessageIdentifier PX_MESSAGE_IDENTIFIER := '0000000000000000'B; + + /** + * @desc To identifies a particular message from the source and type indicated by the Message Identifier and is altered every time the message with a given Message Identifier is changed + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.36 Serial Number + */ + modulepar SerialNumber PX_SERIAL_NUMBER := '0000000000000000'B; + + /** + * @desc To indicate the periodicity of the warning message to be broadcast + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.49 Repetition Period + */ + modulepar RepetitionPeriod PX_REPETITION_PERIOD := 3; + + /** + * @desc To indicate the number of times a message is to be broadcast + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.38 Number of Broadcasts Requested + */ + modulepar NumberOfBroadcastsRequested PX_NUMBER_OF_BROADCASTS_REQUESTED := 4; + + modulepar octetstring PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER; + + modulepar EPS_TAC PX_EPS_TAC := '0000'O; + + modulepar Bit20 PX_MACRO_NGENB_ID; + + modulepar Bit18 PX_SHORT_MACRO_NGENB_ID; + + modulepar Bit21 PX_LONG_MACRO_NGENB_ID; + + modulepar Bit10 PX_UE_IDENTITY_INDEX_VALUE; + + modulepar PeriodicRegistrationUpdateTimer PX_PERIODIC_REGISTRATION_UPDATE_TIMER; + + modulepar NGRANTraceID PX_NGRAN_TRACE_ID; + + modulepar InterfacesToTrace PX_INTERFACES_TO_TRACE; + + modulepar UERadioCapabilityID PX_U_E_RADIO_CAPABILITY_ID; + + modulepar Extended_ConnectedTime PX_EXTENDED_CONNECTED_TIME; + + modulepar BitRate PX_UE_SIDELINK_AGGREGATE_MAXIMUM_BIT_RATE; + + modulepar FiveQI PX_FIVE_QI; + + modulepar bitstring PX_GNB_ID; + + /** + * @desc To indicate IMEISV value with a mask, to identify a terminal model without identifying an individual Mobile Equipment. + * @see 138 413 V16.12.0 (2023-05) Clause 9.3.1.54 Masked IMEISV + */ + modulepar bitstring PX_MaskedIMEISV; + + /** + * @desc To indicate local configuration for RRM strategies such as camp priorities in Idle mode and control of inter-RAT/inter-frequency handover in Active mode + * @see 138 413 V16.12.0 (2023-05) Clause 9.3.1.61 Index to RAT/Frequency Selection Priority + */ + modulepar integer PX_Index_to_RAT_Frequency_Selection_Priority; + + /** + * @desc eNB Identity. + * @see ETSI TS 136 413 Clause 9.2.1.37 Global eNB ID + */ + //modulepar ENB_ID PX_eNB_ID := { + // homeENB_ID := '0000000000000000000000000000'B + //}; + + /** + * @desc eNB Identity. + * @see ETSI TS 136 413 Clause 9.2.1.37 Global eNB ID + */ + // modulepar ENB_ID PX_eNB_ID_UNKNOWN := { + // homeENB_ID := '1100000000000000000000000000'B + // }; + + /** + * @desc Cell Identity. + */ + //modulepar CellIdentity PX_CELL_ID := '0000000000000000000000000000'B; + + /** + * @desc The TAC is used to uniquely identify a Tracking Area Code. + * @see ETSI TS 136 413 Clause 9.2.3.7 TAC + */ + /** + * @desc To uniquely identify a Tracking Area Code + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.3.10 TAC + */ + //modulepar TAC PX_TAC := '000000'O; + modulepar TAC PX_TACode := '000000'O; + + /** + * @desc The MME Group ID. + */ + //modulepar MME_Group_ID PX_MME_GROUP_ID := '0000'O; + + /** + * @desc The MME Code to uniquely identify an MME within an MME pool area. + * @see ETSI TS 136 413 Clause 9.2.3.12 MMEC + */ + //modulepar MME_Code PX_MME_CODE := '01'O; + + /** + * @desc The relative processing capacity of an MME with respect to the other MMEs in the pool in order to load-balance MMEs within a pool defined in TS 23.401. + * @see ETSI TS 136 413 Clause 9.2.3.17 Relative MME Capacity + */ + //modulepar RelativeMMECapacity PX_RELATIVE_MME_CAPACITY := 128; + + /** + * @desc The Message Identifier IE identifies a warning message. + * @see ETSI TS 136 413 Clause 9.2.1.44 Message Identifier + */ + //modulepar MessageIdentifier PX_MESSAGE_IDENTIFIER := oct2bit('0000'O); + + /** + * @desc The Serial Number IE identifies a particular message from the source and type indicated by the Message Identifie. + * @see ETSI TS 136 413 Clause 9.2.1.45 Serial Number + */ + //modulepar SerialNumber PX_SERIAL_NUMBER := oct2bit('0000'O); + + /** + * @desc The Repetition Period IE indicates the periodicity of the warning message to be broadcast. + * @see ETSI TS 136 413 Clause 9.2.1.48 Repetition Period + */ + //modulepar RepetitionPeriod PX_REPETITION_PERIOD := 1; + + /** + * @desc The Number of Broadcast Requested IE indicates the number of times a message is to be broadcast. + * @see ETSI TS 136 413 Clause 9.2.1.49 Number of Broadcasts Requested + */ + //modulepar NumberOfBroadcasts PX_NUMBER_OF_BROADCASTS_REQUESTED := 1; + + /** + * @desc The Emergency Area ID IE is used to indicate the area which has the emergency impact. + * @see ETSI TS 136 413 Clause 9.2.1.47 Emergency Area ID + */ + //modulepar EmergencyAreaID PX_EMERGENCY_AREA_ID := '000000'O; + + /** + * @desc Event Type. + * @see ETSI TS 136 413 Clause 9.2.1.34 Request Type + */ + //modulepar EventType PX_EVENT_TYPE := direct; + + /** + * @desc Report Area. + * @see ETSI TS 136 413 Clause 9.2.1.34 Request Type + */ + //modulepar ReportArea PX_REPORT_AREA := ecgi; + + /** + * @desc The E-UTRAN Trace ID. + * @see ETSI TS 136 413 Clause 9.2.1.4 Trace Activation + */ + //modulepar E_UTRAN_Trace_ID PX_EUTRAN_TRACE_ID := '0000000000000000'O; + + /** + * @desc The interfaces to trace. + * @see ETSI TS 136 413 Clause 9.2.1.4 Trace Activation + */ + //modulepar InterfacesToTrace PX_INTERFACES_TO_TRACE := '00000000'B; + + /** + * @desc The trace depth. + * @see ETSI TS 136 413 Clause 9.2.1.4 Trace Activation + */ + //modulepar TraceDepth PX_TRACE_DEPTH := medium; + + /** + * @desc Transport Layer Address. + * @see ETSI TS 136 413 Clause 9.2.2.1 Transport Layer Address + */ + //modulepar TransportLayerAddress PX_TRANSPORT_LAYER_ADDRESS := oct2bit('0a00000a'O); + + /** @desc CDMA2000 message + * @see ETSI TS 136 413 Clause 9.2.1.23 CDMA2000-PDU + */ + //modulepar octetstring PX_CDMA200_PDU := ''O; + + /** @desc CDMA2000 RAT type + * @see ETSI TS 136 413 Clause 9.2.1.24 CDMA2000 RAT Type + */ + //modulepar Cdma2000RATType PX_CDMA200_RAT_TYPE := hRPD; + + /** @desc CDMA2000 Reference Cell ID + * @see ETSI TS 136 413 Clause 9.2.1.25 CDMA2000 Sector ID + */ + //modulepar octetstring PX_CDMA200_SECTOR_ID := ''O; + + /** @desc The Paging DRX as defined in TS 36.304. + * @see ETSI TS 136 413 Clause 9.2.1.16 Paging DRX + */ + //modulepar PagingDRX PX_PAGING_DRX := v256; + + /** @desc The identifier of the Closed Subscriber Group, as defined in TS 23.003. + * @see ETSI TS 136 413 Clause 9.2.1.62 CSG Id + */ + //modulepar Bit27 PX_CSG_ID := '000000000000000000000000000'B; + + /** @desc The UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304. + * @see ETSI TS 136 413 Clause 9.2.3.10 UE Identity Index value + */ + //modulepar UEIdentityIndexValue PX_UE_IDENTITY_INDEX_VALUE := '0000000000'B; + + /** @desc The International Mobile Subscriber Identity, which is commonly used to identify the UE in the CN. + * @see ETSI TS 136 413 Clause 9.2.3.11 IMSI + */ + //modulepar IMSI PX_IMSI := '000000'O; + + /** @desc Indicates whether Paging is originated from the CS or PS domain. + * @see ETSI TS 136 413 Clause 9.2.3.22 CN Domain + */ + //modulepar CNDomain PX_CNDOMAIN := ps; + + /** @desc Indicates a not supported algorithm. + * @see ETSI TS 136 413 Clause 9.2.1.40 UE Security Capabilities + */ + //modulepar EncryptionAlgorithms PX_UNSUPPORTED_ENCRYPTION_ALGORITHM := '1111111111111111'B; + + /** @desc Indicates a supported encription algorithm. + * @see ETSI TS 136 413 Clause 9.2.1.40 UE Security Capabilities + */ + ///modulepar EncryptionAlgorithms PX_ENCRYPTION_ALGORITHM := '0101010101010101'B; + + /** @desc Indicates a supported integrity protection algorithm. + * @see ETSI TS 136 413 Clause 9.2.1.40 UE Security Capabilities + */ + //modulepar IntegrityProtectionAlgorithms PX_INTEGRITY_PROTECTION_ALGORITHM := '0101010101010101'B; + + /** @desc Indicates the procedure value. + * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics + */ + //modulepar ProcedureCode PX_PROCEURE_CODE := 0; + + /** @desc Indicates triggering message value + * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics + */ + //modulepar TriggeringMessage PX_TRIGGERING_CODE := initiating_message; + + /** @desc Indicates a the criticality + * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics + */ + //modulepar Criticality PX_CRITICALITY := ignore; + + /** @desc Indicates the transport layer address. + */ + //modulepar TransportLayerAddress PX_TPORT_LAYER_ADDR := '1'B; + + /** @desc Indicates an unacceptable transport layer address. + */ + //modulepar TransportLayerAddress PX_INVALID_TPORT_LAYER_ADDR := '0'B; + + /** @desc Indicates the Downlink GTP TEID. + */ + //modulepar GTP_TEID PX_DL_GTP_TEID := '00000000'O; + + /** @desc Indicates the source_ToTarget_TransparentContainer value. + * @see ETSI TS 136 413 Clause 9.2.1.56 Source to Target Transparent Container + */ + //modulepar Source_ToTarget_TransparentContainer PX_SOURCE_TO_TARGET_TANSPARENT_CONTAINER := '12121212'O; + + /** @desc Indicates the target_ToSource_TransparentContainer value. + * @see ETSI TS 136 413 Clause 9.2.1.57 Target to Source Transparent Container + */ + //modulepar Target_ToSource_TransparentContainer PX_TARGET_TO_SOURCE_TANSPARENT_CONTAINER := '12121212'O; + +} // End of module LibNGAP_Pixits + diff --git a/ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn b/ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..35a9da7c67152dd6a7526cb835e6048c16d510bb --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn @@ -0,0 +1,24358 @@ +/** + * @author ETSI / TTF033 + * @version $URL$ + * $Id$ + * @desc This module provides templates for NGAP protocol. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * @see ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16 + */ +module LibNGAP_Templates { + + // LibCommon + import from LibCommon_BasicTypesAndValues all; + import from LibCommon_DataStrings all; + + // LibNGAP + import from NGAP_Constants language "ASN.1:2002" all; + import from NGAP_CommonDataTypes language "ASN.1:2002" all; + import from NGAP_IEs language "ASN.1:2002" all; + import from NGAP_PDU_Contents language "ASN.1:2002" all; + import from NGAP_PDU_Descriptions language "ASN.1:2002" all; + import from NGAP_Containers language "ASN.1:2002" all; + + import from LibNGAP_TypesAndValues all; + import from LibNGAP_Pixits all; + + group g_NGAP { + + group g_NGAP_PDU { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST + */ + template (value) NGAP_PDU m_ngap_initMsg( + in template (value) InitiatingMessage p_msg + ) := { + initiatingMessage := p_msg + } // End of template m_ngap_initMsg + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures + */ + template (value) NGAP_PDU m_ngap_succMsg( + in template (value) SuccessfulOutcome p_msg + ) := { + successfulOutcome := p_msg + } // End of template m_ngap_succMsg + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures + */ + template (value) NGAP_PDU m_ngap_unsuccMsg( + in template (value) UnsuccessfulOutcome p_msg + ) := { + unsuccessfulOutcome := p_msg + } // End of template m_ngap_unsuccMsg + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST + */ + template (present) NGAP_PDU mw_ngap_initMsg( + template (present) InitiatingMessage p_msg := ? + ) := { + initiatingMessage := p_msg + } // End of template mw_ngap_initMsg + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures + */ + template (present) NGAP_PDU mw_ngap_succMsg( + template (present) SuccessfulOutcome p_msg := ? + ) := { + successfulOutcome := p_msg + } // End of template mw_ngap_succMsg + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 8.1 List of NGAP Elementary Procedures + */ + template (present) NGAP_PDU mw_ngap_unsuccMsg( + template (present) UnsuccessfulOutcome p_msg := ? + ) := { + unsuccessfulOutcome := p_msg + } // End of template mw_ngap_unsuccMsg + + } // End of group Receive + + } // End of group g_NGAP_PDU + + group Message_Functional_Definition_and_Content { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1 PDU Session Management Messages + */ + group PDU_Session_Management_Messages { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1 PDU Session Management Messages + */ + group PDU_SESSION_RESOURCE_SETUP_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST + */ + template (value) InitiatingMessage m_n2_PDUSessionResourceSetupRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq + ) := { + procedureCode := id_PDUSessionResourceSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSUReq, + criticality := ignore, + value_ := { PDUSessionResourceSetupListSUReq := p_pDUSessionResourceSetupListSUReq } + } + } + } + } + } // End of template m_n2_PDUSessionResourceSetupRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.1 PDU SESSION RESOURCE SETUP REQUEST + */ + template (present) InitiatingMessage mw_n2_PDUSessionResourceSetupRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq := ? + ) := { + procedureCode := id_PDUSessionResourceSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSUReq, + criticality := ignore, + value_ := { PDUSessionResourceSetupListSUReq := p_pDUSessionResourceSetupListSUReq } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceSetupRequest + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_SETUP_REQUEST + + group PDU_SESSION_RESOURCE_SETUP_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.2 PDU SESSION RESOURCE SETUP RESPONSE + */ + template (value) SuccessfulOutcome m_n2_PDUSessionResourceSetupResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes + ) := { + procedureCode := id_PDUSessionResourceSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSURes, + criticality := ignore, + value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceSetupResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.1.2 PDU SESSION RESOURCE SETUP RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceSetupResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSUReq := ? + ) := { + procedureCode := id_PDUSessionResourceSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSURes, + criticality := ignore, + value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSUReq} + } + } + } + } + } // End of template mw_n2_PDUSessionResourceSetupResponse + + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceSetupResponseFailed( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceFailedToSetupListSURes p_pDUSessionResourceFailedToSetupListSUReq := ? + ) := { + procedureCode := id_PDUSessionResourceSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceFailedToSetupListSURes, + criticality := ignore, + value_ := { PDUSessionResourceFailedToSetupListSURes := p_pDUSessionResourceFailedToSetupListSUReq} + } + } + } + } + } // End of template mw_n2_PDUSessionResourceSetupResponse + + } // End of group Receive + } // End of group PDU_SESSION_RESOURCE_SETUP_RESPONSE + + group PDU_SESSION_RESOURCE_RELEASE_COMMAND { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.3 PDU SESSION RESOURCE RELEASE COMMAND + */ + template (value) InitiatingMessage m_n2_PDUSessionResourceReleaseCommand( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceToReleaseListRelCmd p_pDUSessionResourceToReleaseListRelCmd + ) := { + + procedureCode := id_PDUSessionResourceToReleaseListRelCmd, + criticality := reject, + value_ := { + PDUSessionResourceReleaseCommand := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceToReleaseListRelCmd, + criticality := reject, + value_ := { PDUSessionResourceToReleaseListRelCmd := p_pDUSessionResourceToReleaseListRelCmd } + } + } + } + } + } // End of template m_n2_PDUSessionResourceReleaseCommand + + } // End of group Send + + group Receive { + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.3 PDU SESSION RESOURCE RELEASE COMMAND + */ + template (present) InitiatingMessage mw_n2_PDUSessionResourceReleaseCommand( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceToReleaseListRelCmd p_pDUSessionResourceToReleaseListRelCmd := ? + ) := { + + procedureCode := id_PDUSessionResourceToReleaseListRelCmd, + criticality := reject, + value_ := { + PDUSessionResourceReleaseCommand := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceToReleaseListRelCmd, + criticality := reject, + value_ := { PDUSessionResourceToReleaseListRelCmd := p_pDUSessionResourceToReleaseListRelCmd } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceReleaseCommand + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_RELEASE_COMMAND + + group PDU_SESSION_RESOURCE_RELEASE_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.4 PDU SESSION RESOURCE RELEASE RESPONSE + */ + template (value) SuccessfulOutcome m_n2_PDUSessionResourceReleaseResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes + ) := { + + procedureCode := id_PDUSessionResourceRelease, + criticality := reject, + value_ := { + PDUSessionResourceReleaseResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceReleasedListRelRes, + criticality := reject, + value_ := { PDUSessionResourceReleasedListRelRes := p_pDUSessionResourceReleasedListRelRes + } + } + } + } + } + } // End of template m_n2_PDUSessionResourceReleaseResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.4 PDU SESSION RESOURCE RELEASE RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceReleaseResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes := ? + ) := { + + procedureCode := id_PDUSessionResourceRelease, + criticality := reject, + value_ := { + PDUSessionResourceReleaseResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceReleasedListRelRes, + criticality := reject, + value_ := { PDUSessionResourceReleasedListRelRes := p_pDUSessionResourceReleasedListRelRes + } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceReleaseResponse + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_RELEASE_RESPONSE + + group PDU_SESSION_RESOURCE_MODIFY_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.5 PDU SESSION RESOURCE MODIFY REQUEST + */ + template (value) InitiatingMessage m_n2_PDUSessionResourceModify( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceModifyListModReq p_pDUSessionResourceModifyListModReq + ) := { + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := reject, + value_ := { PDUSessionResourceModifyListModReq := p_pDUSessionResourceModifyListModReq } + } + } + } + } + } // End of template m_n2_PDUSessionResourceModify + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.5 PDU SESSION RESOURCE MODIFY REQUEST + */ + template (present) InitiatingMessage mw_n2_PDUSessionResourceModify( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceModifyListModReq p_pDUSessionResourceModifyListModReq := ? + ) := { + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := reject, + value_ := { PDUSessionResourceModifyListModReq := p_pDUSessionResourceModifyListModReq } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceModify + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_MODIFY_REQUEST + + group PDU_SESSION_RESOURCE_MODIFY_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE + */ + template (value) SuccessfulOutcome m_n2_PDUSessionResourceModifyResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceModifyListModRes p_pDUSessionResourceModifyListModRes + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := reject, + value_ := { PDUSessionResourceModifyListModRes := p_pDUSessionResourceModifyListModRes + } + } + } + } + } + } // End of template m_n2_PDUSessionResourceModifyResponse + + template (value) SuccessfulOutcome m_n2_PDUSessionResourceModifyResponseFailedToMod( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID, + in template (value) PDUSessionResourceFailedToModifyListModRes p_pDUSessionResourceFailedToModifyListModRes + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceFailedToModifyListModRes, + criticality := reject, + value_ := { PDUSessionResourceFailedToModifyListModRes := p_pDUSessionResourceFailedToModifyListModRes + } + } + } + } + } + } // End of template m_n2_PDUSessionResourceModifyResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceModifyResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceModifyListModRes p_pDUSessionResourceModifyListModRes := ? + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := reject, + value_ := { PDUSessionResourceModifyListModRes := p_pDUSessionResourceModifyListModRes + } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceModifyResponse + + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceModifyResponseFailedToMod( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceFailedToModifyListModRes p_pDUSessionResourceFailedToModifyListModRes := ? + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceFailedToModifyListModRes, + criticality := reject, + value_ := { PDUSessionResourceFailedToModifyListModRes := p_pDUSessionResourceFailedToModifyListModRes + } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceModifyResponse + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_MODIFY_RESPONSE + + group PDU_SESSION_RESOURCE_NOTIFY { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.7 PDU SESSION RESOURCE NOTIFY + */ + template (value) InitiatingMessage m_n2_PDUSessionResourceNotify( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceNotifyList p_pDUSessionResourceNotifyList + ) := { + + procedureCode := id_PDUSessionResourceNotify, + criticality := reject, + value_ := { + PDUSessionResourceNotify := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceNotifyList, + criticality := reject, + value_ := { PDUSessionResourceNotifyList := p_pDUSessionResourceNotifyList } + } + } + } + } + } // End of template m_n2_PDUSessionResourceNotify + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.7 PDU SESSION RESOURCE NOTIFY + */ + template (present) InitiatingMessage mw_n2_PDUSessionResourceNotify( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceNotifyList p_pDUSessionResourceNotifyList := ? + ) := { + + procedureCode := id_PDUSessionResourceNotify, + criticality := reject, + value_ := { + PDUSessionResourceNotify := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceNotifyList, + criticality := reject, + value_ := { PDUSessionResourceNotifyList := p_pDUSessionResourceNotifyList } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceNotify + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_NOTIFY + + group PDU_SESSION_RESOURCE_MODIFY_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE + */ + template (value) InitiatingMessage m_n2_PDUSessionResourceModifyIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceModifyListModInd p_pDUSessionResourceModifyListModInd + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := reject, + value_ := { PDUSessionResourceModifyListModInd := p_pDUSessionResourceModifyListModInd + } + } + } + } + } + } // End of template m_n2_PDUSessionResourceModifyIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.6 PDU SESSION RESOURCE MODIFY RESPONSE + */ + template (present) InitiatingMessage mw_n2_PDUSessionResourceModifyIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceModifyListModInd p_pDUSessionResourceModifyListModInd := ? + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := reject, + value_ := { PDUSessionResourceModifyListModInd := p_pDUSessionResourceModifyListModInd + } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceModifyIndication + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_MODIFY_INDICATION + + group PDU_SESSION_RESOURCE_MODIFY_CONFIRM { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.9 PDU SESSION RESOURCE MODIFY CONFIRM + */ + template (value) SuccessfulOutcome m_n2_PDUSessionResourceModifyConfirm( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceModifyListModCfm p_pDUSessionResourceModifyListModCfm + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyConfirm := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := ignore, + value_ := { PDUSessionResourceModifyListModCfm := p_pDUSessionResourceModifyListModCfm + } + } + } + } + } + } // End of template m_n2_PDUSessionResourceModifyConfirm + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.9 PDU SESSION RESOURCE MODIFY CONFIRM + */ + template (value) SuccessfulOutcome m_n2_PDUSessionResourceModifyConfirm_failed( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceFailedToModifyListModCfm p_PDUSessionResourceFailedToModifyListModCfm + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyConfirm := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceFailedToModifyListModCfm, + criticality := ignore, + value_ := { PDUSessionResourceFailedToModifyListModCfm := p_PDUSessionResourceFailedToModifyListModCfm + } + } + } + } + } + } // End of template m_n2_PDUSessionResourceModifyConfirm_failed + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.9 PDU SESSION RESOURCE MODIFY CONFIRM + */ + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceModifyConfirm( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceModifyListModCfm p_pDUSessionResourceModifyListModCfm := ? + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyConfirm := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceModifyListModReq, + criticality := ignore, + value_ := { PDUSessionResourceModifyListModCfm := p_pDUSessionResourceModifyListModCfm + } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceModifyConfirm + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) 9.2.1.9 PDU SESSION RESOURCE MODIFY CONFIRM + */ + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceModifyConfirm_failed( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceFailedToModifyListModCfm p_PDUSessionResourceFailedToModifyListModCfm := ? + ) := { + + procedureCode := id_PDUSessionResourceModify, + criticality := reject, + value_ := { + PDUSessionResourceModifyConfirm := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceFailedToModifyListModCfm, + criticality := ignore, + value_ := { PDUSessionResourceFailedToModifyListModCfm := p_PDUSessionResourceFailedToModifyListModCfm + } + } + } + } + } + } // End of template mw_n2_PDUSessionResourceModifyConfirm_failed + + } // End of group Receive + + } // End of group PDU_SESSION_RESOURCE_MODIFY_CONFIRM + + } // End of group PDU_Session_Management_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2 UE Context Management Messages + */ + group UE_Context_Management_Messages { + + group INITIAL_CONTEXT_SETUP_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST + */ + template (value) InitiatingMessage m_n2_InitialContextSetupRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) GUAMI p_gUAMI, + in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupRequest := { + + + + + + + + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListCxtReq, + criticality := reject, + value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq } + } + } + } + } + } // End of template m_n2_InitialContextSetupRequest + + template (value) InitiatingMessage m_n2_InitialContextSetupRequest_noPDUSessionResourceSetupListCxtReq( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) GUAMI p_gUAMI, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityKey, + criticality := reject, + value_ := { SecurityKey := p_nextHopNH } + } + } + } + } + } // End of template m_n2_InitialContextSetupRequest_noPDUSessionResourceSetupListCxtReq + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST + */ + template (value) InitiatingMessage m_n2_InitialContextSetupRequest_optional_TraceActivation( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) GUAMI p_gUAMI, + in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH, + in template (value) TraceActivation p_traceActivation + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_PDUSessionResourceSetupListCxtReq, + criticality := reject, + value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityKey, + criticality := reject, + value_ := { SecurityKey := p_nextHopNH } + }, + { + id := id_TraceActivation, + criticality := ignore, + value_ := { TraceActivation := p_traceActivation } + } + } + } + } + } // End of template m_n2_InitialContextSetupRequest_optional_TraceActivation + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST + */ + template (value) InitiatingMessage m_n2_InitialContextSetupRequest_optional_MobilityRestriction( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) GUAMI p_gUAMI, + in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH, + in template (value) MobilityRestrictionList p_mobilityRestrictionList + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_PDUSessionResourceSetupListCxtReq, + criticality := reject, + value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityKey, + criticality := reject, + value_ := { SecurityKey := p_nextHopNH } + }, + { + id := id_TraceActivation, + criticality := ignore, + value_ := { MobilityRestrictionList := p_mobilityRestrictionList } + } + } + } + } + } // End of template m_n2_InitialContextSetupRequest_optional_MobilityRestriction + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST + */ + template (value) InitiatingMessage m_n2_InitialContextSetupRequest_differentOptionals( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) GUAMI p_gUAMI, + in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH, + in template (value) UERadioCapability p_uERadioCapability, + in template (value) IndexToRFSP p_indexToRFSP := PX_Index_to_RAT_Frequency_Selection_Priority, + in template (value) MaskedIMEISV p_maskedIMEISV := PX_MaskedIMEISV, + in template (value) NAS_PDU p_nasPdu, + in template (value) EmergencyFallbackIndicator p_emergencyFallbackIndicator, + in template (value) RRCInactiveTransitionReportRequest p_rRCInactiveTransitionReportRequest, + in template (value) RedirectionVoiceFallback p_redirectionVoiceFallback, + in template (value) LocationReportingRequestType p_locationReportingRequestType, + in template (value) SRVCCOperationPossible p_sRVCCOperationPossible, + in template (value) IAB_Authorized p_iAB_Authorized, + in template (value) Enhanced_CoverageRestriction p_enhanced_CoverageRestriction, + in template (value) Extended_ConnectedTime p_extended_ConnectedTime := PX_EXTENDED_CONNECTED_TIME, + in template (value) UE_DifferentiationInfo p_uE_DifferentiationInfo, + in template (value) NRUESidelinkAggregateMaximumBitrate p_nRUESidelinkAggregateMaximumBitrate, + in template (value) LTEUESidelinkAggregateMaximumBitrate p_lTEUESidelinkAggregateMaximumBitrate, + in template (value) UERadioCapabilityID p_uERadioCapabilityID + + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_PDUSessionResourceSetupListCxtReq, + criticality := reject, + value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityKey, + criticality := reject, + value_ := { SecurityKey := p_nextHopNH } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_IndexToRFSP, + criticality := ignore, + value_ := { IndexToRFSP := p_indexToRFSP } + }, + { + id := id_MaskedIMEISV, + criticality := ignore, + value_ := { MaskedIMEISV := p_maskedIMEISV } + }, + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_EmergencyFallbackIndicator, + criticality := reject, + value_ := { EmergencyFallbackIndicator := p_emergencyFallbackIndicator} + }, + { + id := id_RRCInactiveTransitionReportRequest, + criticality := ignore, + value_ := { RRCInactiveTransitionReportRequest := p_rRCInactiveTransitionReportRequest} + }, + { + id := id_RedirectionVoiceFallback, + criticality := ignore, + value_ := { RedirectionVoiceFallback := p_redirectionVoiceFallback } + } , + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType } + }, + { + id := id_SRVCCOperationPossible, + criticality := ignore, + value_ := { SRVCCOperationPossible := p_sRVCCOperationPossible } + }, + { + id := id_IAB_Authorized, + criticality := ignore, + value_ := { IAB_Authorized := p_iAB_Authorized } + }, + { + id := id_Enhanced_CoverageRestriction, + criticality := ignore, + value_ := { Enhanced_CoverageRestriction := p_enhanced_CoverageRestriction } + }, + { + id := id_Extended_ConnectedTime, + criticality := ignore, + value_ := { Extended_ConnectedTime := p_extended_ConnectedTime } + }, + { + id := id_UE_DifferentiationInfo, + criticality := ignore, + value_ := { UE_DifferentiationInfo := p_uE_DifferentiationInfo } + }, + { + id := id_NRUESidelinkAggregateMaximumBitrate, + criticality := ignore, + value_ := { NRUESidelinkAggregateMaximumBitrate := p_nRUESidelinkAggregateMaximumBitrate } + }, + { + id := id_LTEUESidelinkAggregateMaximumBitrate, + criticality := ignore, + value_ := { LTEUESidelinkAggregateMaximumBitrate := p_lTEUESidelinkAggregateMaximumBitrate } + }, + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + } + + + } + } + } + } // End of template m_n2_InitialContextSetupRequest_differentOptionals + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST + */ + template (present) InitiatingMessage mw_n2_InitialContextSetupRequest_withPDUSessionList( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) GUAMI p_gUAMI := ?, + template (present) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq := ?, + template (present) AllowedNSSAI p_allowedNSSAI := ?, + template (present) UESecurityCapabilities p_uESecurityCapabilities := ?, + template (present) SecurityKey p_nextHopNH := ? + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_PDUSessionResourceSetupListCxtReq, + criticality := reject, + value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityKey, + criticality := reject, + value_ := { SecurityKey := p_nextHopNH } + } + } + } + } + } // End of template mw_n2_InitialContextSetupRequest + + } // End of group Receive + + } // End of group INITIAL_CONTEXT_SETUP_REQUEST + + group INITIAL_CONTEXT_SETUP_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.2 INITIAL CONTEXT SETUP RESPONSE + */ + template (value) SuccessfulOutcome m_n2_InitialContextSetupResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSURes, + criticality := ignore, + value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes } + } + } + } + } + } // End of template m_n2_InitialContextSetupResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.2 INITIAL CONTEXT SETUP RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_InitialContextSetupResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes := ? + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSURes, + criticality := ignore, + value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes } + } + } + } + } + } // End of template mw_n2_PDUInitialContextSetupResponse + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.2 INITIAL CONTEXT SETUP RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_InitialContextSetupResponse_Failed( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceFailedToSetupListSURes p_pDUSessionResourceFailedToSetupListURes := ? + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceFailedToSetupListSURes, + criticality := ignore, + value_ := { PDUSessionResourceFailedToSetupListSURes := p_pDUSessionResourceFailedToSetupListURes } + } + } + } + } + } // End of template mw_n2_InitialContextSetupResponse_Failed + + template (present) SuccessfulOutcome mw_n2_InitialContextSetupResponse_noPDUSessionResourceSetupListSURes( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_InitialContextSetupResponse_noPDUSessionResourceSetupListSURes + + } // End of group Receive + + } // End of group INITIAL_CONTEXT_SETUP_RESPONSE + + group INITIAL_CONTEXT_SETUP_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.3 INITIAL CONTEXT SETUP FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_InitialContextSetupFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_INITIAL_SETUP_FAILURE), + in template (value) PDUSessionResourceFailedToSetupListCxtFail p_pDUSessionResourceFailedToSetupListCxtFail + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_PDUSessionResourceFailedToSetupListCxtFail, + criticality := ignore, + value_ := { PDUSessionResourceFailedToSetupListCxtFail := p_pDUSessionResourceFailedToSetupListCxtFail } + } + } + } + } + } // End of template m_n2_InitialContextSetupFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.3 INITIAL CONTEXT SETUP FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_InitialContextSetupFailure( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ?, + template (present) PDUSessionResourceFailedToSetupListCxtFail p_pDUSessionResourceFailedToSetupListCxtFail := ? + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + InitialContextSetupFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_PDUSessionResourceFailedToSetupListCxtFail, + criticality := ignore, + value_ := { PDUSessionResourceFailedToSetupListCxtFail := p_pDUSessionResourceFailedToSetupListCxtFail } + } + } + } + } + } // End of template mw_n2_PDUInitialContextSetupFailure + + } // End of group Receive + + } // End of group INITIAL_CONTEXT_SETUP_FAILURE + + group UE_CONTEXT_RELEASE_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.4 UE CONTEXT RELEASE REQUEST + */ + template (value) InitiatingMessage m_n2_UEContextReleaseRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceListCxtRelReq p_pDUSessionResourceListCxtRelReq + ) := { + procedureCode := id_UEContextReleaseRequest, + criticality := reject, + value_ := { + UEContextReleaseRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceListCxtRelReq, + criticality := reject, + value_ := { PDUSessionResourceListCxtRelReq := p_pDUSessionResourceListCxtRelReq } + } + } + } + } + } // End of template m_n2_UEContextReleaseRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.4 UE CONTEXT RELEASE REQUEST + */ + template (present) InitiatingMessage mw_n2_UEContextReleaseRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_UEContextReleaseRequest, + criticality := reject, + value_ := { + UEContextReleaseRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_UEContextReleaseRequest + + } // End of group Receive + + } // End of group UE_CONTEXT_RELEASE_REQUEST + + group UE_CONTEXT_RELEASE_COMMAND { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.5 UE CONTEXT RELEASE COMMAND + */ + template (value) InitiatingMessage m_n2_UEContextReleaseCommand( + in template (value) UE_NGAP_IDs p_ueNgapIds, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_UE_CONTEXT_RELEASE_COMMAND_CAUSE) + ) := { + procedureCode := id_UEContextRelease, + criticality := reject, + value_ := { + UEContextReleaseCommand := { + protocolIEs := { + { + id := id_UE_NGAP_IDs, + criticality := reject, + value_ := { UE_NGAP_IDs := p_ueNgapIds } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_UEContextReleaseCommand + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.5 UE CONTEXT RELEASE COMMAND + */ + template (present) InitiatingMessage mw_n2_UEContextReleaseCommand( + template (present) UE_NGAP_IDs p_ueNgapIds := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_UEContextRelease, + criticality := reject, + value_ := { + UEContextReleaseCommand := { + protocolIEs := { + { + id := id_UE_NGAP_IDs, + criticality := reject, + value_ := { UE_NGAP_IDs := p_ueNgapIds } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_UEContextReleaseCommand + + } // End of group Receive + + } // End of group UE_CONTEXT_RELEASE_COMMAND + + group UE_CONTEXT_RELEASE_COMPLETE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.6 UE CONTEXT RELEASE COMPLETE + */ + template (value) SuccessfulOutcome m_n2_UEContextReleaseComplete( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSURes, + criticality := reject, + value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes } + } + } + } + } + } // End of template m_n2_UEContextReleaseComplete + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.6 UE CONTEXT RELEASE COMPLETE + */ + template (present) SuccessfulOutcome mw_n2_UEContextReleaseComplete( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceSetupListSURes p_pDUSessionResourceSetupListSURes := ? + ) := { + procedureCode := id_InitialContextSetup, + criticality := reject, + value_ := { + PDUSessionResourceSetupResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSetupListSURes, + criticality := reject, + value_ := { PDUSessionResourceSetupListSURes := p_pDUSessionResourceSetupListSURes } + } + } + } + } + } // End of template mw_n2_UEContextReleaseComplete + + } // End of group Receive + + } // End of group UE_CONTEXT_RELEASE_COMPLETE + + group UE_CONTEXT_MODIFICATION_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.7 UE CONTEXT MODIFICATION REQUEST + */ + template (value) InitiatingMessage m_n2_UEContextModificationRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_UEContextModificationRequest + + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.7 UE CONTEXT MODIFICATION REQUEST + */ + template (value) InitiatingMessage m_n2_UEContextModificationRequest_optional1( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH, + in template (value) UESecurityCapabilities p_uESecurityCapabilities := m_uESecurityCapabilities + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_SecurityKey, + criticality := reject, + value_ := { SecurityKey := p_nextHopNH } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + } + } + } + } + } // End of template m_n2_UEContextModificationRequest_optional1 + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.7 UE CONTEXT MODIFICATION REQUEST + */ + template (value) InitiatingMessage m_n2_UEContextModificationRequest_optional2( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) RANPagingPriority p_rANPagingPriority := 1, // RAN_Paging_Priority // TODO: do we need PIXIT here? + in template (value) IndexToRFSP p_indexToRFSP := PX_Index_to_RAT_Frequency_Selection_Priority, + in template (value) UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate, // UE_Aggregate_Maximum_Bit_Rate containing + in template (value) UESecurityCapabilities p_uESecurityCapabilities, // UE_Security_Capabilities containing + in template (value) EmergencyFallbackIndicator p_emergencyFallbackIndicator, // Emergency_Fallback_Indicator, + in template (value) GUAMI p_gUAMI, // New_GUAMI containing + in template (value) IAB_Authorized p_iAB_Authorized, // IAB_Authorized, + in template (value) PC5QoSParameters p_pC5QoSParameters, // PC5_QoS_Parameters containing + in template (value) UERadioCapabilityID p_uERadioCapabilityID := PX_U_E_RADIO_CAPABILITY_ID, // UE_Radio_Capability_ID, + in template (value) RGLevelWirelineAccessCharacteristics p_rGLevelWirelineAccessCharacteristics := '00'O // RG_Level_Wireline_Access_Characteristics // TODO: do we need a PIXIT here? + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + // in template (value) RANPagingPriority p_rANPagingPriority, // RAN_Paging_Priority + { + id := id_RANPagingPriority, + criticality := ignore, + value_ := { RANPagingPriority := p_rANPagingPriority } + }, + // in template (value) IndexToRFSP p_indexToRFSP, // Index_to_RAT_Frequency_Selection_Priority, + { + id := id_IndexToRFSP, + criticality := ignore, + value_ := { IndexToRFSP := p_indexToRFSP } + }, + // in template (value) UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate, // UE_Aggregate_Maximum_Bit_Rate containing + { + id := id_UEAggregateMaximumBitRate, + criticality := ignore, + value_ := { UEAggregateMaximumBitRate := p_uEAggregateMaximumBitRate } + }, + // in template (value) UESecurityCapabilities p_uESecurityCapabilities, // UE_Security_Capabilities containing + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + // in template (value) EmergencyFallbackIndicator p_emergencyFallbackIndicator, // Emergency_Fallback_Indicator, + { + id := id_EmergencyFallbackIndicator, + criticality := reject, + value_ := { EmergencyFallbackIndicator := p_emergencyFallbackIndicator } + }, + // in template (value) GUAMI p_gUAMI, // New_GUAMI containing + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + // in template (value) IAB_Authorized p_iAB_Authorized, // IAB_Authorized, + { + id := id_IAB_Authorized, + criticality := ignore, + value_ := { IAB_Authorized := p_iAB_Authorized } + }, + // in template (value) PC5QoSParameters p_pC5QoSParameters, // PC5_QoS_Parameters containing + { + id := id_PC5QoSParameters, + criticality := ignore, + value_ := { PC5QoSParameters := p_pC5QoSParameters } + }, + // in template (value) UERadioCapabilityID p_uERadioCapabilityID := PX_U_E_RADIO_CAPABILITY_ID, // UE_Radio_Capability_ID, + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + // in template (value) RGLevelWirelineAccessCharacteristics p_rGLevelWirelineAccessCharacteristics // RG_Level_Wireline_Access_Characteristics + { + id := id_RGLevelWirelineAccessCharacteristics, + criticality := ignore, + value_ := { RGLevelWirelineAccessCharacteristics := p_rGLevelWirelineAccessCharacteristics } + } + } + } + } + } // End of template m_n2_UEContextModificationRequest_optional2 + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.7 UE CONTEXT MODIFICATION REQUEST + */ + template (present) InitiatingMessage mw_n2_UEContextModificationRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UEContextModificationRequest + + } // End of group Receive + + } // End of group UE_CONTEXT_MODIFICATION_REQUEST + + group UE_CONTEXT_MODIFICATION_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.8 UE CONTEXT MODIFICATION RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UEContexModificationResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_UEContexModificationResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.8 UE CONTEXT MODIFICATION RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UEContexModificationResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UEContexModificationResponse + + } // End of group Receive + + } // End of group UE_CONTEXT_MODIFICATION_RESPONSE + + group UE_CONTEXT_MODIFICATION_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.9 UE CONTEXT MODIFICATION FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_UEContextModificationFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_UE_CONTEXT_MODIFICATION_FAILURE) + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_UEContextModificationFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.9 UE CONTEXT MODIFICATION FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_UEContextModificationFailure( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_UEContextModification, + criticality := reject, + value_ := { + UEContextModificationFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_UEContextModificationFailure + + } // End of group Receive + + } // End of group UE_CONTEXT_MODIFICATION_FAILURE + + group RRC_INACTIVE_TRANSITION_REPORT{ + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.10 RRC INACTIVE TRANSITION REPORT + */ + template (value) InitiatingMessage m_n2_RRCInactiveTransitionReport( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) RRCState p_rrcState := inactive, + in template (value) UserLocationInformation p_userLocationInformation + ) := { + procedureCode := id_RRCInactiveTransitionReport, + criticality := reject, + value_ := { + RRCInactiveTransitionReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RRCState, + criticality := ignore, + value_ := { RRCState := p_rrcState } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template m_n2_RRCInactiveTransitionReport + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.10 RRC INACTIVE TRANSITION REPORT + */ + template (present) InitiatingMessage mw_n2_RRCInactiveTransitionReport( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) RRCState p_rrcState := ?, + template (present) UserLocationInformation p_userLocationInformation := ? + ) := { + procedureCode := id_RRCInactiveTransitionReport, + criticality := reject, + value_ := { + RRCInactiveTransitionReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RRCState, + criticality := ignore, + value_ := { RRCState := p_rrcState } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template mw_n2_RRCInactiveTransitionReport + + } // End of group Receive + + } // End of group RRC_INACTIVE_TRANSITION_REPORT + + group CONNECTION_ESTABLISHMENT_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.11 CONNECTION ESTABLISHMENT INDICATION + */ + template (value) InitiatingMessage m_n2_ConnectionEstablishmentIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_ConnectionEstablishmentIndication, + criticality := reject, + value_ := { + ConnectionEstablishmentIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_ConnectionEstablishmentIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.10 9.2.2.11 CONNECTION ESTABLISHMENT INDICATION + */ + template (present) InitiatingMessage mw_n2_ConnectionEstablishmentIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_ConnectionEstablishmentIndication, + criticality := reject, + value_ := { + ConnectionEstablishmentIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_ConnectionEstablishmentIndication + + } // End of group Receive + + } // End of group CONNECTION_ESTABLISHMENT_INDICATION + + group AMF_CP_RELOCATION_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.12 AMF CP RELOCATION INDICATION + */ + template (value) InitiatingMessage m_n2_AMFCPRelocationIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_AMFCPRelocationIndication, + criticality := reject, + value_ := { + AMFCPRelocationIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_AMFCPRelocationIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.12 AMF CP RELOCATION INDICATION + */ + template (present) InitiatingMessage mw_n2_AMFCPRelocationIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_AMFCPRelocationIndication, + criticality := reject, + value_ := { + AMFCPRelocationIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_AMFCPRelocationIndication + + } // End of group Receive + + } // End of group AMF_CP_RELOCATION_INDICATION + + group RAN_CP_RELOCATION_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.13 RAN CP RELOCATION INDICATION + */ + template (value) InitiatingMessage m_n2_RANCPRelocationIndication( + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) FiveG_S_TMSI p_fiveG_S_TMSI, + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (value) TAI p_tAI, + in template (value) UL_CP_SecurityInformation p_uL_CP_SecurityInformation + ) := { + procedureCode := id_RANCPRelocationIndication, + criticality := reject, + value_ := { + RANCPRelocationIndication := { + protocolIEs := { + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_FiveG_S_TMSI, + criticality := reject, + value_ := { FiveG_S_TMSI := p_fiveG_S_TMSI } + }, + { + id := id_EUTRA_CGI, + criticality := ignore, + value_ := { EUTRA_CGI := p_eUTRA_CGI } + }, + { + id := id_TAI, + criticality := ignore, + value_ := { TAI := p_tAI } + }, + { + id := id_UL_CP_SecurityInformation, + criticality := ignore, + value_ := { UL_CP_SecurityInformation := p_uL_CP_SecurityInformation } + } + } + } + } + } // End of template m_n2_RANCPRelocationIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.13 RAN CP RELOCATION INDICATION + */ + template (present) InitiatingMessage mw_n2_RANCPRelocationIndication( + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) FiveG_S_TMSI p_fiveG_S_TMSI := ?, + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template (present) TAI p_tAI := ?, + template (present) UL_CP_SecurityInformation p_uL_CP_SecurityInformation + ) := { + procedureCode := id_RANCPRelocationIndication, + criticality := reject, + value_ := { + RANCPRelocationIndication := { + protocolIEs := { + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_FiveG_S_TMSI, + criticality := reject, + value_ := { FiveG_S_TMSI := p_fiveG_S_TMSI } + }, + { + id := id_EUTRA_CGI, + criticality := ignore, + value_ := { EUTRA_CGI := p_eUTRA_CGI } + }, + { + id := id_TAI, + criticality := ignore, + value_ := { TAI := p_tAI } + }, + { + id := id_UL_CP_SecurityInformation, + criticality := reject, + value_ := { UL_CP_SecurityInformation := p_uL_CP_SecurityInformation } + } + } + } + } + } // End of template mw_n2_RANCPRelocationIndication + + } // End of group Receive + + } // End of group RAN_CP_RELOCATION_INDICATION + + group RETRIEVE_UE_INFORMATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.14 RETRIEVE UE INFORMATION + */ + template (value) InitiatingMessage m_n2_RetrieveUEInformation( + in template (value) FiveG_S_TMSI p_fiveG_S_TMSI + ) := { + procedureCode := id_RetrieveUEInformation, + criticality := reject, + value_ := { + RetrieveUEInformation := { + protocolIEs := { + { + id := id_FiveG_S_TMSI, + criticality := reject, + value_ := { FiveG_S_TMSI := p_fiveG_S_TMSI } + } + } + } + } + } // End of template m_n2_RetrieveUEInformation + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.14 RETRIEVE UE INFORMATION + */ + template (present) InitiatingMessage mw_n2_RetrieveUEInformation( + template (present) FiveG_S_TMSI p_fiveG_S_TMSI := ? + ) := { + procedureCode := id_RetrieveUEInformation, + criticality := reject, + value_ := { + RetrieveUEInformation := { + protocolIEs := { + { + id := id_FiveG_S_TMSI, + criticality := reject, + value_ := { FiveG_S_TMSI := p_fiveG_S_TMSI } + } + } + } + } + } // End of template mw_n2_RetrieveUEInformation + + } // End of group Receive + + } // End of group RETRIEVE_UE_INFORMATION + + group UE_INFORMATION_TRANSFER { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.15 UE INFORMATION TRANSFER + */ + template (value) InitiatingMessage m_n2_UEInformationTransfer( + in template (value) FiveG_S_TMSI p_fiveG_S_TMSI + ) := { + procedureCode := id_UEInformationTransfer, + criticality := reject, + value_ := { + UEInformationTransfer := { + protocolIEs := { + { + id := id_FiveG_S_TMSI, + criticality := reject, + value_ := { FiveG_S_TMSI := p_fiveG_S_TMSI } + } + } + } + } + } // End of template m_n2_UEInformationTransfer + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.15 UE INFORMATION TRANSFER + */ + template (present) InitiatingMessage mw_n2_UEInformationTransfer( + template (present) FiveG_S_TMSI p_fiveG_S_TMSI := ? + ) := { + procedureCode := id_UEInformationTransfer, + criticality := reject, + value_ := { + UEInformationTransfer := { + protocolIEs := { + { + id := id_FiveG_S_TMSI, + criticality := reject, + value_ := { FiveG_S_TMSI := p_fiveG_S_TMSI } + } + } + } + } + } // End of template mw_n2_UEInformationTransfer + + } // End of group Receive + + } // End of group UE_INFORMATION_TRANSFER + + group UE_CONTEXT_SUSPEND_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.16 UE CONTEXT SUSPEND REQUEST + */ + template (value) InitiatingMessage m_n2_UEContextSuspendRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSuspendListSUSReq p_pDUSessionResourceSuspendListSUSReq + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSuspendListSUSReq, + criticality := reject, + value_ := { PDUSessionResourceSuspendListSUSReq := p_pDUSessionResourceSuspendListSUSReq } + } + } + } + } + } // End of template m_n2_UEContextSuspendRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.16 UE CONTEXT SUSPEND REQUEST + */ + template (present) InitiatingMessage mw_n2_UEContextSuspendRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceSuspendListSUSReq p_pDUSessionResourceSuspendListSUSReq := ? + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSuspendListSUSReq, + criticality := reject, + value_ := { PDUSessionResourceSuspendListSUSReq := p_pDUSessionResourceSuspendListSUSReq } + } + } + } + } + } // End of template mw_n2_UEContextSuspendRequest + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.16 UE CONTEXT SUSPEND REQUEST + */ + template (present) InitiatingMessage mw_n2_UEContextSuspendRequest_noPDUSession( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UEContextSuspendRequest_noPDUSession + + } // End of group Receive + + } // End of group UE_CONTEXT_SUSPEND_REQUEST + + group UE_CONTEXT_SUSPEND_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.17 UE CONTEXT SUSPEND RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UEContextSuspendResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_UEContextSuspendResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.17 UE CONTEXT SUSPEND RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UEContextSuspendResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UEContextSuspendResponse + + } // End of group Receive + + } // End of group UE_CONTEXT_SUSPEND_RESPONSE + + group UE_CONTEXT_SUSPEND_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.18 UE CONTEXT SUSPEND FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_UEContextSuspendFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_UE_CONTEXT_SUSPEND_FAILURE) + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_UEContextSuspendFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.18 UE CONTEXT SUSPEND FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_UEContextSuspendFailure( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_UEContextSuspend, + criticality := reject, + value_ := { + UEContextSuspendFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_UEContextSuspendFailure + + } // End of group Receive + + } // End of group UE_CONTEXT_SUSPEND_FAILURE + + group UE_CONTEXT_RESUME_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.19 UE CONTEXT RESUME REQUEST + */ + template (value) InitiatingMessage m_n2_UEContextResumeRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) RRCEstablishmentCause p_rRCResumeCause := PX_RRC_RESUME_CAUSE + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := { + UEContextResumeRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RRCEstablishmentCause, + criticality := ignore, + value_ := { RRCEstablishmentCause := p_rRCResumeCause } + } + } + } + } + } // End of template m_n2_UEContextResumeRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.19 UE CONTEXT RESUME REQUEST + */ + template (present) InitiatingMessage mw_n2_UEContextResumeRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) RRCEstablishmentCause p_rRCResumeCause := ? + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := { + UEContextResumeRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RRCEstablishmentCause, + criticality := ignore, + value_ := { RRCEstablishmentCause := p_rRCResumeCause } + } + } + } + } + } // End of template mw_n2_UEContextResumeRequest + + } // End of group Receive + + } // End of group UE_CONTEXT_RESUME_REQUEST + + group UE_CONTEXT_RESUME_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.20 UE CONTEXT RESUME RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UEContextResumeResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := { + UEContextResumeResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_UEContextResumeResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.20 UE CONTEXT RESUME RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UEContextResumeResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := { + UEContextResumeResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UEContextResumeResponse + + } // End of group Receive + + } // End of group UE_CONTEXT_RESUME_RESPONSE + + group UE_CONTEXT_RESUME_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.21 UE CONTEXT RESUME FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_UEContextResumeFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_UE_CONTEXT_RESUME_FAILURE) + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := { + UEContextResumeFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_UEContextResumeFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.21 UE CONTEXT RESUME FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_UEContextResumeFailure( + in template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + in template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + in template (present) Cause p_cause := ? + ) := { + procedureCode := id_UEContextResume, + criticality := reject, + value_ := { + UEContextResumeFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_UEContextResumeFailure + + } // End of group Receive + + } // End of group UE_CONTEXT_RESUME_FAILURE + + } // End of group UE_Context_Management_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3 UE Mobility Management Messages + */ + group UE_Mobility_Management_Messages{ + + group HANDOVER_REQUIRED { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.1 HANDOVER REQUIRED + */ + template (value) InitiatingMessage m_n2_HandoverRequired( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) HandoverType p_handoverType := PX_HANDOVER_TYPE, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_REQUIRED), + in template (value) TargetID p_targetID, + in template (value) PDUSessionResourceListHORqd p_pDUSessionResourceListHORqd, + in template (value) SourceToTarget_TransparentContainer p_SourceToTarget_TransparentContainer + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverRequired := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_TargetID, + criticality := reject, + value_ := { TargetID := p_targetID } + }, + { + id := id_PDUSessionResourceListHORqd, + criticality := reject, + value_ := { PDUSessionResourceListHORqd := p_pDUSessionResourceListHORqd } + } + } + } + } + } // End of template m_n2_HandoverRequired + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.1 HANDOVER REQUIRED + */ + template (present) InitiatingMessage mw_n2_HandoverRequired( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) HandoverType p_handoverType := ?, + template (present) Cause p_cause := ?, + template (present) TargetID p_targetID := ?, + template (present) PDUSessionResourceListHORqd p_pDUSessionResourceListHORqd := ?, + template (present) SourceToTarget_TransparentContainer p_SourceToTarget_TransparentContainer := ? + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverRequired := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_TargetID, + criticality := reject, + value_ := { TargetID := p_targetID } + }, + { + id := id_PDUSessionResourceListHORqd, + criticality := reject, + value_ := { PDUSessionResourceListHORqd := p_pDUSessionResourceListHORqd } + }, + { + id := id_SourceToTarget_TransparentContainer, + criticality := reject, + value_ := { SourceToTarget_TransparentContainer := p_SourceToTarget_TransparentContainer } + } + } + } + } + } // End of template mw_n2_HandoverRequired + + } // End of group Receive + + } // End of group HANDOVER_REQUIRED + + group HANDOVER_COMMAND { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.2 HANDOVER COMMAND + */ + template (value) SuccessfulOutcome m_n2_HandoverCommand( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) HandoverType p_handoverType := PX_HANDOVER_TYPE, + in template (value) PDUSessionResourceHandoverList p_pDUSessionResourceHandoverList + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverCommand := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_PDUSessionResourceHandoverList, + criticality := ignore, + value_ := { PDUSessionResourceHandoverList := p_pDUSessionResourceHandoverList } + } + } + } + } + } // End of template m_n2_HandoverCommand + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.2 HANDOVER COMMAND + */ + template (present) SuccessfulOutcome mw_n2_HandoverCommand( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) HandoverType p_handoverType := ?, + template (present) PDUSessionResourceHandoverList p_pDUSessionResourceHandoverList := ? + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverCommand := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_PDUSessionResourceHandoverList, + criticality := ignore, + value_ := { PDUSessionResourceHandoverList := p_pDUSessionResourceHandoverList } + } + } + } + } + } // End of template mw_n2_HandoverCommand + + } // End of group Receive + + } // End of group HANDOVER_COMMAND + + group HANDOVER_PREPARATION_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.3 HANDOVER PREPARATION FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_HandoverPreparationFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_PREPARATION_FAILURE) + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverPreparationFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_HandoverPreparationFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.3 HANDOVER PREPARATION FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_HandoverPreparationFailure( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverPreparationFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_HandoverPreparationFailure + + } // End of group Receive + + } // End of group HANDOVER_PREPARATION_FAILURE + + group HANDOVER_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.4 HANDOVER REQUEST + */ + template (value) InitiatingMessage m_n2_HandoverRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) HandoverType p_handoverType := PX_HANDOVER_TYPE, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_REQUIRED), + in template (value) UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityContext p_securityContext, + in template (value) PDUSessionResourceSetupListHOReq p_pDUSessionResourceSetupListHOReq, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) SourceToTarget_TransparentContainer p_SourceToTarget_TransparentContainer, + in template (value) GUAMI p_gUAMI + ) := { + procedureCode := id_HandoverResourceAllocation, + criticality := reject, + value_ := { + HandoverRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_UEAggregateMaximumBitRate, + criticality := reject, + value_ := { UEAggregateMaximumBitRate := p_uEAggregateMaximumBitRate } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityContext, + criticality := reject, + value_ := { SecurityContext := p_securityContext } + }, + { + id := id_PDUSessionResourceListHORqd, + criticality := reject, + value_ := { PDUSessionResourceSetupListHOReq := p_pDUSessionResourceSetupListHOReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_SourceToTarget_TransparentContainer, + criticality := reject, + value_ := { SourceToTarget_TransparentContainer := p_SourceToTarget_TransparentContainer } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + } + } + } + } + } // End of template m_n2_HandoverRequest + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.4 HANDOVER REQUEST + */ + template (value) InitiatingMessage m_n2_HandoverRequest_full( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) HandoverType p_handoverType := PX_HANDOVER_TYPE, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_REQUIRED), + in template (value) UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) SecurityContext p_securityContext, + in template (value) PDUSessionResourceSetupListHOReq p_pDUSessionResourceSetupListHOReq, + in template (value) AllowedNSSAI p_allowedNSSAI, + in template (value) SourceToTarget_TransparentContainer p_SourceToTarget_TransparentContainer, + in template (value) GUAMI p_gUAMI, + in template (value) CoreNetworkAssistanceInformationForInactive p_coreNetworkAssistanceInformationForInactive, + in template (value) NewSecurityContextInd p_newSecurityContextInd, + in template (value) NAS_PDU p_nAS_PDU, + in template (value) TraceActivation p_traceActivation, + in template (value) RRCInactiveTransitionReportRequest p_rRCInactiveTransitionReportRequest, + in template (value) RedirectionVoiceFallback p_redirectionVoiceFallback, + in template (value) CNAssistedRANTuning p_cNAssistedRANTuning, + in template (value) SRVCCOperationPossible p_sRVCCOperationPossible, + in template (value) Enhanced_CoverageRestriction p_enhanced_CoverageRestriction, + in template (value) UE_DifferentiationInfo p_uE_DifferentiationInfo, + in template (value) NRV2XServicesAuthorized p_nRV2XServicesAuthorized, + in template (value) LTEV2XServicesAuthorized p_lTEV2XServicesAuthorized, + in template (value) NRUESidelinkAggregateMaximumBitrate p_nRUESidelinkAggregateMaximumBitrate, + in template (value) LTEUESidelinkAggregateMaximumBitrate p_lTEUESidelinkAggregateMaximumBitrate, + in template (value) PC5QoSParameters p_pC5QoSParameters, + in template (value) CEmodeBrestricted p_cEmodeBrestricted, + in template (value) UE_UP_CIoT_Support p_uE_UP_CIoT_Support, + in template (value) MDTPLMNList p_mDTPLMNList, + in template (value) UERadioCapabilityID p_uERadioCapabilityID := PX_U_E_RADIO_CAPABILITY_ID, + in template (value) Extended_ConnectedTime p_extended_ConnectedTime := PX_EXTENDED_CONNECTED_TIME + ) modifies m_n2_HandoverRequest := { + procedureCode := id_HandoverResourceAllocation, + criticality := reject, + value_ := { + HandoverRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_UEAggregateMaximumBitRate, + criticality := reject, + value_ := { UEAggregateMaximumBitRate := p_uEAggregateMaximumBitRate } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityContext, + criticality := reject, + value_ := { SecurityContext := p_securityContext } + }, + { + id := id_PDUSessionResourceListHORqd, + criticality := reject, + value_ := { PDUSessionResourceSetupListHOReq := p_pDUSessionResourceSetupListHOReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_SourceToTarget_TransparentContainer, + criticality := reject, + value_ := { SourceToTarget_TransparentContainer := p_SourceToTarget_TransparentContainer } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_CoreNetworkAssistanceInformationForInactive, + criticality := ignore, + value_ := { CoreNetworkAssistanceInformationForInactive := p_coreNetworkAssistanceInformationForInactive } + }, + { + id := id_NewSecurityContextInd, + criticality := reject, + value_ := { NewSecurityContextInd := p_newSecurityContextInd } + }, + { + id := id_NASC, + criticality := reject, + value_ := { NAS_PDU := p_nAS_PDU } + }, + { + id := id_TraceActivation, + criticality := ignore, + value_ := { TraceActivation := p_traceActivation } + }, + { + id := id_RRCInactiveTransitionReportRequest, + criticality := ignore, + value_ := { RRCInactiveTransitionReportRequest := p_rRCInactiveTransitionReportRequest } + }, + { + id := id_RedirectionVoiceFallback, + criticality := ignore, + value_ := { RedirectionVoiceFallback := p_redirectionVoiceFallback } + }, + { + id := id_CNAssistedRANTuning, + criticality := ignore, + value_ := { CNAssistedRANTuning := p_cNAssistedRANTuning } + }, + { + id := id_SRVCCOperationPossible, + criticality := ignore, + value_ := { SRVCCOperationPossible := p_sRVCCOperationPossible } + }, + { + id := id_Enhanced_CoverageRestriction, + criticality := ignore, + value_ := { Enhanced_CoverageRestriction := p_enhanced_CoverageRestriction } + }, + { + id := id_UE_DifferentiationInfo, + criticality := ignore, + value_ := { UE_DifferentiationInfo := p_uE_DifferentiationInfo } + }, + { + id := id_NRV2XServicesAuthorized, + criticality := ignore, + value_ := { NRV2XServicesAuthorized := p_nRV2XServicesAuthorized } + }, + { + id := id_LTEV2XServicesAuthorized, + criticality := ignore, + value_ := { LTEV2XServicesAuthorized := p_lTEV2XServicesAuthorized } + }, + { + id := id_NRUESidelinkAggregateMaximumBitrate, + criticality := ignore, + value_ := { NRUESidelinkAggregateMaximumBitrate := p_nRUESidelinkAggregateMaximumBitrate } + }, + { + id := id_LTEUESidelinkAggregateMaximumBitrate, + criticality := ignore, + value_ := { LTEUESidelinkAggregateMaximumBitrate := p_lTEUESidelinkAggregateMaximumBitrate } + }, + { + id := id_PC5QoSParameters, + criticality := ignore, + value_ := { PC5QoSParameters := p_pC5QoSParameters } + }, + { + id := id_CEmodeBrestricted, + criticality := ignore, + value_ := { CEmodeBrestricted := p_cEmodeBrestricted } + }, + { + id := id_UE_UP_CIoT_Support, + criticality := ignore, + value_ := { UE_UP_CIoT_Support := p_uE_UP_CIoT_Support } + }, + { + id := id_ManagementBasedMDTPLMNList, + criticality := ignore, + value_ := { MDTPLMNList := p_mDTPLMNList } + }, + { + id := id_UERadioCapabilityID, + criticality := ignore, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + { + id := id_Extended_ConnectedTime, + criticality := ignore, + value_ := { Extended_ConnectedTime := p_extended_ConnectedTime } + } + } + } + } + } // End of template m_n2_HandoverRequest + + } // End of group Send + + + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.4 HANDOVER REQUEST + */ + template (present) InitiatingMessage mw_n2_HandoverRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) HandoverType p_handoverType := PX_HANDOVER_TYPE, + template (present) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_REQUIRED), + template (present) UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate := ?, + template (present) UESecurityCapabilities p_uESecurityCapabilities := ?, + template (present) SecurityContext p_securityContext := ?, + template (present) PDUSessionResourceSetupListHOReq p_pDUSessionResourceSetupListHOReq := ?, + template (present) AllowedNSSAI p_allowedNSSAI := ?, + template (present) SourceToTarget_TransparentContainer p_SourceToTarget_TransparentContainer := ?, + template (present) GUAMI p_gUAMI := ? + ) := { + procedureCode := id_HandoverResourceAllocation, + criticality := reject, + value_ := { + HandoverRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_UEAggregateMaximumBitRate, + criticality := reject, + value_ := { UEAggregateMaximumBitRate := p_uEAggregateMaximumBitRate } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityContext, + criticality := reject, + value_ := { SecurityContext := p_securityContext } + }, + { + id := id_PDUSessionResourceListHORqd, + criticality := reject, + value_ := { PDUSessionResourceSetupListHOReq := p_pDUSessionResourceSetupListHOReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_SourceToTarget_TransparentContainer, + criticality := reject, + value_ := { SourceToTarget_TransparentContainer := p_SourceToTarget_TransparentContainer } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + } + } + } + } + } // End of template mw_n2_HandoverRequest + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.4 HANDOVER REQUEST + */ + template (present) InitiatingMessage mw_n2_HandoverRequest_full( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) HandoverType p_handoverType := PX_HANDOVER_TYPE, + template (present) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_REQUIRED), + template (present) UEAggregateMaximumBitRate p_uEAggregateMaximumBitRate := ?, + template (present) UESecurityCapabilities p_uESecurityCapabilities := ?, + template (present) SecurityContext p_securityContext := ?, + template (present) PDUSessionResourceSetupListHOReq p_pDUSessionResourceSetupListHOReq := ?, + template (present) AllowedNSSAI p_allowedNSSAI := ?, + template (present) SourceToTarget_TransparentContainer p_SourceToTarget_TransparentContainer := ?, + template (present) GUAMI p_gUAMI := ?, + template (present) CoreNetworkAssistanceInformationForInactive p_coreNetworkAssistanceInformationForInactive := ?, + template (present) NewSecurityContextInd p_newSecurityContextInd := ?, + template (present) NAS_PDU p_nAS_PDU := ?, + template (present) TraceActivation p_traceActivation := ?, + template (present) RRCInactiveTransitionReportRequest p_rRCInactiveTransitionReportRequest := ?, + template (present) RedirectionVoiceFallback p_redirectionVoiceFallback := ?, + template (present) CNAssistedRANTuning p_cNAssistedRANTuning := ?, + template (present) SRVCCOperationPossible p_sRVCCOperationPossible := ?, + template (present) Enhanced_CoverageRestriction p_enhanced_CoverageRestriction := ?, + template (present) UE_DifferentiationInfo p_uE_DifferentiationInfo := ?, + template (present) NRV2XServicesAuthorized p_nRV2XServicesAuthorized := ?, + template (present) LTEV2XServicesAuthorized p_lTEV2XServicesAuthorized := ?, + template (present) NRUESidelinkAggregateMaximumBitrate p_nRUESidelinkAggregateMaximumBitrate := ?, + template (present) LTEUESidelinkAggregateMaximumBitrate p_lTEUESidelinkAggregateMaximumBitrate := ?, + template (present) PC5QoSParameters p_pC5QoSParameters := ?, + template (present) CEmodeBrestricted p_cEmodeBrestricted := ?, + template (present) UE_UP_CIoT_Support p_uE_UP_CIoT_Support := ?, + template (present) MDTPLMNList p_mDTPLMNList := ?, + template (present) UERadioCapabilityID p_uERadioCapabilityID := PX_U_E_RADIO_CAPABILITY_ID, + template (present) Extended_ConnectedTime p_extended_ConnectedTime := PX_EXTENDED_CONNECTED_TIME + ) := { + procedureCode := id_HandoverResourceAllocation, + criticality := reject, + value_ := { + HandoverRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_HandoverType, + criticality := reject, + value_ := { HandoverType := p_handoverType } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_UEAggregateMaximumBitRate, + criticality := reject, + value_ := { UEAggregateMaximumBitRate := p_uEAggregateMaximumBitRate } + }, + { + id := id_CoreNetworkAssistanceInformationForInactive, + criticality := ignore, + value_ := { CoreNetworkAssistanceInformationForInactive := p_coreNetworkAssistanceInformationForInactive } + }, + { + id := id_UEAggregateMaximumBitRate, + criticality := reject, + value_ := { UEAggregateMaximumBitRate := p_uEAggregateMaximumBitRate } + }, + { + id := id_UESecurityCapabilities, + criticality := reject, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_SecurityContext, + criticality := reject, + value_ := { SecurityContext := p_securityContext } + }, + { + id := id_NewSecurityContextInd, + criticality := reject, + value_ := { NewSecurityContextInd := p_newSecurityContextInd } + }, + { + id := id_NASC, + criticality := reject, + value_ := { NAS_PDU := p_nAS_PDU } + }, + { + id := id_PDUSessionResourceListHORqd, + criticality := reject, + value_ := { PDUSessionResourceSetupListHOReq := p_pDUSessionResourceSetupListHOReq } + }, + { + id := id_AllowedNSSAI, + criticality := reject, + value_ := { AllowedNSSAI := p_allowedNSSAI } + }, + { + id := id_TraceActivation, + criticality := ignore, + value_ := { TraceActivation := p_traceActivation } + }, + { + id := id_SourceToTarget_TransparentContainer, + criticality := reject, + value_ := { SourceToTarget_TransparentContainer := p_SourceToTarget_TransparentContainer } + }, + { + id := id_RRCInactiveTransitionReportRequest, + criticality := ignore, + value_ := { RRCInactiveTransitionReportRequest := p_rRCInactiveTransitionReportRequest } + }, + { + id := id_GUAMI, + criticality := reject, + value_ := { GUAMI := p_gUAMI } + }, + { + id := id_RedirectionVoiceFallback, + criticality := ignore, + value_ := { RedirectionVoiceFallback := p_redirectionVoiceFallback } + }, + { + id := id_CNAssistedRANTuning, + criticality := ignore, + value_ := { CNAssistedRANTuning := p_cNAssistedRANTuning } + }, + { + id := id_SRVCCOperationPossible, + criticality := ignore, + value_ := { SRVCCOperationPossible := p_sRVCCOperationPossible } + }, + { + id := id_Enhanced_CoverageRestriction, + criticality := ignore, + value_ := { Enhanced_CoverageRestriction := p_enhanced_CoverageRestriction } + }, + { + id := id_UE_DifferentiationInfo, + criticality := ignore, + value_ := { UE_DifferentiationInfo := p_uE_DifferentiationInfo } + }, + { + id := id_NRV2XServicesAuthorized, + criticality := ignore, + value_ := { NRV2XServicesAuthorized := p_nRV2XServicesAuthorized } + }, + { + id := id_LTEV2XServicesAuthorized, + criticality := ignore, + value_ := { LTEV2XServicesAuthorized := p_lTEV2XServicesAuthorized } + }, + { + id := id_NRUESidelinkAggregateMaximumBitrate, + criticality := ignore, + value_ := { NRUESidelinkAggregateMaximumBitrate := p_nRUESidelinkAggregateMaximumBitrate } + }, + { + id := id_LTEUESidelinkAggregateMaximumBitrate, + criticality := ignore, + value_ := { LTEUESidelinkAggregateMaximumBitrate := p_lTEUESidelinkAggregateMaximumBitrate } + }, + { + id := id_PC5QoSParameters, + criticality := ignore, + value_ := { PC5QoSParameters := p_pC5QoSParameters } + }, + { + id := id_CEmodeBrestricted, + criticality := ignore, + value_ := { CEmodeBrestricted := p_cEmodeBrestricted } + }, + { + id := id_UE_UP_CIoT_Support, + criticality := ignore, + value_ := { UE_UP_CIoT_Support := p_uE_UP_CIoT_Support } + }, + { + id := id_ManagementBasedMDTPLMNList, + criticality := ignore, + value_ := { MDTPLMNList := p_mDTPLMNList } + }, + { + id := id_UERadioCapabilityID, + criticality := ignore, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + { + id := id_Extended_ConnectedTime, + criticality := ignore, + value_ := { Extended_ConnectedTime := p_extended_ConnectedTime } + } + } + } + } + } // End of template mw_n2_HandoverRequest + + } // End of group Receive + + } // End of group HANDOVER_REQUEST + + group HANDOVER_FAILURE { + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.6 HANDOVER FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_HandoverFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID, + in template (value) Cause p_cause + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_HandoverFailure + + } + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.6 HANDOVER FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_HandoverFailure( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_HandoverPreparation, + criticality := reject, + value_ := { + HandoverFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_HandoverFailure + + } // End of group Receive + + } // End of group HANDOVER_FAILURE + + group HANDOVER_REQUEST_ACKNOWLEDGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.5 HANDOVER REQUEST ACKNOWLEDGE + */ + template (value) SuccessfulOutcome m_n2_HandoverRequestAcknowledge( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceAdmittedList p_pDUSessionResourceAdmittedList + ) := { + procedureCode := id_HandoverResourceAllocation, + criticality := reject, + value_ := { + HandoverRequestAcknowledge := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceAdmittedList, + criticality := ignore, + value_ := { PDUSessionResourceAdmittedList := p_pDUSessionResourceAdmittedList } + } + } + } + } + } // End of template m_n2_HandoverRequestAcknowledge + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.5 HANDOVER REQUEST ACKNOWLEDGE + */ + template (present) SuccessfulOutcome mw_n2_HandoverRequestAcknowledge( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceAdmittedList p_pDUSessionResourceAdmittedList := ? + ) := { + procedureCode := id_HandoverResourceAllocation, + criticality := reject, + value_ := { + HandoverRequestAcknowledge := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceAdmittedList, + criticality := ignore, + value_ := { PDUSessionResourceAdmittedList := p_pDUSessionResourceAdmittedList } + } + } + } + } + } // End of template mw_n2_HandoverRequestAcknowledge + + } // End of group Receive + + } // End of group HANDOVER_REQUEST_ACKNOWLEDGE + + group HANDOVER_NOTIFY { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.7 HANDOVER NOTIFY + */ + template (value) InitiatingMessage m_n2_HandoverNotify( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) UserLocationInformation p_userLocationInformation + ) := { + procedureCode := id_HandoverNotification, + criticality := reject, + value_ := { + HandoverNotify := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template m_n2_HandoverNotify + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.7 HANDOVER NOTIFY + */ + template (present) InitiatingMessage mw_n2_HandoverNotify( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) UserLocationInformation p_userLocationInformation := ? + ) := { + procedureCode := id_HandoverNotification, + criticality := reject, + value_ := { + HandoverNotify := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template mw_n2_HandoverNotify + + } // End of group Receive + + } // End of group HANDOVER_NOTIFY + + group PATH_SWITCH_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.8 PATH SWITCH REQUEST + */ + template (value) InitiatingMessage m_n2_PathSwitchRequest( + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) UserLocationInformation p_userLocationInformation, + in template (value) UESecurityCapabilities p_uESecurityCapabilities, + in template (value) PDUSessionResourceToBeSwitchedDLList p_pDUSessionResourceToBeSwitchedDLList + ) := { + procedureCode := id_PathSwitchRequest, + criticality := reject, + value_ := { + PathSwitchRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + }, + { + id := id_UESecurityCapabilities, + criticality := ignore, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_PDUSessionResourceToBeSwitchedDLList, + criticality := reject, + value_ := { PDUSessionResourceToBeSwitchedDLList := p_pDUSessionResourceToBeSwitchedDLList } + } + } + } + } + } // End of template m_n2_PathSwitchRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.8 PATH SWITCH REQUEST + */ + template (present) InitiatingMessage mw_n2_PathSwitchRequest( + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) UserLocationInformation p_userLocationInformation := ?, + template (present) UESecurityCapabilities p_uESecurityCapabilities := ?, + template (present) PDUSessionResourceToBeSwitchedDLList p_pDUSessionResourceToBeSwitchedDLList := ? + ) := { + procedureCode := id_PathSwitchRequest, + criticality := reject, + value_ := { + PathSwitchRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + }, + { + id := id_UESecurityCapabilities, + criticality := ignore, + value_ := { UESecurityCapabilities := p_uESecurityCapabilities } + }, + { + id := id_PDUSessionResourceToBeSwitchedDLList, + criticality := reject, + value_ := { PDUSessionResourceToBeSwitchedDLList := p_pDUSessionResourceToBeSwitchedDLList } + } + } + } + } + } // End of template mw_n2_PathSwitchRequest + + } // End of group Receive + + } // End of group PATH_SWITCH_REQUEST + + group PATH_SWITCH_REQUEST_ACKNOWLEDGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.9 PATH SWITCH REQUEST ACKNOWLEDGE + */ + template (value) SuccessfulOutcome m_n2_PathSwitchRequestAcknowledge( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) SecurityContext p_securityContext, + in template (value) PDUSessionResourceSwitchedList p_pDUSessionResourceSwitchedList + ) := { + procedureCode := id_PathSwitchRequest, + criticality := reject, + value_ := { + PathSwitchRequestAcknowledge := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_SecurityContext, + criticality := reject, + value_ := { SecurityContext := p_securityContext } + }, + { + id := id_PDUSessionResourceSwitchedList, + criticality := ignore, + value_ := { PDUSessionResourceSwitchedList := p_pDUSessionResourceSwitchedList } + } + } + } + } + } // End of template m_n2_PathSwitchRequestAcknowledge + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.9 PATH SWITCH REQUEST ACKNOWLEDGE + */ + template (present) SuccessfulOutcome mw_n2_PathSwitchRequestAcknowledge( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) SecurityContext p_securityContext := ?, + template (present) PDUSessionResourceSwitchedList p_pDUSessionResourceSwitchedList := ? + ) := { + procedureCode := id_PathSwitchRequest, + criticality := reject, + value_ := { + PathSwitchRequestAcknowledge := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_SecurityContext, + criticality := reject, + value_ := { SecurityContext := p_securityContext } + }, + { + id := id_PDUSessionResourceSwitchedList, + criticality := ignore, + value_ := { PDUSessionResourceSwitchedList := p_pDUSessionResourceSwitchedList } + } + } + } + } + } // End of template mw_n2_PathSwitchRequestAcknowledge + + } // End of group Receive + + } // End of group PATH_SWITCH_REQUEST_ACKNOWLEDGE + + group PATH_SWITCH_REQUEST_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.10 PATH SWITCH REQUEST FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_PathSwitchRequestFailure( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceReleasedListPSFail p_pDUSessionResourceReleasedListPSFail + ) := { + procedureCode := id_PathSwitchRequest, + criticality := reject, + value_ := { + PathSwitchRequestFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSwitchedList, + criticality := ignore, + value_ := { PDUSessionResourceReleasedListPSFail := p_pDUSessionResourceReleasedListPSFail } + } + } + } + } + } // End of template m_n2_PathSwitchRequestFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.10 PATH SWITCH REQUEST FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_PathSwitchRequestFailure( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) PDUSessionResourceReleasedListPSFail p_pDUSessionResourceReleasedListPSFail := ? + ) := { + procedureCode := id_PathSwitchRequest, + criticality := reject, + value_ := { + PathSwitchRequestFailure := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSwitchedList, + criticality := ignore, + value_ := { PDUSessionResourceReleasedListPSFail := p_pDUSessionResourceReleasedListPSFail } + } + } + } + } + } // End of template mw_n2_PathSwitchRequestFailure + + } // End of group Receive + + } // End of group PATH_SWITCH_REQUEST_FAILURE + + group HANDOVER_CANCEL { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.11 HANDOVER CANCEL + */ + template (value) InitiatingMessage m_n2_HandoverCancel( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause := m_cause_radioNetwork(PX_CAUSE_HANDOVER_CANCEL) + ) := { + procedureCode := id_HandoverCancel, + criticality := reject, + value_ := { + HandoverCancel := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_HandoverCancel + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.11 HANDOVER CANCEL + */ + template (present) InitiatingMessage mw_n2_HandoverCancel( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_HandoverCancel, + criticality := reject, + value_ := { + HandoverCancel := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_HandoverCancel + + } // End of group Receive + + } // End of group HANDOVER_CANCEL + + group HANDOVER_CANCEL_ACKNOWLEDGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.12 HANDOVER CANCEL ACKNOWLEDGE + */ + template (value) SuccessfulOutcome m_n2_HandoverCancelAcknowledge( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_HandoverCancel, + criticality := reject, + value_ := { + HandoverCancelAcknowledge := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_HandoverCancelAcknowledge + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.12 HANDOVER CANCEL ACKNOWLEDGE + */ + template (present) SuccessfulOutcome mw_n2_HandoverCancelAcknowledge( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_HandoverCancel, + criticality := reject, + value_ := { + HandoverCancelAcknowledge := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_HandoverCancelAcknowledge + + } // End of group Receive + + } // End of group HANDOVER_CANCEL_ACKNOWLEDGE + + group UPLINK_RAN_STATUS_TRANSFER { + + group Send { + + } // End of group Send + + group Receive { + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.13 UPLINK RAN STATUS TRANSFER + */ + template (value) InitiatingMessage m_n2_UplinkRANStatusTransfer( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) RANStatusTransfer_TransparentContainer p_rANStatusTransfer_TransparentContainer + ) := { + procedureCode := id_UplinkRANStatusTransfer, + criticality := reject, + value_ := { + UplinkRANStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RANStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { RANStatusTransfer_TransparentContainer := p_rANStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template m_n2_UplinkRANStatusTransfer + + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.13 UPLINK RAN STATUS TRANSFER + */ + template (present) InitiatingMessage mw_n2_UplinkRANStatusTransfer( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) RANStatusTransfer_TransparentContainer p_rANStatusTransfer_TransparentContainer := ? + ) := { + procedureCode := id_UplinkRANStatusTransfer, + criticality := reject, + value_ := { + UplinkRANStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RANStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { RANStatusTransfer_TransparentContainer := p_rANStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template mw_n2_UplinkRANStatusTransfer + + } // End of group Receive + + } // End of group UPLINK_RAN_STATUS_TRANSFER + + group DOWNLINK_RAN_STATUS_TRANSFER { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.14 DOWNLINK RAN STATUS TRANSFER + */ + template (value) InitiatingMessage m_n2_DownlinkRANStatusTransfer( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) RANStatusTransfer_TransparentContainer p_rANStatusTransfer_TransparentContainer + ) := { + procedureCode := id_DownlinkRANStatusTransfer, + criticality := reject, + value_ := { + DownlinkRANStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RANStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { RANStatusTransfer_TransparentContainer := p_rANStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template m_n2_DownlinkRANStatusTransfer + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.14 DOWNLINK RAN STATUS TRANSFER + */ + template (present) InitiatingMessage mw_n2_DownlinkRANStatusTransfer( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) RANStatusTransfer_TransparentContainer p_rANStatusTransfer_TransparentContainer := ? + ) := { + procedureCode := id_DownlinkRANStatusTransfer, + criticality := reject, + value_ := { + DownlinkRANStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_RANStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { RANStatusTransfer_TransparentContainer := p_rANStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template mw_n2_DownlinkRANStatusTransfer + + } // End of group Receive + + } // End of group DOWNLINK_RAN_STATUS_TRANSFER + + group HANDOVER_SUCCESS { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.15 HANDOVER SUCCESS + */ + template (value) InitiatingMessage m_n2_HandoverSuccess( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_HandoverSuccess, + criticality := reject, + value_ := { + HandoverSuccess := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_HandoverSuccess + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.15 HANDOVER SUCCESS + */ + template (present) InitiatingMessage mw_n2_HandoverSuccess( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ? + ) := { + procedureCode := id_HandoverSuccess, + criticality := reject, + value_ := { + HandoverSuccess := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_HandoverSuccess + + } // End of group Receive + + } // End of group HANDOVER_SUCCESS + + group UPLINK_RAN_EARLY_STATUS_TRANSFER { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.16 UPLINK RAN EARLY STATUS TRANSFER + */ + template (value) InitiatingMessage m_n2_UplinkRANEarlyStatusTransfer( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) EarlyStatusTransfer_TransparentContainer p_earlyStatusTransfer_TransparentContainer + ) := { + procedureCode := id_UplinkRANEarlyStatusTransfer, + criticality := reject, + value_ := { + UplinkRANEarlyStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_EarlyStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { EarlyStatusTransfer_TransparentContainer := p_earlyStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template m_n2_UplinkRANEarlyStatusTransfer + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.16 UPLINK RAN EARLY STATUS TRANSFER + */ + template (present) InitiatingMessage mw_n2_UplinkRANEarlyStatusTransfer( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) EarlyStatusTransfer_TransparentContainer p_earlyStatusTransfer_TransparentContainer := ? + ) := { + procedureCode := id_UplinkRANEarlyStatusTransfer, + criticality := reject, + value_ := { + UplinkRANEarlyStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_EarlyStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { EarlyStatusTransfer_TransparentContainer := p_earlyStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template mw_n2_UplinkRANEarlyStatusTransfer + + } // End of group Receive + + } // End of group UPLINK_RAN_EARLY_STATUS_TRANSFER + + group DOWNLINK_RAN_EARLY_STATUS_TRANSFER { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.17 DOWNLINK RAN EARLY STATUS TRANSFER + */ + template (value) InitiatingMessage m_n2_DownlinkRANEarlyStatusTransfer( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) EarlyStatusTransfer_TransparentContainer p_earlyStatusTransfer_TransparentContainer + ) := { + procedureCode := id_DownlinkRANEarlyStatusTransfer, + criticality := reject, + value_ := { + DownlinkRANEarlyStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_EarlyStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { EarlyStatusTransfer_TransparentContainer := p_earlyStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template m_n2_DownlinkRANEarlyStatusTransfer + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.3.17 DOWNLINK RAN EARLY STATUS TRANSFER + */ + template (present) InitiatingMessage mw_n2_DownlinkRANEarlyStatusTransfer( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) EarlyStatusTransfer_TransparentContainer p_earlyStatusTransfer_TransparentContainer := ? + ) := { + procedureCode := id_DownlinkRANEarlyStatusTransfer, + criticality := reject, + value_ := { + DownlinkRANEarlyStatusTransfer := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_EarlyStatusTransfer_TransparentContainer, + criticality := reject, + value_ := { EarlyStatusTransfer_TransparentContainer := p_earlyStatusTransfer_TransparentContainer } + } + } + } + } + } // End of template mw_n2_DownlinkRANEarlyStatusTransfer + + } // End of group Receive + + } // End of group DOWNLINK_RAN_EARLY_STATUS_TRANSFER + + } // End of group UE_Mobility_Management_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.4 Paging Messages + */ + group Paging_Messages { + + group PAGING { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.4.1 PAGING + */ + template (value) InitiatingMessage m_n2_Paging( + in template (value) UEPagingIdentity p_uEPagingIdentity, + in template (value) TAIListForPaging p_tAIListForPaging + ) := { + procedureCode := id_Paging, + criticality := reject, + value_ := { + Paging := { + protocolIEs := { + { + id := id_UEPagingIdentity, + criticality := ignore, + value_ := { UEPagingIdentity := p_uEPagingIdentity } + }, + { + id := id_TAIListForPaging, + criticality := ignore, + value_ := { TAIListForPaging := p_tAIListForPaging } + } + } + } + } + } // End of template m_n2_Paging + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.4.1 PAGING + */ + template (present) InitiatingMessage mw_n2_Paging( + template (present) UEPagingIdentity p_uEPagingIdentity := ?, + template (present) TAIListForPaging p_tAIListForPaging := ? + ) := { + procedureCode := id_Paging, + criticality := reject, + value_ := { + Paging := { + protocolIEs := { + { + id := id_UEPagingIdentity, + criticality := ignore, + value_ := { UEPagingIdentity := p_uEPagingIdentity } + }, + { + id := id_TAIListForPaging, + criticality := ignore, + value_ := { TAIListForPaging := p_tAIListForPaging } + } + } + } + } + } // End of template mw_n2_Paging + + } // End of group Receive + + } // End of group PAGING + + } // End of group Paging_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5 NAS Transport Messages + */ + group NAS_Transport_Messages { + + group INITIAL_UE_MESSAGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.1 INITIAL UE MESSAGE + */ + template (value) InitiatingMessage m_n2_initialUeMessage( + in template (value) RAN_UE_NGAP_ID p_RANUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NAS_PDU p_nasPdu, + in template (value) UserLocationInformation p_ueLocInf, + in template (value) RRCEstablishmentCause p_rrcEstCause := PX_RRC_ESTABLISHMENT_CAUSE + ) := { + procedureCode := id_InitialUEMessage, + criticality := reject, + value_ := { + InitialUEMessage := { + protocolIEs := { + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_RANUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_UserLocationInformation, + criticality := reject, + value_ := { UserLocationInformation := p_ueLocInf } + }, + { + id := id_RRCEstablishmentCause, + criticality := ignore, + value_ := { RRCEstablishmentCause := p_rrcEstCause } + }//, + /*{ + id := NGAP_Constants.id_FiveG_S_TMSI, + criticality := NGAP_CommonDataTypes.reject, + Value := "NGAP_IEs.FiveG_S_TMSI", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_AMFSetID, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.AMFSetID", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_UEContextRequest, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.UEContextRequest", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_AllowedNSSAI, + criticality := NGAP_CommonDataTypes.reject, + Value := "NGAP_IEs.AllowedNSSAI", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_SourceToTarget_AMFInformationReroute, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.SourceToTarget_AMFInformationReroute", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_SelectedPLMNIdentity, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.PLMNIdentity", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_IABNodeIndication, + criticality := NGAP_CommonDataTypes.reject, + Value := "NGAP_IEs.IABNodeIndication", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_CEmodeBSupport_Indicator, + criticality := NGAP_CommonDataTypes.reject, + Value := "NGAP_IEs.CEmodeBSupport_Indicator", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_LTEM_Indication, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.LTEM_Indication", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_EDT_Session, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.EDT_Session", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_AuthenticatedIndication, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.AuthenticatedIndication", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_NPN_AccessInformation, + criticality := NGAP_CommonDataTypes.reject, + Value := "NGAP_IEs.NPN_AccessInformation", + presence := NGAP_CommonDataTypes.optional_ + }, + { + id := NGAP_Constants.id_RedCapIndication, + criticality := NGAP_CommonDataTypes.ignore, + Value := "NGAP_IEs.RedCapIndication", + presence := NGAP_CommonDataTypes.optional_ + }*/ + } + } + } + } // End of template m_n2_initialUeMessage + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.1 INITIAL UE MESSAGE + */ + template (present) InitiatingMessage mw_n2_initialUeMessage( + template (present) RAN_UE_NGAP_ID p_RANUeNgapID := ?, + template (present) NAS_PDU p_nasPdu := ?, + template (present) UserLocationInformation p_UeLocInf := ?, + template (present) RRCEstablishmentCause p_rrcEstCause := ? + ) := { + procedureCode := id_InitialUEMessage, + criticality := reject, + value_ := { + InitialUEMessage := { + protocolIEs := { + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_RANUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_UserLocationInformation, + criticality := reject, + value_ := { UserLocationInformation := p_UeLocInf } + }, + { + id := id_RRCEstablishmentCause, + criticality := ignore, + value_ := { RRCEstablishmentCause := p_rrcEstCause } + } + } + } + } + } // End of template mw_n2_initialUeMessage + + } // End of group Receive + + } // End of group INITIAL_UE_MESSAGE + + group DOWNLINK_NAS_TRANSPORT { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.2 DOWNLINK NAS TRANSPORT + */ + template (value) InitiatingMessage m_n2_DownlinkNASTransport( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NAS_PDU p_nasPdu + ) := { + procedureCode := id_DownlinkNASTransport, + criticality := reject, + value_ := { + DownlinkNASTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + } + } + } + } + } // End of template m_n2_DownlinkNASTransport + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.2 DOWNLINK NAS TRANSPORT + */ + template (present) InitiatingMessage mw_n2_DownlinkNASTransport( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) NAS_PDU p_nasPdu := ? + ) := { + procedureCode := id_DownlinkNASTransport, + criticality := reject, + value_ := { + DownlinkNASTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + } + } + } + } + } // End of template mw_n2_DownlinkNASTransport + + } // End of group Receive + + } // End of group DOWNLINK_NAS_TRANSPORT + + group UPLINK_NAS_TRANSPORT { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.2 DOWNLINK NAS TRANSPORT + */ + template (value) InitiatingMessage m_n2_UplinkNASTransport( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NAS_PDU p_nasPdu, + in template (value) UserLocationInformation p_userLocationInformation + ) := { + procedureCode := id_UplinkNASTransport, + criticality := reject, + value_ := { + UplinkNASTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template m_n2_UplinkNASTransport + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.2 DOWNLINK NAS TRANSPORT + */ + template (present) InitiatingMessage mw_n2_UplinkNASTransport( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) NAS_PDU p_nasPdu := ?, + template (present) UserLocationInformation p_userLocationInformation := ? + ) := { + procedureCode := id_UplinkNASTransport, + criticality := reject, + value_ := { + UplinkNASTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template mw_n2_UplinkNASTransport + + } // End of group Receive + + } // End of group UPLINK_NAS_TRANSPORT + + group NAS_NON_DELIVERY_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.4 NAS NON DELIVERY INDICATION + */ + template (value) InitiatingMessage m_n2_NASNonDeliveryIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NAS_PDU p_nasPdu, + in template (value) Cause p_cause := m_cause_nas(PX_CAUSE_NAS_NON_DELIVERY_INDICATION) + ) := { + procedureCode := id_NASNonDeliveryIndication, + criticality := reject, + value_ := { + NASNonDeliveryIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_NASNonDeliveryIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.4 NAS NON DELIVERY INDICATION + */ + template (present) InitiatingMessage mw_n2_NASNonDeliveryIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) NAS_PDU p_nasPdu := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_NASNonDeliveryIndication, + criticality := reject, + value_ := { + NASNonDeliveryIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NAS_PDU, + criticality := reject, + value_ := { NAS_PDU := p_nasPdu } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_NASNonDeliveryIndication + + } // End of group Receive + + } // End of group NAS_NON_DELIVERY_INDICATION + + group REROUTE_NAS_REQUEST{ + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.5 REROUTE NAS REQUEST + */ + template (value) InitiatingMessage m_n2_RerouteNASRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) octetstring p_nGAPMessage, + in template (value) AMFSetID p_aMFSetID := PX_AMF_SET_ID + ) := { + procedureCode := id_RerouteNASRequest, + criticality := reject, + value_ := { + RerouteNASRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGAP_Message, + criticality := reject, + value_ := { NGAP_Message := p_nGAPMessage } + }, + { + id := id_AMFSetID, + criticality := ignore, + value_ := { AMFSetID := p_aMFSetID } + } + } + } + } + } // End of template m_n2_RerouteNASRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.5.5 REROUTE NAS REQUEST + */ + template (present) InitiatingMessage mw_n2_RerouteNASRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) octetstring p_nGAPMessage := ?, + template (present) AMFSetID p_aMFSetID := ? + ) := { + procedureCode := id_RerouteNASRequest, + criticality := reject, + value_ := { + RerouteNASRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGAP_Message, + criticality := reject, + value_ := { NGAP_Message := p_nGAPMessage } + }, + { + id := id_AMFSetID, + criticality := ignore, + value_ := { AMFSetID := p_aMFSetID } + } + } + } + } + } // End of template mw_n2_RerouteNASRequest + + } // End of group Receive + + } // End of group REROUTE_NAS_REQUEST + + } // End of group NAS_Transport_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6 Interface Management Messages + */ + group Interface_Management_Messages { + + group NG_SETUP_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.1 NG SETUP REQUEST + */ + template (value) InitiatingMessage m_n2_NGSetupRequest( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) SupportedTAList p_supportedTAs, + in template (value) PagingDRX p_pagingDRX := PX_PAGING_DRX + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupRequest := { + protocolIEs := { + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + }, + { + id := id_SupportedTAList, + criticality := reject, + value_ := { SupportedTAList := p_supportedTAs } + }, + { + id := id_DefaultPagingDRX, + criticality := ignore, + value_ := { PagingDRX := p_pagingDRX } + } + } + } + } + } // End of template m_n2_NGSetupRequest + + template (value) InitiatingMessage m_n2_NGSetupRequest_UERetentionInf( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) SupportedTAList p_supportedTAs, + in template (value) PagingDRX p_pagingDRX := PX_PAGING_DRX, + in template (value) UERetentionInformation p_ueRetentionInf + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupRequest := { + protocolIEs := { + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + }, + { + id := id_SupportedTAList, + criticality := reject, + value_ := { SupportedTAList := p_supportedTAs } + }, + { + id := id_DefaultPagingDRX, + criticality := ignore, + value_ := { PagingDRX := p_pagingDRX } + }, + { + id := id_UERetentionInformation, + criticality := ignore, + value_ := { UERetentionInformation := p_ueRetentionInf } + } + } + } + } + } // End of template m_n2_NGSetupRequest_UERetentionInf + + template (value) InitiatingMessage m_n2_NGSetupRequest_ExtRanNodeName( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) SupportedTAList p_supportedTAs, + in template (value) PagingDRX p_pagingDRX := PX_PAGING_DRX, + in template (value) NB_IoT_DefaultPagingDRX p_nbIotDefPagDrx, + in template (value) Extended_RANNodeName p_extRanNodeName + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupRequest := { + protocolIEs := { + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + }, + { + id := id_SupportedTAList, + criticality := reject, + value_ := { SupportedTAList := p_supportedTAs } + }, + { + id := id_DefaultPagingDRX, + criticality := ignore, + value_ := { PagingDRX := p_pagingDRX } + }, + { + id := id_NB_IoT_DefaultPagingDRX, + criticality := ignore, + value_ := { NB_IoT_DefaultPagingDRX := p_nbIotDefPagDrx } + }, + { + id := id_Extended_RANNodeName, + criticality := ignore, + value_ := { Extended_RANNodeName := p_extRanNodeName } + } + } + } + } + } // End of template m_n2_NGSetupRequest_ExtRanNodeName + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.1 NG SETUP REQUEST + */ + template (present) InitiatingMessage mw_n2_NGSetupRequest( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) SupportedTAList p_supportedTAs := ?, + template (present) PagingDRX p_pagingDRX := ? + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupRequest := { + protocolIEs := { + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + }, + { + id := id_SupportedTAList, + criticality := reject, + value_ := { SupportedTAList := p_supportedTAs } + }, + { + id := id_DefaultPagingDRX, + criticality := ignore, + value_ := { PagingDRX := p_pagingDRX } + } + } + } + } + } // End of template mw_n2_NGSetupRequest + + } // End of group Receive + + } // End of group NG_SETUP_REQUEST + + group NG_SETUP_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.2 NG SETUP RESPONSE + */ + template (value) SuccessfulOutcome m_n2_NGSetupResponse( + in template (value) AMFName p_amfName := PX_AMF_NAME, + in template (value) ServedGUAMIList p_servedGUAMIList, + in template (value) RelativeAMFCapacity p_relativeAmfCap, + in template (value) PLMNSupportList p_plmnSuppList + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupResponse := { + protocolIEs := { + { + id := id_AMFName, + criticality := reject, + value_ := { AMFName := p_amfName } + }, + { + id := id_ServedGUAMIList, + criticality := reject, + value_ := { ServedGUAMIList := p_servedGUAMIList } + }, + { + id := id_RelativeAMFCapacity, + criticality := ignore, + value_ := { RelativeAMFCapacity := p_relativeAmfCap } + }, + { + id := id_PLMNSupportList, + criticality := ignore, + value_ := { PLMNSupportList := p_plmnSuppList } + } + } + } + } + } // End of template m_n2_NGSetupResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.2 NG SETUP RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_NGSetupResponse( + template (present) AMFName p_amfName := ?, + template (present) ServedGUAMIList p_servedGUAMIList := ?, + template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, + template (present) PLMNSupportList p_plmnSuppList := ? + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupResponse := { + protocolIEs := { + { + id := id_AMFName, + criticality := reject, + value_ := { AMFName := p_amfName } + }, + { + id := id_ServedGUAMIList, + criticality := reject, + value_ := { ServedGUAMIList := p_servedGUAMIList } + }, + { + id := id_RelativeAMFCapacity, + criticality := ignore, + value_ := { RelativeAMFCapacity := p_relativeAmfCap } + }, + { + id := id_PLMNSupportList, + criticality := ignore, + value_ := { PLMNSupportList := p_plmnSuppList } + } + } + } + } + } // End of template mw_n2_NGSetupResponse + + template (present) SuccessfulOutcome mw_n2_NGSetupResponse_UERetentionInf( + template (present) AMFName p_amfName := ?, + template (present) ServedGUAMIList p_servedGUAMIList := ?, + template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, + template (present) PLMNSupportList p_plmnSuppList := ?, + template (present) UERetentionInformation p_ueRetentionInf :=? + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupResponse := { + protocolIEs := { + { + id := id_AMFName, + criticality := reject, + value_ := { AMFName := p_amfName } + }, + { + id := id_ServedGUAMIList, + criticality := reject, + value_ := { ServedGUAMIList := p_servedGUAMIList } + }, + { + id := id_RelativeAMFCapacity, + criticality := ignore, + value_ := { RelativeAMFCapacity := p_relativeAmfCap } + }, + { + id := id_PLMNSupportList, + criticality := ignore, + value_ := { PLMNSupportList := p_plmnSuppList } + }, + { + id := id_UERetentionInformation, + criticality := ignore, + value_ := { UERetentionInformation := p_ueRetentionInf } + } + } + } + } + } // End of template mw_n2_NGSetupResponse_UERetentionInfo + + template (present) SuccessfulOutcome mw_n2_NGSetupResponse_ExtAmfName( + template (present) AMFName p_amfName := ?, + template (present) ServedGUAMIList p_servedGUAMIList := ?, + template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, + template (present) PLMNSupportList p_plmnSuppList := ?, + template (present) Extended_AMFName p_extAmfName :=? + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupResponse := { + protocolIEs := { + { + id := id_AMFName, + criticality := reject, + value_ := { AMFName := p_amfName } + }, + { + id := id_ServedGUAMIList, + criticality := reject, + value_ := { ServedGUAMIList := p_servedGUAMIList } + }, + { + id := id_RelativeAMFCapacity, + criticality := ignore, + value_ := { RelativeAMFCapacity := p_relativeAmfCap } + }, + { + id := id_PLMNSupportList, + criticality := ignore, + value_ := { PLMNSupportList := p_plmnSuppList } + }, + { + id := id_Extended_AMFName, + criticality := ignore, + value_ := { Extended_AMFName := p_extAmfName } + } + } + } + } + } // End of template mw_n2_NGSetupResponse_ExtAmfName + + } // End of group Receive + + } // End of group NG_SETUP_RESPONSE + + group NG_SETUP_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.3 NG SETUP FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_NGSetupFailure( + in template (value) Cause p_cause := m_cause_radioNetwork(PX_NG_SETUP_FAILURE) + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupFailure := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_NGSetupFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.3 NG SETUP FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_NGSetupFailure( + template (present) Cause p_cause := ? + ) := { + procedureCode := id_NGSetup, + criticality := reject, + value_ := { + NGSetupFailure := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_NGSetupFailure + + } // End of group Receive + + } // End of group NG_SETUP_FAILURE + + group RAN_CONFIGURATION_UPDATE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.4 RAN CONFIGURATION UPDATE + */ + template (value) InitiatingMessage m_n2_RANConfigurationUpdate( + in template (value) RANNodeName p_rANNodeName := PX_RAN_NODE_NAME + ) := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdate := { + protocolIEs := { + { + id := id_RANNodeName, + criticality := ignore, + value_ := { RANNodeName := p_rANNodeName } + } + } + } + } + } // End of template m_n2_RANConfigurationUpdate + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.4 RAN CONFIGURATION UPDATE + */ + template (value) InitiatingMessage m_n2_RANConfigurationUpdate_SupportedTAList( + template (value) SupportedTAList p_supportedTAs + ) := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdate := { + protocolIEs := { + { + id := id_SupportedTAList, + criticality := reject, + value_ := { SupportedTAList := p_supportedTAs } + } + } + } + } + } // End of template mw_n2_RANConfigurationUpdate_SupportedTAList + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.4 RAN CONFIGURATION UPDATE + */ + template (present) InitiatingMessage mw_n2_RANConfigurationUpdate( + template (present) RANNodeName p_rANNodeName := ? + ) := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdate := { + protocolIEs := { + { + id := id_RANNodeName, + criticality := ignore, + value_ := { RANNodeName := p_rANNodeName } + } + } + } + } + } // End of template mw_n2_RANConfigurationUpdate + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.4 RAN CONFIGURATION UPDATE + */ + template (present) InitiatingMessage mw_n2_RANConfigurationUpdate_SupportedTAList( + template (present) SupportedTAList p_supportedTAs := ? + ) := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdate := { + protocolIEs := { + { + id := id_SupportedTAList, + criticality := reject, + value_ := { SupportedTAList := p_supportedTAs } + } + } + } + } + } // End of template mw_n2_RANConfigurationUpdate_SupportedTAList + + } // End of group Receive + + } // End of group RAN_CONFIGURATION_UPDATE + + group RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.5 RAN CONFIGURATION UPDATE ACKNOWLEDGE + */ + template (value) SuccessfulOutcome m_n2_RANConfigurationUpdateAcknowledge := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdateAcknowledge := { + protocolIEs := { } + } + } + } // End of template m_n2_RANConfigurationUpdateAcknowledge + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.5 RAN CONFIGURATION UPDATE ACKNOWLEDGE + */ + template SuccessfulOutcome mw_n2_RANConfigurationUpdateAcknowledge := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdateAcknowledge := { + protocolIEs := ? + } + } + } // End of template mw_n2_RANConfigurationUpdateAcknowledge + + } // End of group Receive + + } // End of group RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE + + group RAN_CONFIGURATION_UPDATE_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.6 RAN CONFIGURATION UPDATE FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_RANConfigurationUpdateFailure( + in template (value) Cause p_cause := m_cause_radioNetwork(PX_RAN_CONFIGURATION_UPDATE_FAILURE) + ) := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdateFailure := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_RANConfigurationUpdateFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.6 RAN CONFIGURATION UPDATE FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_RANConfigurationUpdateFailure( + template (present) Cause p_cause := ? + ) := { + procedureCode := id_RANConfigurationUpdate, + criticality := reject, + value_ := { + RANConfigurationUpdateFailure := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_RANConfigurationUpdateFailure + + } // End of group Receive + + } // End of group RAN_CONFIGURATION_UPDATE_FAILURE + + group AMF_CONFIGURATION_UPDATE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.7 AMF CONFIGURATION UPDATE + */ + template (value) InitiatingMessage m_n2_AMFConfigurationUpdate( + in template (value) AMFName p_aMFName := PX_AMF_NAME + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdate := { + protocolIEs := { + { + id := id_AMFName, + criticality := ignore, + value_ := { AMFName := p_aMFName } + } + } + } + } + } // End of template m_n2_AMFConfigurationUpdate + + template (value) InitiatingMessage m_n2_AMFConfigurationUpdate_tnl( + //in template (value) AMFName p_AMFName, + in template (value) ServedGUAMIList p_servedGUAMIList, + //in template (value) RelativeAMFCapacity p_relativeAMFCapacity, + in template (value) PLMNSupportList p_pLMNSupportList, + in template (value) AMF_TNLAssociationToAddList p_aMF_TNLAssociationToAddList, + //in template (value) AMF_TNLAssociationToRemoveList p_aMF_TNLAssociationToRemoveList, + in template (value) AMF_TNLAssociationToUpdateList p_aMF_TNLAssociationToUpdateList//, + //in template (value) Extended_AMFName p_extended_AMFName + ):={ + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdate := { + protocolIEs := { + //{ + // id := id_AMFName, + // criticality := ignore, + // value_ := { AMFName := p_aMFName } + //}, + { + id := id_ServedGUAMIList, + criticality := reject, + value_ := { ServedGUAMIList := p_servedGUAMIList } + }, + //{ id := id_RelativeAMFCapacity, + // criticality := ignore, + // value_ := { RelativeAMFCapacity := p_relativeAMFCapacity} + //}, + { + id := id_PLMNSupportList, + criticality := reject, + value_ := { PLMNSupportList := p_pLMNSupportList } + }, + { + id := id_AMF_TNLAssociationToAddList, + criticality := ignore, + value_ := { AMF_TNLAssociationToAddList := p_aMF_TNLAssociationToAddList } + }, + //{ + // id := id_AMF_TNLAssociationToRemoveList, + // criticality := ignore, + // value_ := { AMF_TNLAssociationToRemoveList := p_aMF_TNLAssociationToRemoveList} + //}, + { + id := id_AMF_TNLAssociationToUpdateList, + criticality := ignore, + value_ := { AMF_TNLAssociationToUpdateList := p_aMF_TNLAssociationToUpdateList} + }//, + //{ + // id := id_Extended_AMFName, + // criticality := ignore, + // value_ := { Extended_AMFName := p_extended_AMFName} + //} + } + } + } + } // End of template m_n2_AMFConfigurationUpdate_tnl + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.7 AMF CONFIGURATION UPDATE + */ + template (present) InitiatingMessage mw_n2_AMFConfigurationUpdate( + template (present) AMFName p_aMFName := ? + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdate := { + protocolIEs := { + { + id := id_AMFName, + criticality := ignore, + value_ := { AMFName := p_aMFName } + } + } + } + } + } // End of template mw_n2_AMFConfigurationUpdate + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.7 AMF CONFIGURATION UPDATE + */ + template (present) InitiatingMessage mw_n2_AMFConfigurationUpdate_options( + template (present) AMFName p_aMFName := ?, + template ServedGUAMIList p_servedGUAMIList := *, + template PLMNSupportList p_pLMNSupportList := * + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdate := { + protocolIEs := { + { + id := id_AMFName, + criticality := ignore, + value_ := { AMFName := p_aMFName } + }, + { + id := id_ServedGUAMIList, + criticality := reject, + value_ := { ServedGUAMIList := p_servedGUAMIList } + }, + { + id := id_PLMNSupportList, + criticality := ignore, + value_ := { PLMNSupportList := p_pLMNSupportList } + } + } + } + } + } // End of template mw_n2_AMFConfigurationUpdate_options + + } // End of group Receive + + } // End of group AMF_CONFIGURATION_UPDATE + + group AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.8 AMF CONFIGURATION UPDATE ACKNOWLEDGE + */ + template (value) SuccessfulOutcome m_n2_AMFConfigurationUpdateAcknowledge := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdateAcknowledge := { + protocolIEs := { } + } + } + } // End of template m_n2_AMFConfigurationUpdateAcknowledge + + template (value) SuccessfulOutcome m_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList( + in template (value) AMF_TNLAssociationSetupList p_aMF_TNLAssociationSetupList + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdateAcknowledge := { + protocolIEs := { + { + id := id_AMF_TNLAssociationSetupList, + criticality := ignore, + value_ := { AMF_TNLAssociationSetupList := p_aMF_TNLAssociationSetupList } + } + } + } + } + } // End of template m_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.8 AMF CONFIGURATION UPDATE ACKNOWLEDGE + */ + template SuccessfulOutcome mw_n2_AMFConfigurationUpdateAcknowledge := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdateAcknowledge := { + protocolIEs := { } + } + } + } // End of template mw_n2_AMFConfigurationUpdateAcknowledge + + template (present) SuccessfulOutcome mw_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList( + template (present) AMF_TNLAssociationSetupList p_aMF_TNLAssociationSetupList := ? + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdateAcknowledge := { + protocolIEs := { + { + id := id_AMF_TNLAssociationSetupList, + criticality := ignore, + value_ := { AMF_TNLAssociationSetupList := p_aMF_TNLAssociationSetupList } + } + } + } + } + } // End of template mw_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList + + } // End of group Receive + + } // End of group AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE + + group AMF_CONFIGURATION_UPDATE_FAILURE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.9 AMF CONFIGURATION UPDATE FAILURE + */ + template (value) UnsuccessfulOutcome m_n2_AMFConfigurationUpdateFailure( + in template (value) Cause p_cause := m_cause_radioNetwork(PX_AMF_CONFIGURATION_UPDATE_FAILURE) + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdateFailure := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_AMFConfigurationUpdateFailure + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.9 AMF CONFIGURATION UPDATE FAILURE + */ + template (present) UnsuccessfulOutcome mw_n2_AMFConfigurationUpdateFailure( + template (present) Cause p_cause := ? + ) := { + procedureCode := id_AMFConfigurationUpdate, + criticality := reject, + value_ := { + AMFConfigurationUpdateFailure := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_AMFConfigurationUpdateFailure + + } // End of group Receive + + } // End of group AMF_CONFIGURATION_UPDATE_FAILURE + + group AMF_STATUS_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.10 AMF STATUS INDICATION + */ + template (value) InitiatingMessage m_n2_AMFStatusIndication( + in template (value) UnavailableGUAMIList p_unavailableGUAMIList + ) := { + procedureCode := id_AMFStatusIndication, + criticality := reject, + value_ := { + AMFStatusIndication := { + protocolIEs := { + { + id := id_UnavailableGUAMIList, + criticality := reject, + value_ := { UnavailableGUAMIList := p_unavailableGUAMIList } + } + } + } + } + } // End of template m_n2_AMFStatusIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.10 AMF STATUS INDICATION + */ + template (present) InitiatingMessage mw_n2_AMFStatusIndication( + template (present) UnavailableGUAMIList p_unavailableGUAMIList := ? + ) := { + procedureCode := id_AMFStatusIndication, + criticality := reject, + value_ := { + AMFStatusIndication := { + protocolIEs := { + { + id := id_UnavailableGUAMIList, + criticality := reject, + value_ := { UnavailableGUAMIList := p_unavailableGUAMIList } + } + } + } + } + } // End of template mw_n2_AMFStatusIndication + + } // End of group Receive + + } // End of group AMF_STATUS_INDICATION + + group NG_RESET { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.11 NG RESET + */ + template (value) InitiatingMessage m_n2_NGReset( + in template (value) Cause p_cause, + in template (value) ResetType p_resetType + ) := { + procedureCode := id_NGReset, + criticality := reject, + value_ := { + NGReset := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_ResetType, + criticality := reject, + value_ := { ResetType := p_resetType } + } + } + } + } + } // End of template m_n2_NGReset + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.11 NG RESET + */ + template (present) InitiatingMessage mw_n2_NGReset( + template (present) Cause p_cause := ?, + template (present) ResetType p_resetType := ? + ) := { + procedureCode := id_NGReset, + criticality := reject, + value_ := { + NGReset := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + }, + { + id := id_ResetType, + criticality := reject, + value_ := { ResetType := p_resetType } + } + } + } + } + } // End of template mw_n2_NGReset + + } // End of group Receive + + } // End of group NG_RESET + + group NG_RESET_ACKNOWLEDGE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.12 NG RESET ACKNOWLEDGE + */ + template (value) SuccessfulOutcome m_n2_NGResetAcknowledge := { + procedureCode := id_NGReset, + criticality := reject, + value_ := { + NGResetAcknowledge := { + protocolIEs := { } + } + } + } // End of template m_n2_NGResetAcknowledge + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.12 NG RESET ACKNOWLEDGE + */ + template (present) SuccessfulOutcome mw_n2_NGResetAcknowledge := { + procedureCode := id_NGReset, + criticality := reject, + value_ := { + NGResetAcknowledge := { + protocolIEs := { } + } + } + } // End of template mw_n2_NGResetAcknowledge + + } // End of group Receive + + } // End of group NG_RESET_ACKNOWLEDGE + + group ERROR_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.13 ERROR INDICATION + */ + template (value) InitiatingMessage m_n2_ErrorIndication := { + procedureCode := id_ErrorIndication, + criticality := reject, + value_ := { + ErrorIndication := { + protocolIEs := { } + } + } + } // End of template m_n2_ErrorIndication + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.13 ERROR INDICATION + */ + template (value) InitiatingMessage m_n2_ErrorIndication_ids( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause + ) := { + procedureCode := id_ErrorIndication, + criticality := reject, + value_ := { + ErrorIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_ErrorIndication_ids + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.13 ERROR INDICATION + */ + template (present) InitiatingMessage mw_n2_ErrorIndication := { + procedureCode := id_ErrorIndication, + criticality := reject, + value_ := { + ErrorIndication := { + protocolIEs := { } + } + } + } // End of template mw_n2_ErrorIndication + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.13 ERROR INDICATION + */ + template (present) InitiatingMessage mw_n2_ErrorIndication_ids( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_ErrorIndication, + criticality := reject, + value_ := { + ErrorIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_ErrorIndication_ids + + } // End of group Receive + + } // End of group ERROR_INDICATION + + group OVERLOAD_START { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.14 OVERLOAD START + */ + template (value) InitiatingMessage m_n2_OverloadStart := { + procedureCode := id_OverloadStart, + criticality := reject, + value_ := { + OverloadStart := { + protocolIEs := { } + } + } + } // End of template m_n2_OverloadStart + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.14 OVERLOAD START + */ + template (present) InitiatingMessage mw_n2_OverloadStart := { + procedureCode := id_OverloadStart, + criticality := reject, + value_ := { + OverloadStart := { + protocolIEs := { } + } + } + } // End of template mw_n2_OverloadStart + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.14 OVERLOAD START + */ + template (present) InitiatingMessage mw_n2_OverloadStart_NSSAIList ( + template (present) OverloadStartNSSAIList p_overloadStartNSSAIList:= ? + ):= { + procedureCode := id_OverloadStart, + criticality := reject, + value_ := { + OverloadStart := { + protocolIEs := { + { + id := id_OverloadStartNSSAIList, + criticality := ignore, + value_ := { OverloadStartNSSAIList := p_overloadStartNSSAIList } + } + } + } + } + } // End of template mw_n2_OverloadStart_NSSAIList + + } // End of group Receive + + } // End of group OVERLOAD_START + + group OVERLOAD_STOP { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.15 OVERLOAD STOP + */ + template (value) InitiatingMessage m_n2_OverloadStop := { + procedureCode := id_OverloadStop, + criticality := reject, + value_ := { + OverloadStop := { + protocolIEs := { } + } + } + } // End of template m_n2_OverloadStop + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.6.15 OVERLOAD STOP + */ + template (present) InitiatingMessage mw_n2_OverloadStop := { + procedureCode := id_OverloadStop, + criticality := reject, + value_ := { + OverloadStop := { + protocolIEs := { } + } + } + } // End of template mw_n2_OverloadStop + + } // End of group Receive + + } // End of group OVERLOAD_STOP + + } // End of group Interface_Management_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.7 Configuration Transfer Messages + */ + group Configuration_Transfer_Messages { + + group UPLINK_RAN_CONFIGURATION_TRANSFER { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.7.1 UPLINK RAN CONFIGURATION TRANSFER + */ + template (value) InitiatingMessage m_n2_UplinkRANConfigurationTransfer := { + procedureCode := id_UplinkRANConfigurationTransfer, + criticality := reject, + value_ := { + UplinkRANConfigurationTransfer := { + protocolIEs := { } + } + } + } // End of template m_n2_UplinkRANConfigurationTransfer + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.7.1 UPLINK RAN CONFIGURATION TRANSFER + */ + template (present) InitiatingMessage mw_n2_UplinkRANConfigurationTransfer := { + procedureCode := id_UplinkRANConfigurationTransfer, + criticality := reject, + value_ := { + UplinkRANConfigurationTransfer := { + protocolIEs := { } + } + } + } // End of template mw_n2_UplinkRANConfigurationTransfer + + } // End of group Receive + + } // End of group UPLINK_RAN_CONFIGURATION_TRANSFER + + group DOWNLINK_RAN_CONFIGURATION_TRANSFER { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.7.2 DOWNLINK RAN CONFIGURATION TRANSFER + */ + template (value) InitiatingMessage m_n2_DownlinkRANConfigurationTransfer := { + procedureCode := id_DownlinkRANConfigurationTransfer, + criticality := reject, + value_ := { + DownlinkRANConfigurationTransfer := { + protocolIEs := { } + } + } + } // End of template m_n2_DownlinkRANConfigurationTransfer + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.7.2 DOWNLINK RAN CONFIGURATION TRANSFER + */ + template (present) InitiatingMessage mw_n2_DownlinkRANConfigurationTransfer := { + procedureCode := id_DownlinkRANConfigurationTransfer, + criticality := reject, + value_ := { + DownlinkRANConfigurationTransfer := { + protocolIEs := { } + } + } + } // End of template mw_n2_DownlinkRANConfigurationTransfer + + } // End of group Receive + + } // End of group DOWNLINK_RAN_CONFIGURATION_TRANSFER + + } // End of group Configuration_Transfer_Messages + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8 Warning Message Transmission Messages + */ + group Warning_Message_Transmission_Messages { + + group WRITE_REPLACE_WARNING_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.1 WRITE-REPLACE WARNING REQUEST + */ + template (value) InitiatingMessage m_n2_WriteReplaceWarningRequest( + in template (value) MessageIdentifier p_messageIdentifier := PX_MESSAGE_IDENTIFIER, + in template (value) SerialNumber p_serialNumber := PX_SERIAL_NUMBER, + in template (value) RepetitionPeriod p_repetitionPeriod := PX_REPETITION_PERIOD, + in template (value) NumberOfBroadcastsRequested p_numberOfBroadcastsRequested := PX_NUMBER_OF_BROADCASTS_REQUESTED + ) := { + procedureCode := id_WriteReplaceWarning, + criticality := reject, + value_ := { + WriteReplaceWarningRequest := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + }, + { + id := id_RepetitionPeriod, + criticality := reject, + value_ := { RepetitionPeriod := p_repetitionPeriod } + }, + { + id := id_NumberOfBroadcastsRequested, + criticality := reject, + value_ := { NumberOfBroadcastsRequested := p_numberOfBroadcastsRequested } + } + } + } + } + } // End of template m_n2_WriteReplaceWarningRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.1 WRITE-REPLACE WARNING REQUEST + */ + template (present) InitiatingMessage mw_n2_WriteReplaceWarningRequest( + template (present) MessageIdentifier p_messageIdentifier :=?, + template (present) SerialNumber p_serialNumber := ?, + template (present) RepetitionPeriod p_repetitionPeriod := ?, + template (present) NumberOfBroadcastsRequested p_numberOfBroadcastsRequested := ? + ) := { + procedureCode := id_WriteReplaceWarning, + criticality := reject, + value_ := { + WriteReplaceWarningRequest := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + }, + { + id := id_RepetitionPeriod, + criticality := reject, + value_ := { RepetitionPeriod := p_repetitionPeriod } + }, + { + id := id_NumberOfBroadcastsRequested, + criticality := reject, + value_ := { NumberOfBroadcastsRequested := p_numberOfBroadcastsRequested } + } + } + } + } + } // End of template mw_n2_WriteReplaceWarningRequest + + } // End of group Receive + + } // End of group WRITE_REPLACE_WARNING_REQUEST + + group WRITE_REPLACE_WARNING_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.2 WRITE-REPLACE WARNING RESPONSE + */ + template (value) SuccessfulOutcome m_n2_WriteReplaceWarningResponse( + in template (value) MessageIdentifier p_messageIdentifier := PX_MESSAGE_IDENTIFIER, + in template (value) SerialNumber p_serialNumber := PX_SERIAL_NUMBER + ) := { + procedureCode := id_WriteReplaceWarning, + criticality := reject, + value_ := { + WriteReplaceWarningResponse := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + } + } + } + } + } // End of template m_n2_WriteReplaceWarningResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.2 WRITE-REPLACE WARNING RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_WriteReplaceWarningResponse( + template (present) MessageIdentifier p_messageIdentifier := ?, + template (present) SerialNumber p_serialNumber := ? + ) := { + procedureCode := id_WriteReplaceWarning, + criticality := reject, + value_ := { + WriteReplaceWarningResponse := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + } + } + } + } + } // End of template mw_n2_WriteReplaceWarningResponse + + } // End of group Receive + + } // End of group WRITE_REPLACE_WARNING_RESPONSE + + group PWS_CANCEL_REQUEST { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.3 PWS CANCEL REQUEST + */ + template (value) InitiatingMessage m_n2_PWSCancelRequest( + in template (value) MessageIdentifier p_messageIdentifier := PX_MESSAGE_IDENTIFIER, + in template (value) SerialNumber p_serialNumber := PX_SERIAL_NUMBER + ) := { + procedureCode := id_PWSCancel, + criticality := reject, + value_ := { + PWSCancelRequest := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + } + } + } + } + } // End of template m_n2_PWSCancelRequest + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.3 PWS CANCEL REQUEST + */ + template (present) InitiatingMessage mw_n2_PWSCancelRequest( + template (present) MessageIdentifier p_messageIdentifier := ?, + template (present) SerialNumber p_serialNumber := ? + ) := { + procedureCode := id_PWSCancel, + criticality := reject, + value_ := { + PWSCancelRequest := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + } + } + } + } + } // End of template mw_n2_PWSCancelRequest + + } // End of group Receive + + } // End of group PWS_CANCEL_REQUEST + + group PWS_CANCEL_RESPONSE { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.4 PWS CANCEL RESPONSE + */ + template (value) SuccessfulOutcome m_n2_PWSCancelResponse( + in template (value) MessageIdentifier p_messageIdentifier := PX_MESSAGE_IDENTIFIER, + in template (value) SerialNumber p_serialNumber := PX_SERIAL_NUMBER + ) := { + procedureCode := id_PWSCancel, + criticality := reject, + value_ := { + PWSCancelResponse := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + } + } + } + } + } // End of template m_n2_PWSCancelResponse + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.4 PWS CANCEL RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_PWSCancelResponse( + template (present) MessageIdentifier p_messageIdentifier := ?, + template (present) SerialNumber p_serialNumber := ? + ) := { + procedureCode := id_PWSCancel, + criticality := reject, + value_ := { + PWSCancelResponse := { + protocolIEs := { + { + id := id_MessageIdentifier, + criticality := reject, + value_ := { MessageIdentifier := p_messageIdentifier } + }, + { + id := id_SerialNumber, + criticality := reject, + value_ := { SerialNumber := p_serialNumber } + } + } + } + } + } // End of template mw_n2_PWSCancelResponse + + } // End of group Receive + + } // End of group PWS_CANCEL_RESPONSE + + group PWS_RESTART_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.5 PWS RESTART INDICATION + */ + template (value) InitiatingMessage m_n2_PWSRestartIndication( + in template (value) CellIDListForRestart p_cellIDListForRestart, + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) TAIListForRestart p_tAIListForRestart, + in template (value) EmergencyAreaIDListForRestart p_emergencyAreaIDListForRestart + ) := { + procedureCode := id_PWSRestartIndication, + criticality := ignore, + value_ := { + PWSRestartIndication := { + protocolIEs := { + { + id := id_CellIDListForRestart, + criticality := reject, + value_ := { CellIDListForRestart := p_cellIDListForRestart } + }, + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + }, + { + id := id_TAIListForRestart, + criticality := reject, + value_ := { TAIListForRestart := p_tAIListForRestart } + }, + { + id := id_EmergencyAreaIDListForRestart, + criticality := reject, + value_ := { EmergencyAreaIDListForRestart := p_emergencyAreaIDListForRestart } + } + } + } + } + } // End of template m_n2_PWSRestartIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.5 PWS RESTART INDICATION + */ + template (present) InitiatingMessage mw_n2_PWSRestartIndication( + template (present) CellIDListForRestart p_cellIDListForRestart := ?, + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) TAIListForRestart p_tAIListForRestart := ?, + template (present) EmergencyAreaIDListForRestart p_emergencyAreaIDListForRestart := ? + ) := { + procedureCode := id_PWSRestartIndication, + criticality := ignore, + value_ := { + PWSRestartIndication := { + protocolIEs := { + { + id := id_CellIDListForRestart, + criticality := reject, + value_ := { CellIDListForRestart := p_cellIDListForRestart } + }, + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + }, + { + id := id_TAIListForRestart, + criticality := reject, + value_ := { TAIListForRestart := p_tAIListForRestart } + }, + { + id := id_EmergencyAreaIDListForRestart, + criticality := reject, + value_ := { EmergencyAreaIDListForRestart := p_emergencyAreaIDListForRestart } + } + } + } + } + } // End of template mw_n2_PWSRestartIndication + + } // End of group Receive + + } // End of group PWS_RESTART_INDICATION + + group PWS_FAILURE_INDICATION { + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.5 PWS RESTART INDICATION + */ + template (value) InitiatingMessage m_n2_PWSFailureIndication( + in template (value) PWSFailedCellIDList p_pWSFailedCellIDList, + in template (value) GlobalRANNodeID p_globalRANNodeID + ) := { + procedureCode := id_PWSRestartIndication, + criticality := ignore, + value_ := { + PWSFailureIndication := { + protocolIEs := { + { + id := id_PWSFailedCellIDList, + criticality := reject, + value_ := { PWSFailedCellIDList := p_pWSFailedCellIDList } + }, + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + } + } + } + } + } // End of template m_n2_PWSFailureIndication + + } // End of group Send + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.8.5 PWS RESTART INDICATION + */ + template (present) InitiatingMessage mw_n2_PWSFailureIndication( + template (present) PWSFailedCellIDList p_pWSFailedCellIDList := ?, + template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) := { + procedureCode := id_PWSRestartIndication, + criticality := ignore, + value_ := { + PWSFailureIndication := { + protocolIEs := { + { + id := id_PWSFailedCellIDList, + criticality := reject, + value_ := { PWSFailedCellIDList := p_pWSFailedCellIDList } + }, + { + id := id_GlobalRANNodeID, + criticality := reject, + value_ := { GlobalRANNodeID := p_globalRANNodeID } + } + } + } + } + } // End of template mw_n2_PWSFailureIndication + + } // End of group Receive + + } // End of group PWS_FAILURE_INDICATION + + } // End of group Warning_Message_Transmission_Messages + + //9.2.9 + group NRPPa_Transport_Messages { + //9.2.9.1 + group DOWNLINK_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.1 DOWNLINK UE ASSOCIATED NRPPA TRANSPORT + */ + template (value) InitiatingMessage m_n2_DownlinkUEAssociatedNRPPaTransport( + in template (value) AMF_UE_NGAP_ID p_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID, + in template (value) RoutingID p_routingID, + in template (value) NRPPa_PDU p_nRPPa_PDU + ) := { + procedureCode := id_DownlinkUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + DownlinkUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_AMF_UE_NGAP_ID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID } + }, + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template m_n2_DownlinkUEAssociatedNRPPaTransport + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.1 DOWNLINK UE ASSOCIATED NRPPA TRANSPORT + */ + template (present) InitiatingMessage mw_n2_DownlinkUEAssociatedNRPPaTransport( + template (present) AMF_UE_NGAP_ID p_AMF_UE_NGAP_ID := ?, + template (present) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := ?, + template (present) RoutingID p_routingID := ?, + template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) := { + procedureCode := id_DownlinkUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + DownlinkUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_AMF_UE_NGAP_ID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID } + }, + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template mw_n2_DownlinkUEAssociatedNRPPaTransport + + } + } + //9.2.9.2 + group UPLINK_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.2 UPLINK UE ASSOCIATED NRPPA TRANSPORT + */ + template (value) InitiatingMessage m_n2_UplinkUEAssociatedNRPPaTransport( + in template (value) AMF_UE_NGAP_ID p_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID, + in template (value) RoutingID p_routingID, + in template (value) NRPPa_PDU p_nRPPa_PDU + ) := { + procedureCode := id_UplinkUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + UplinkUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_AMF_UE_NGAP_ID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID } + }, + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template m_n2_UplinkUEAssociatedNRPPaTransport + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.2 UPLINK UE ASSOCIATED NRPPA TRANSPORT + */ + template (present) InitiatingMessage mw_n2_UplinkUEAssociatedNRPPaTransport( + template (present) AMF_UE_NGAP_ID p_AMF_UE_NGAP_ID := ?, + template (present) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := ?, + template (present) RoutingID p_routingID := ?, + template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) := { + procedureCode := id_UplinkUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + UplinkUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_AMF_UE_NGAP_ID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID } + }, + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template mw_n2_UplinkUEAssociatedNRPPaTransport + + } + } + //9.2.9.3 + group DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.3 DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT + */ + template (value) InitiatingMessage m_n2_DownlinkNonUEAssociatedNRPPaTransport( + in template (value) RoutingID p_routingID, + in template (value) NRPPa_PDU p_nRPPa_PDU + ) := { + procedureCode := id_DownlinkNonUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + DownlinkNonUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template m_n2_DownlinkNonUEAssociatedNRPPaTransport + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.1 DOWNLINK UE ASSOCIATED NRPPA TRANSPORT + */ + template (present) InitiatingMessage mw_n2_DownlinkNonUEAssociatedNRPPaTransport( + template (present) RoutingID p_routingID := ?, + template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) := { + procedureCode := id_DownlinkNonUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + DownlinkNonUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template mw_n2_DownlinkNonUEAssociatedNRPPaTransport + + } + } + //9.2.9.4 + group UPLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.4 UPLINK NON UE ASSOCIATED NRPPA TRANSPORT + */ + template (value) InitiatingMessage m_n2_UplinkNonUEAssociatedNRPPaTransport( + in template (value) RoutingID p_routingID, + in template (value) NRPPa_PDU p_nRPPa_PDU + ) := { + procedureCode := id_UplinkNonUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + UplinkNonUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template m_n2_UplinkNonUEAssociatedNRPPaTransport + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.9.4 UPLINK NON UE ASSOCIATED NRPPA TRANSPORT + */ + template (present) InitiatingMessage mw_n2_UplinkNonUEAssociatedNRPPaTransport( + template (present) RoutingID p_routingID := ?, + template (present) NRPPa_PDU p_nRPPa_PDU := ? + ) := { + procedureCode := id_UplinkNonUEAssociatedNRPPaTransport, + criticality := ignore, + value_ := { + UplinkNonUEAssociatedNRPPaTransport := { + protocolIEs := { + { + id := id_RoutingID, + criticality := reject, + value_ := { RoutingID := p_routingID } + }, + { + id := id_NRPPa_PDU, + criticality := reject, + value_ := { NRPPa_PDU := p_nRPPa_PDU } + } + } + } + } + } // End of template mw_n2_UplinkNonUEAssociatedNRPPaTransport + + } + } + } // End of group NRPPa_Transport_Messages + + //9.2.10 + group Trace_Messages { + //9.2.10.1 + group TRACE_START{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.1 TRACE START + */ + template (value) InitiatingMessage m_n2_TraceStart_ie := { + procedureCode := id_TraceStart, + criticality := ignore, + value_ := { + TraceStart := { + protocolIEs := { } + } + } + } // End of template m_n2_TraceStart_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.1 TRACE START + */ + template (value) InitiatingMessage m_n2_TraceStart( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) TraceActivation p_traceActivation + ) := { + procedureCode := id_TraceStart, + criticality := ignore, + value_ := { + TraceStart := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_TraceActivation, + criticality := ignore, + value_ := { TraceActivation := p_traceActivation } + } + } + } + } + } // End of template m_n2_TraceStart + } + + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.1 TRACE START + */ + template (present) InitiatingMessage mw_n2_TraceStart_ie := { + procedureCode := id_TraceStart, + criticality := ignore, + value_ := { + TraceStart := { + protocolIEs := { } + } + } + } // End of template mw_n2_TraceStart_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.1 TRACE START + */ + template (present) InitiatingMessage mw_n2_TraceStart( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) TraceActivation p_traceActivation := ? + ) := { + procedureCode := id_TraceStart, + criticality := ignore, + value_ := { + TraceStart := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_TraceActivation, + criticality := ignore, + value_ := { TraceActivation := p_traceActivation } + } + } + } + } + } // End of template mw_n2_TraceStart + + } + } + //9.2.10.2 + group TRACE_FAILURE_INDICATION{ + + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.2 TRACE FAILURE INDICATION + */ + template (value) InitiatingMessage m_n2_TraceFailureIndication_ie := { + procedureCode := id_TraceFailureIndication, + criticality := ignore, + value_ := { + TraceFailureIndication := { + protocolIEs := { } + } + } + } // End of template m_n2_TraceFailureIndication_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.2 TRACE FAILURE INDICATION + */ + template (value) InitiatingMessage m_n2_TraceFailureIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NGRANTraceID p_NGRANTraceID, + in template (value) Cause p_cause + ) := { + procedureCode := id_TraceFailureIndication, + criticality := ignore, + value_ := { + TraceFailureIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGRANTraceID, + criticality := ignore, + value_ := { NGRANTraceID := p_NGRANTraceID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_TraceFailureIndication + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.2 TRACE FAILURE INDICATION + */ + template (present) InitiatingMessage mw_n2_TraceFailureIndication_ie := { + procedureCode := id_TraceFailureIndication, + criticality := ignore, + value_ := { + TraceFailureIndication := { + protocolIEs := { } + } + } + } // End of template mw_n2_TraceFailureIndication_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.2 TRACE FAILURE INDICATION + */ + template (present) InitiatingMessage mw_n2_TraceFailureIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) NGRANTraceID p_NGRANTraceID := ?, + template (present) Cause p_cause := ? + ) := { + procedureCode := id_TraceFailureIndication, + criticality := ignore, + value_ := { + TraceFailureIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGRANTraceID, + criticality := ignore, + value_ := { NGRANTraceID := p_NGRANTraceID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_TraceFailureIndication + } + } + //9.2.10.3 + group DEACTIVATE_TRACE{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.3 DEACTIVATE TRACE + */ + template (value) InitiatingMessage m_n2_DeactivateTrace_ie := { + procedureCode := id_DeactivateTrace, + criticality := ignore, + value_ := { + DeactivateTrace := { + protocolIEs := { } + } + } + } // End of template m_n2_DeactivateTrace + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.3 DEACTIVATE TRACE + */ + template (value) InitiatingMessage m_n2_DeactivateTrace( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NGRANTraceID p_NGRANTraceID + ) := { + procedureCode := id_DeactivateTrace, + criticality := ignore, + value_ := { + DeactivateTrace := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGRANTraceID, + criticality := ignore, + value_ := { NGRANTraceID := p_NGRANTraceID } + } + } + } + } + } // End of template m_n2_DeactivateTrace + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.3 DEACTIVATE TRACE + */ + template (present) InitiatingMessage mw_n2_DeactivateTrace_ie := { + procedureCode := id_DeactivateTrace, + criticality := ignore, + value_ := { + DeactivateTrace := { + protocolIEs := { } + } + } + } // End of template mw_n2_DeactivateTrace_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.3 DEACTIVATE TRACE + */ + template (present) InitiatingMessage mw_n2_DeactivateTrace( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) NGRANTraceID p_NGRANTraceID := ? + ) := { + procedureCode := id_DeactivateTrace, + criticality := ignore, + value_ := { + DeactivateTrace := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGRANTraceID, + criticality := ignore, + value_ := { NGRANTraceID := p_NGRANTraceID } + } + } + } + } + } // End of template mw_n2_DeactivateTrace + } + } + //9.2.10.4 + group CELL_TRAFFIC_TRACE{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.4 CELL TRAFFIC TRACE + */ + template (value) InitiatingMessage m_n2_CellTrafficTrace_ie := { + procedureCode := id_CellTrafficTrace, + criticality := ignore, + value_ := { + CellTrafficTrace := { + protocolIEs := { } + } + } + } // End of template m_n2_CellTrafficTrace_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.4 CELL TRAFFIC TRACE + */ + template (value) InitiatingMessage m_n2_CellTrafficTrace( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) NGRANTraceID p_NGRANTraceID, + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (value) TransportLayerAddress p_tla, + in template (value) PrivacyIndicator p_privacyInd, + in template (value) URI_address p_uRI_address + ) := { + procedureCode := id_CellTrafficTrace, + criticality := ignore, + value_ := { + CellTrafficTrace := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGRANTraceID, + criticality := ignore, + value_ := { NGRANTraceID := p_NGRANTraceID } + }, + { + id := id_NGRAN_CGI, + criticality := ignore, + value_ := { NGRAN_CGI := p_nGRAN_CGI } + }, + { + id := id_TraceCollectionEntityIPAddress, + criticality := ignore, + value_ := { TransportLayerAddress := p_tla } + }, + { + id := id_PrivacyIndicator, + criticality := ignore, + value_ := { PrivacyIndicator := p_privacyInd } + }, + { + id := id_TraceCollectionEntityURI, + criticality := ignore, + value_ := { URI_address := p_uRI_address } + } + } + } + } + } // End of template m_n2_CellTrafficTrace + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.4 CELL TRAFFIC TRACE + */ + template (present) InitiatingMessage mw_n2_CellTrafficTrace_ie := { + procedureCode := id_CellTrafficTrace, + criticality := ignore, + value_ := { + CellTrafficTrace := { + protocolIEs := { } + } + } + } // End of template mw_n2_CellTrafficTrace_ie + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.10.4 CELL TRAFFIC TRACE + */ + template (present) InitiatingMessage mw_n2_CellTrafficTrace( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, + template (present) NGRANTraceID p_NGRANTraceID := ?, + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template (present) TransportLayerAddress p_tla := ?, + template (present) PrivacyIndicator p_privacyInd := ?, + template (present) URI_address p_uRI_address := ? + ) := { + procedureCode := id_CellTrafficTrace, + criticality := ignore, + value_ := { + CellTrafficTrace := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_NGRANTraceID, + criticality := ignore, + value_ := { NGRANTraceID := p_NGRANTraceID } + }, + { + id := id_NGRAN_CGI, + criticality := ignore, + value_ := { NGRAN_CGI := p_nGRAN_CGI } + }, + { + id := id_TraceCollectionEntityIPAddress, + criticality := ignore, + value_ := { TransportLayerAddress := p_tla } + }, + { + id := id_PrivacyIndicator, + criticality := ignore, + value_ := { PrivacyIndicator := p_privacyInd } + }, + { + id := id_TraceCollectionEntityURI, + criticality := ignore, + value_ := { URI_address := p_uRI_address } + } + } + } + } + } // End of template mw_n2_CellTrafficTrace + } + } + } // End of group Trace_Messages + + //9.2.11 + group Location_Reporting_Messages { + //9.2.11.1 + group LOCATION_REPORTING_CONTROL{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.1 LOCATION REPORTING CONTROL + */ + template (value) InitiatingMessage m_n2_LocationReportingControl( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) LocationReportingRequestType p_locationReportingRequestType + ) := { + procedureCode := id_LocationReportingControl, + criticality := ignore, + value_ := { + LocationReportingControl := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType} + } + } + } + } + } // End of template m_n2_LocationReportingControl + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.1 LOCATION REPORTING CONTROL + */ + template (present) InitiatingMessage mw_n2_LocationReportingControl( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) LocationReportingRequestType p_locationReportingRequestType := m_locationReportingRequestType(direct, cell) //TODO: do we need PX here? + ) := { + procedureCode := id_LocationReportingControl, + criticality := ignore, + value_ := { + LocationReportingControl := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType} + } + } + } + } + } // End of template mw_n2_LocationReportingControl + + } + } + //9.2.11.2 + group LOCATION_REPORTING_FAILURE_INDICATION{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.2 LOCATION REPORTING FAILURE INDICATION + */ + template (value) InitiatingMessage m_n2_LocationReportingFailureIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) Cause p_cause + ) := { + procedureCode := id_LocationReportingFailureIndication, + criticality := ignore, + value_ := { + LocationReportingFailureIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template m_n2_LocationReportingFailureIndication + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.2 LOCATION REPORTING FAILURE INDICATION + */ + template (present) InitiatingMessage mw_n2_LocationReportingFailureIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) Cause p_cause + ) := { + procedureCode := id_LocationReportingFailureIndication, + criticality := ignore, + value_ := { + LocationReportingFailureIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_Cause, + criticality := ignore, + value_ := { Cause := p_cause } + } + } + } + } + } // End of template mw_n2_LocationReportingFailureIndication + + } + } + //9.2.11.3 + group LOCATION_REPORT{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.3 LOCATION REPORT + */ + template (value) InitiatingMessage m_n2_LocationReport( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) UserLocationInformation p_userLocationInformation, + in template (value) LocationReportingRequestType p_locationReportingRequestType := m_locationReportingRequestType(direct, cell) //TODO: do we need PX here? + ) := { + procedureCode := id_LocationReport, + criticality := ignore, + value_ := { + LocationReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + }, + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType} + } + } + } + } + } // End of template m_n2_LocationReport + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.3 LOCATION REPORT + */ + template (value) InitiatingMessage m_n2_LocationReport_options( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) UserLocationInformation p_userLocationInformation, + in template (value) UEPresenceInAreaOfInterestList p_uEPresenceInAreaOfInterestList, + in template (value) LocationReportingRequestType p_locationReportingRequestType := m_locationReportingRequestType(direct, cell) //TODO: do we need PX here? + ) := { + procedureCode := id_LocationReport, + criticality := ignore, + value_ := { + LocationReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + }, + { + id := id_UEPresenceInAreaOfInterestList, + criticality := ignore, + value_ := { UEPresenceInAreaOfInterestList := p_uEPresenceInAreaOfInterestList } + }, + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType} + } + } + } + } + } // End of template m_n2_LocationReport_options + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.3 LOCATION REPORT + */ + template (present) InitiatingMessage mw_n2_LocationReport( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) UserLocationInformation p_userLocationInformation := ?, + template (present) LocationReportingRequestType p_locationReportingRequestType := ? + ) := { + procedureCode := id_LocationReport, + criticality := ignore, + value_ := { + LocationReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + }, + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType} + } + } + } + } + } // End of template mw_n2_LocationReport + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.3 LOCATION REPORT + */ + template (present) InitiatingMessage mw_n2_LocationReport_options( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) UserLocationInformation p_userLocationInformation := ?, + template (present) UEPresenceInAreaOfInterestList p_uEPresenceInAreaOfInterestList := ?, + template (present) LocationReportingRequestType p_locationReportingRequestType := ? + ) := { + procedureCode := id_LocationReport, + criticality := ignore, + value_ := { + LocationReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + }, + { + id := id_UEPresenceInAreaOfInterestList, + criticality := ignore, + value_ := { UEPresenceInAreaOfInterestList := p_uEPresenceInAreaOfInterestList } + }, + { + id := id_LocationReportingRequestType, + criticality := ignore, + value_ := { LocationReportingRequestType := p_locationReportingRequestType} + } + } + } + } + } // End of template mw_n2_LocationReport_options + + } + } + } // End of group Location_Reporting_Messages + + //9.2.12 + group UE_TNLA_Binding_Messages { + //9.2.12.1 + group UE_TNLA_BINDING_RELEASE_REQUEST{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.12.1 UE TNLA BINDING RELEASE REQUEST + */ + template (value) InitiatingMessage m_n2_UETNLABindingReleaseRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UETNLABindingRelease, + criticality := ignore, + value_ := { + UETNLABindingReleaseRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_UETNLABindingReleaseRequest + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.12.1 UE TNLA BINDING RELEASE REQUEST + */ + template (present) InitiatingMessage mw_n2_UETNLABindingReleaseRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UETNLABindingRelease, + criticality := ignore, + value_ := { + UETNLABindingReleaseRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UETNLABindingReleaseRequest + + + } + } + } // End of group UE_TNLA_Binding_Messages + + //9.2.13 + group UE_Radio_Capability_Management_Messages { + //9.2.13.1 + group UE_RADIO_CAPABILITY_INFO_INDICATION{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.1 UE RADIO CAPABILITY INFO INDICATION + */ + template (value) InitiatingMessage m_n2_UERadioCapabilityInfoIndication( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) UERadioCapability p_uERadioCapability + ) := { + procedureCode := id_UERadioCapabilityInfoIndication, + criticality := ignore, + value_ := { + UERadioCapabilityInfoIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + } + } + } + } + } // End of template m_n2_UERadioCapabilityInfoIndication + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.1 UE RADIO CAPABILITY INFO INDICATION + */ + template (value) InitiatingMessage m_n2_UERadioCapabilityInfoIndication_options( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) UERadioCapability p_uERadioCapability, + in template (value) UERadioCapabilityForPaging p_uERadioCapabilityForPaging, + in template (value) UERadioCapability p_uERadioCapability_EUTRA_Format + ) := { + procedureCode := id_UERadioCapabilityInfoIndication, + criticality := ignore, + value_ := { + UERadioCapabilityInfoIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_UERadioCapabilityForPaging, + criticality := reject, + value_ := { UERadioCapabilityForPaging := p_uERadioCapabilityForPaging } + }, + { + id := id_UERadioCapability_EUTRA_Format, + criticality := reject, + value_ := { UERadioCapability := p_uERadioCapability_EUTRA_Format } + } + } + } + } + } // End of template m_n2_UERadioCapabilityInfoIndication_options + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.1 UE RADIO CAPABILITY INFO INDICATION + */ + template (present) InitiatingMessage mw_n2_UERadioCapabilityInfoIndication( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) UERadioCapability p_uERadioCapability := ? + ) := { + procedureCode := id_UERadioCapabilityInfoIndication, + criticality := ignore, + value_ := { + UERadioCapabilityInfoIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityInfoIndication + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.1 UE RADIO CAPABILITY INFO INDICATION + */ + template (present) InitiatingMessage mw_n2_UERadioCapabilityInfoIndication_options( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) UERadioCapability p_uERadioCapability := ?, + template (present) UERadioCapabilityForPaging p_uERadioCapabilityForPaging := ?, + template (present) UERadioCapability p_uERadioCapability_EUTRA_Format := ? + ) := { + procedureCode := id_UERadioCapabilityInfoIndication, + criticality := ignore, + value_ := { + UERadioCapabilityInfoIndication := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_UERadioCapabilityForPaging, + criticality := reject, + value_ := { UERadioCapabilityForPaging := p_uERadioCapabilityForPaging } + }, + { + id := id_UERadioCapability_EUTRA_Format, + criticality := reject, + value_ := { UERadioCapability := p_uERadioCapability_EUTRA_Format } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityInfoIndication_options + + } + } + //9.2.13.2 + group UE_RADIO_CAPABILITY_CHECK_REQUEST{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.2 UE RADIO CAPABILITY CHECK REQUEST + */ + template (value) InitiatingMessage m_n2_UERadioCapabilityCheckRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template m_n2_UERadioCapabilityCheckRequest + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.2 UE RADIO CAPABILITY CHECK REQUEST + */ + template (value) InitiatingMessage m_n2_UERadioCapabilityCheckRequest_options( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) UERadioCapability p_uERadioCapability, + in template (value) UERadioCapabilityID p_uERadioCapabilityID + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + } + } + } + } + } // End of template m_n2_UERadioCapabilityCheckRequest_options + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.2 UE RADIO CAPABILITY CHECK REQUEST + */ + template (present) InitiatingMessage mw_n2_UERadioCapabilityCheckRequest( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityCheckRequest + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.2 UE RADIO CAPABILITY CHECK REQUEST + */ + template (present) InitiatingMessage mw_n2_UERadioCapabilityCheckRequest_options( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) UERadioCapability p_uERadioCapability := ?, + template (present) UERadioCapabilityID p_uERadioCapabilityID := ? + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckRequest := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityCheckRequest_options + + } + } + //9.2.13.3 + group UE_RADIO_CAPABILITY_CHECK_RESPONSE{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UERadioCapabilityCheckResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) IMSVoiceSupportIndicator p_iMSVoiceSupportIndicator + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_IMSVoiceSupportIndicator, + criticality := reject, + value_ := { IMSVoiceSupportIndicator := p_iMSVoiceSupportIndicator } + } + } + } + } + } // End of template m_n2_UERadioCapabilityCheckResponse + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UERadioCapabilityCheckResponse_options( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) IMSVoiceSupportIndicator p_iMSVoiceSupportIndicator, + in template (value) CriticalityDiagnostics p_criticalityDiagnostics + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_IMSVoiceSupportIndicator, + criticality := reject, + value_ := { IMSVoiceSupportIndicator := p_iMSVoiceSupportIndicator } + }, + { + id := id_CriticalityDiagnostics, + criticality := ignore, + value_ := { CriticalityDiagnostics := p_criticalityDiagnostics } + } + } + } + } + } // End of template m_n2_UERadioCapabilityCheckResponse_options + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UERadioCapabilityCheckResponse( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) IMSVoiceSupportIndicator p_iMSVoiceSupportIndicator := ? + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_IMSVoiceSupportIndicator, + criticality := reject, + value_ := { IMSVoiceSupportIndicator := p_iMSVoiceSupportIndicator } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityCheckResponse + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UERadioCapabilityCheckResponse_options( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) IMSVoiceSupportIndicator p_iMSVoiceSupportIndicator := ?, + template (present) CriticalityDiagnostics p_criticalityDiagnostics := ? + ) := { + procedureCode := id_UERadioCapabilityCheck, + criticality := ignore, + value_ := { + UERadioCapabilityCheckResponse := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := reject, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := reject, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_IMSVoiceSupportIndicator, + criticality := reject, + value_ := { IMSVoiceSupportIndicator := p_iMSVoiceSupportIndicator } + }, + { + id := id_CriticalityDiagnostics, + criticality := ignore, + value_ := { CriticalityDiagnostics := p_criticalityDiagnostics } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityCheckResponse_options + + } + } + //9.2.13.4 + group UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (value) InitiatingMessage m_n2_UERadioCapabilityIDMappingRequest( + in template (value) UERadioCapabilityID p_uERadioCapabilityID + ) := { + procedureCode := id_UERadioCapabilityIDMapping, + criticality := ignore, + value_ := { + UERadioCapabilityIDMappingRequest := { + protocolIEs := { + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + } + } + } + } + } // End of template m_n2_UERadioCapabilityIDMappingRequest + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (present) InitiatingMessage mw_n2_UERadioCapabilityIDMappingRequest( + template (present) UERadioCapabilityID p_uERadioCapabilityID := ? + ) := { + procedureCode := id_UERadioCapabilityIDMapping, + criticality := ignore, + value_ := { + UERadioCapabilityIDMappingRequest := { + protocolIEs := { + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityIDMappingRequest + + } + } + //9.2.13.5 + group UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UERadioCapabilityIDMappingResponse( + in template (value) UERadioCapabilityID p_uERadioCapabilityID, + in template (value) UERadioCapability p_uERadioCapability + ) := { + procedureCode := id_UERadioCapabilityIDMapping, + criticality := ignore, + value_ := { + UERadioCapabilityIDMappingResponse := { + protocolIEs := { + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + } + } + } + } + } // End of template m_n2_UERadioCapabilityIDMappingResponse + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (value) SuccessfulOutcome m_n2_UERadioCapabilityIDMappingResponse_options( + in template (value) UERadioCapabilityID p_uERadioCapabilityID, + in template (value) UERadioCapability p_uERadioCapability, + in template (value) CriticalityDiagnostics p_criticalityDiagnostics + ) := { + procedureCode := id_UERadioCapabilityIDMapping, + criticality := ignore, + value_ := { + UERadioCapabilityIDMappingResponse := { + protocolIEs := { + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_CriticalityDiagnostics, + criticality := ignore, + value_ := { CriticalityDiagnostics := p_criticalityDiagnostics } + } + } + } + } + } // End of template m_n2_UERadioCapabilityIDMappingResponse_options + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UERadioCapabilityIDMappingResponse( + template (present) UERadioCapabilityID p_uERadioCapabilityID := ?, + template (present) UERadioCapability p_uERadioCapability := ? + ) := { + procedureCode := id_UERadioCapabilityIDMapping, + criticality := ignore, + value_ := { + UERadioCapabilityIDMappingResponse := { + protocolIEs := { + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityIDMappingResponse + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.13.3 UE RADIO CAPABILITY CHECK RESPONSE + */ + template (present) SuccessfulOutcome mw_n2_UERadioCapabilityIDMappingResponse_options( + template (present) UERadioCapabilityID p_uERadioCapabilityID := ?, + template (present) UERadioCapability p_uERadioCapability := ?, + template (present) CriticalityDiagnostics p_criticalityDiagnostics := ? + ) := { + procedureCode := id_UERadioCapabilityIDMapping, + criticality := ignore, + value_ := { + UERadioCapabilityIDMappingResponse := { + protocolIEs := { + { + id := id_UERadioCapabilityID, + criticality := reject, + value_ := { UERadioCapabilityID := p_uERadioCapabilityID } + }, + { + id := id_UERadioCapability, + criticality := ignore, + value_ := { UERadioCapability := p_uERadioCapability } + }, + { + id := id_CriticalityDiagnostics, + criticality := ignore, + value_ := { CriticalityDiagnostics := p_criticalityDiagnostics } + } + } + } + } + } // End of template mw_n2_UERadioCapabilityIDMappingResponse_options + + } + } + } // End of group UE_Radio_Capability_Management_Messages + + //9.2.14 + group Data_Usage_Reporting_Messages { + //9.2.14.1 + group SECONDARY_RAT_DATA_USAGE_REPORT{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.14.1 SECONDARY RAT DATA USAGE REPORT + */ + template (value) InitiatingMessage m_n2_SecondaryRATDataUsageReport( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSecondaryRATUsageList p_pDUSessionResourceSecondaryRATUsageList + ) := { + procedureCode := id_SecondaryRATDataUsageReport, + criticality := ignore, + value_ := { + SecondaryRATDataUsageReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSecondaryRATUsageList, + criticality := ignore, + value_ := { PDUSessionResourceSecondaryRATUsageList := p_pDUSessionResourceSecondaryRATUsageList } + } + } + } + } + } // End of template m_n2_SecondaryRATDataUsageReport + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.14.1 SECONDARY RAT DATA USAGE REPORT + */ + template (value) InitiatingMessage m_n2_SecondaryRATDataUsageReport_options( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + in template (value) PDUSessionResourceSecondaryRATUsageList p_pDUSessionResourceSecondaryRATUsageList, + in template (value) HandoverFlag p_handoverFlag, + in template (value) UserLocationInformation p_userLocationInformation + ) := { + procedureCode := id_SecondaryRATDataUsageReport, + criticality := ignore, + value_ := { + SecondaryRATDataUsageReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSecondaryRATUsageList, + criticality := ignore, + value_ := { PDUSessionResourceSecondaryRATUsageList := p_pDUSessionResourceSecondaryRATUsageList } + }, + { + id := id_HandoverFlag, + criticality := ignore, + value_ := { HandoverFlag := p_handoverFlag } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template m_n2_SecondaryRATDataUsageReport + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.14.1 SECONDARY RAT DATA USAGE REPORT + */ + template (present) InitiatingMessage mw_n2_SecondaryRATDataUsageReport( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) PDUSessionResourceSecondaryRATUsageList p_pDUSessionResourceSecondaryRATUsageList := ? + ) := { + procedureCode := id_SecondaryRATDataUsageReport, + criticality := ignore, + value_ := { + SecondaryRATDataUsageReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSecondaryRATUsageList, + criticality := ignore, + value_ := { PDUSessionResourceSecondaryRATUsageList := p_pDUSessionResourceSecondaryRATUsageList } + } + } + } + } + } // End of template mw_n2_SecondaryRATDataUsageReport + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.14.1 SECONDARY RAT DATA USAGE REPORT + */ + template (present) InitiatingMessage mw_n2_SecondaryRATDataUsageReport_options( + template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, + template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, + template (present) PDUSessionResourceSecondaryRATUsageList p_pDUSessionResourceSecondaryRATUsageList := ?, + template (present) HandoverFlag p_handoverFlag := ?, + template (present) UserLocationInformation p_userLocationInformation := ? + ) := { + procedureCode := id_SecondaryRATDataUsageReport, + criticality := ignore, + value_ := { + SecondaryRATDataUsageReport := { + protocolIEs := { + { + id := id_AMF_UE_NGAP_ID, + criticality := ignore, + value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } + }, + { + id := id_RAN_UE_NGAP_ID, + criticality := ignore, + value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } + }, + { + id := id_PDUSessionResourceSecondaryRATUsageList, + criticality := ignore, + value_ := { PDUSessionResourceSecondaryRATUsageList := p_pDUSessionResourceSecondaryRATUsageList } + }, + { + id := id_HandoverFlag, + criticality := ignore, + value_ := { HandoverFlag := p_handoverFlag } + }, + { + id := id_UserLocationInformation, + criticality := ignore, + value_ := { UserLocationInformation := p_userLocationInformation } + } + } + } + } + } // End of template mw_n2_SecondaryRATDataUsageReport + + } + } + } // End of group Data_Usage_Reporting_Messages + + //9.2.15 + group RIM_Information_Transfer_Messages { + //9.2.15.1 + group UPLINK_RIM_INFORMATION_TRANSFER{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.15.1 UPLINK RIM INFORMATION TRANSFER + */ + template (value) InitiatingMessage m_n2_UplinkRIMInformationTransfer( + in template (value) RIMInformationTransfer p_rIMInformationTransfer + ) := { + procedureCode := id_UplinkRIMInformationTransfer, + criticality := ignore, + value_ := { + UplinkRIMInformationTransfer := { + protocolIEs := { + { + id := id_RIMInformationTransfer, + criticality := ignore, + value_ := { RIMInformationTransfer := p_rIMInformationTransfer } + } + } + } + } + } // End of template m_n2_UplinkRIMInformationTransfer + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.15.1 UPLINK RIM INFORMATION TRANSFER + */ + template (present) InitiatingMessage mw_n2_UplinkRIMInformationTransfer( + template (present) RIMInformationTransfer p_rIMInformationTransfer := ? + ) := { + procedureCode := id_UplinkRIMInformationTransfer, + criticality := ignore, + value_ := { + UplinkRIMInformationTransfer := { + protocolIEs := { + { + id := id_RIMInformationTransfer, + criticality := ignore, + value_ := { RIMInformationTransfer := p_rIMInformationTransfer } + } + } + } + } + } // End of template mw_n2_UplinkRIMInformationTransfer + + } + } + //9.2.15.2 + group DOWNLINK_RIM_INFORMATION_TRANSFER{ + group Send { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.15.1 DownLINK RIM INFORMATION TRANSFER + */ + template (value) InitiatingMessage m_n2_DownlinkRIMInformationTransfer( + in template (value) RIMInformationTransfer p_rIMInformationTransfer + ) := { + procedureCode := id_DownlinkRIMInformationTransfer, + criticality := ignore, + value_ := { + DownlinkRIMInformationTransfer := { + protocolIEs := { + { + id := id_RIMInformationTransfer, + criticality := ignore, + value_ := { RIMInformationTransfer := p_rIMInformationTransfer } + } + } + } + } + } // End of template m_n2_DownlinkRIMInformationTransfer + + } + group Receive { + + /** + * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.15.1 DownLINK RIM INFORMATION TRANSFER + */ + template (present) InitiatingMessage mw_n2_DownlinkRIMInformationTransfer( + template (present) RIMInformationTransfer p_rIMInformationTransfer := ? + ) := { + procedureCode := id_DownlinkRIMInformationTransfer, + criticality := ignore, + value_ := { + DownlinkRIMInformationTransfer := { + protocolIEs := { + { + id := id_RIMInformationTransfer, + criticality := ignore, + value_ := { RIMInformationTransfer := p_rIMInformationTransfer } + } + } + } + } + } // End of template mw_n2_DownlinkRIMInformationTransfer + + } + } + } // End of group RIM_Information_Transfer_Messages + + } // End of group Message_Functional_Definition_and_Content + + group Information_elements { + + group Send { + + template (omit) AdditionalDLUPTNLInformationForHOItem m_additionalDLUPTNLInformationForHOItem( + in template (value) UPTransportLayerInformation p_additionalDL_NGU_UP_TNLInformation, + in template (value) QosFlowListWithDataForwarding p_additionalQosFlowSetupResponseList, + in template (omit) UPTransportLayerInformation p_additionalDLForwardingUPTNLInformation := omit, + in template (omit) AdditionalDLUPTNLInformationForHOItem.iE_Extensions p_iE_Extensions := omit + ) := { + additionalDL_NGU_UP_TNLInformation := p_additionalDL_NGU_UP_TNLInformation, + additionalQosFlowSetupResponseList := p_additionalQosFlowSetupResponseList, + additionalDLForwardingUPTNLInformation := p_additionalDLForwardingUPTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_additionalDLUPTNLInformationForHOItem + + template (value) AdditionalDLUPTNLInformationForHOItem.iE_Extensions m_additionalDLUPTNLInformationForHOItem_uPTransportLayerInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_AdditionalRedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_additionalDLUPTNLInformationForHOItem_iE_Extensions + + template (value) AdditionalQosFlowInformation m_additionalQosFlowInformation(in AdditionalQosFlowInformation p_value := more_likely) := p_value; + + template (omit) AllocationAndRetentionPriority m_allocationAndRetentionPriority( + in template (value) PriorityLevelARP p_priorityLevelARP, + in template (value) Pre_emptionCapability p_pre_emptionCapability, + in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, + in template (omit) AllocationAndRetentionPriority.iE_Extensions p_iE_Extensions := omit + ) := { + priorityLevelARP := p_priorityLevelARP, + pre_emptionCapability := p_pre_emptionCapability, + pre_emptionVulnerability := p_pre_emptionVulnerability, + iE_Extensions := p_iE_Extensions + } // End of template m_allocationAndRetentionPriority + + template (omit) AllowedNSSAI_Item m_allowedNSSAI_Item( + in template (value) S_NSSAI p_s_NSSAI, + in template (omit) AllowedNSSAI_Item.iE_Extensions p_iE_Extensions := omit + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template m_allowedNSSAI_Item + + template (omit) Allowed_PNI_NPN_Item m_allowed_PNI_NPN_Item( + in template (value) PLMNIdentity p_pLMNIdentity, + in template (value) Allowed_PNI_NPN_Item.pNI_NPN_restricted p_pNI_NPN_restricted := restricted, + in template (value) Allowed_CAG_List_per_PLMN p_allowed_CAG_List_per_PLMN, + in template (omit) Allowed_PNI_NPN_Item.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + pNI_NPN_restricted := p_pNI_NPN_restricted, + allowed_CAG_List_per_PLMN := p_allowed_CAG_List_per_PLMN, + iE_Extensions := p_iE_Extensions + } // End of template m_allowed_PNI_NPN_Item + + template (value) AlternativeQoSParaSetIndex m_alternativeQoSParaSetIndex(in template (value) integer p_value := PX_ALTERNATIVE_QOS_PARA_SET_INDEX) := p_value; + + template (value) AlternativeQoSParaSetNotifyIndex m_alternativeQoSParaSetNotifyIndex(in template (value) integer p_value := PX_ALTERNATIVE_QOS_PARA_SET_NOTIFY_INDEX) := p_value; + + template (omit) AlternativeQoSParaSetItem m_alternativeQoSParaSetItem( + in template (value) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex, + in template (omit) BitRate p_guaranteedFlowBitRateDL := omit, + in template (omit) BitRate p_guaranteedFlowBitRateUL := omit, + in template (omit) PacketDelayBudget p_packetDelayBudget := omit, + in template (omit) PacketErrorRate p_packetErrorRate := omit, + in template (omit) AlternativeQoSParaSetItem.iE_Extensions p_iE_Extensions := omit + ) := { + alternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex, + guaranteedFlowBitRateDL := p_guaranteedFlowBitRateDL, + guaranteedFlowBitRateUL := p_guaranteedFlowBitRateUL, + packetDelayBudget := p_packetDelayBudget, + packetErrorRate := p_packetErrorRate, + iE_Extensions := p_iE_Extensions + } // End of template m_alternativeQoSParaSetItem + + template (value) AMFName m_aMFName(in AMFName p_value) := p_value; + + template (value) AMFNameVisibleString m_aMFNameVisibleString(in AMFNameVisibleString p_value) := p_value; + + template (value) AMFNameUTF8String m_aMFNameUTF8String(in AMFNameUTF8String p_value) := p_value; + + template (value) AMFPagingTarget m_aMFPagingTarget_globalRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID + ) := { + globalRANNodeID := p_globalRANNodeID + } // End of template m_aMFPagingTarget_globalRANNodeID + + template (value) AMFPagingTarget m_aMFPagingTarget_tAI( + in template (value) TAI p_tAI + ) := { + tAI := p_tAI + } // End of template m_aMFPagingTarget_tAI + + template (value) AMFPagingTarget m_aMFPagingTarget_ext( + in template (value) AMFPagingTarget.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_aMFPagingTarget_ext + + template (omit) AMF_TNLAssociationSetupItem m_aMF_TNLAssociationSetupItem( + in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + in template (omit) AMF_TNLAssociationSetupItem.iE_Extensions p_iE_Extensions := omit + ) := { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + iE_Extensions := p_iE_Extensions + } // End of template m_aMF_TNLAssociationSetupItem + + template (omit) AMF_TNLAssociationToAddItem m_aMF_TNLAssociationToAddItem( + in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + in template (value) TNLAddressWeightFactor p_tNLAddressWeightFactor, + in template (omit) TNLAssociationUsage p_tNLAssociationUsage := omit, + in template (omit) AMF_TNLAssociationToAddItem.iE_Extensions p_iE_Extensions := omit + ):= { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + tNLAssociationUsage := p_tNLAssociationUsage, + tNLAddressWeightFactor := p_tNLAddressWeightFactor, + iE_Extensions := p_iE_Extensions + } // End of template m_aMF_TNLAssociationToAddItem + + template (omit) AMF_TNLAssociationToRemoveItem m_aMF_TNLAssociationToRemoveItem( + in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + in template (omit) AMF_TNLAssociationToRemoveItem.iE_Extensions p_iE_Extensions := omit + ) := { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + iE_Extensions := p_iE_Extensions + } // End of template m_aMF_TNLAssociationToRemoveItem + + template (omit) AMF_TNLAssociationToUpdateItem m_aMF_TNLAssociationToUpdateItem( + in template (value) CPTransportLayerInformation p_aMF_TNLAssociationAddress, + in template (omit) TNLAssociationUsage p_tNLAssociationUsage := omit, + in template (omit) TNLAddressWeightFactor p_tNLAddressWeightFactor := omit, + in template (omit) AMF_TNLAssociationToUpdateItem.iE_Extensions p_iE_Extensions := omit + ) := { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + tNLAssociationUsage := p_tNLAssociationUsage, + tNLAddressWeightFactor := p_tNLAddressWeightFactor, + iE_Extensions := p_iE_Extensions + } // End of template m_aMF_TNLAssociationToUpdateItem + + template (omit) AreaOfInterest m_areaOfInterest( + in template (omit) AreaOfInterestTAIList p_areaOfInterestTAIList := omit, + in template (omit) AreaOfInterestCellList p_areaOfInterestCellList := omit, + in template (omit) AreaOfInterestRANNodeList p_areaOfInterestRANNodeList := omit, + in template (omit) AreaOfInterest.iE_Extensions p_iE_Extensions := omit + ) := { + areaOfInterestTAIList := p_areaOfInterestTAIList, + areaOfInterestCellList := p_areaOfInterestCellList, + areaOfInterestRANNodeList := p_areaOfInterestRANNodeList, + iE_Extensions := p_iE_Extensions + } // End of template m_areaOfInterest + + template (omit) AreaOfInterestCellItem m_areaOfInterestCellItem( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (omit) AreaOfInterestCellItem.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CGI := p_nGRAN_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_areaOfInterestCellItem + + template (omit) AreaOfInterestItem m_areaOfInterestItem( + in template (value) AreaOfInterest p_areaOfInterest, + in template (value) LocationReportingReferenceID p_locationReportingReferenceID, + in template (omit) AreaOfInterestItem.iE_Extensions p_iE_Extensions := omit + ) := { + areaOfInterest := p_areaOfInterest, + locationReportingReferenceID := p_locationReportingReferenceID, + iE_Extensions := p_iE_Extensions + } // End of template m_areaOfInterestItem + + template (omit) AreaOfInterestRANNodeItem m_areaOfInterestRANNodeItem( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (omit) AreaOfInterestRANNodeItem.iE_Extensions p_iE_Extensions := omit + ):= { + globalRANNodeID := p_globalRANNodeID, + iE_Extensions := p_iE_Extensions + } // End of template m_areaOfInterestRANNodeItem + + template (omit) AreaOfInterestTAIItem m_areaOfInterestTAIItem( + in template (value) TAI p_tAI, + in template (omit) AreaOfInterestTAIItem.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template m_areaOfInterestTAIItem + + template (omit) AssistanceDataForPaging m_assistanceDataForPaging( + in template (omit) AssistanceDataForRecommendedCells p_assistanceDataForRecommendedCells := omit, + in template (omit) PagingAttemptInformation p_pagingAttemptInformation := omit, + in template (omit) AssistanceDataForPaging.iE_Extensions p_iE_Extensions := omit + ) := { + assistanceDataForRecommendedCells := p_assistanceDataForRecommendedCells, + pagingAttemptInformation := p_pagingAttemptInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_assistanceDataForPaging + + template (value) AssistanceDataForPaging.iE_Extensions m_assistanceDataForPaging_NPN_PagingAssistanceInformation( + in template (value) NPN_PagingAssistanceInformation p_nPN_PagingAssistanceInformation + ) := { + { + id := id_NPN_PagingAssistanceInformation, + criticality := ignore, + extensionValue := { NPN_PagingAssistanceInformation := p_nPN_PagingAssistanceInformation } + } + } // End of template m_assistanceDataForPaging_NPN_PagingAssistanceInformation + + template (value) AssistanceDataForPaging.iE_Extensions m_assistanceDataForPaging_pagingAssisDataforCEcapabUE( + in template (value) PagingAssisDataforCEcapabUE p_pagingAssisDataforCEcapabUE + ) := { + { + id := id_PagingAssisDataforCEcapabUE, + criticality := ignore, + extensionValue := { PagingAssisDataforCEcapabUE := p_pagingAssisDataforCEcapabUE } + } + } // End of template m_assistanceDataForPaging_pagingAssisDataforCEcapabUE + + template (value) AssistanceDataForPaging.iE_Extensions m_assistanceDataForPaging_full( + in template (value) NPN_PagingAssistanceInformation p_nPN_PagingAssistanceInformation, + in template (value) PagingAssisDataforCEcapabUE p_pagingAssisDataforCEcapabUE + ) := { + { + id := id_NPN_PagingAssistanceInformation, + criticality := ignore, + extensionValue := { NPN_PagingAssistanceInformation := p_nPN_PagingAssistanceInformation } + }, + { + id := id_PagingAssisDataforCEcapabUE, + criticality := ignore, + extensionValue := { PagingAssisDataforCEcapabUE := p_pagingAssisDataforCEcapabUE } + } + } // End of template m_assistanceDataForPaging_full + + template (omit) AssistanceDataForRecommendedCells m_assistanceDataForRecommendedCells( + in template (value) RecommendedCellsForPaging p_recommendedCellsForPaging, + in template (omit) AssistanceDataForRecommendedCells.iE_Extensions p_iE_Extensions := omit + ) := { + recommendedCellsForPaging := p_recommendedCellsForPaging, + iE_Extensions := p_iE_Extensions + } // End of template m_assistanceDataForRecommendedCells + + template (omit) AssociatedMBSQosFlowSetupRequestItem m_associatedMBSQosFlowSetupRequestItem( + in template (value) QosFlowIdentifier p_mBS_QosFlowIdentifier, + in template (value) QosFlowIdentifier p_associatedUnicastQosFlowIdentifier, + in template (omit) AssociatedMBSQosFlowSetupRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_QosFlowIdentifier := p_mBS_QosFlowIdentifier, + associatedUnicastQosFlowIdentifier := p_associatedUnicastQosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template m_associatedMBSQosFlowSetupRequestItem + + template (omit) AssociatedMBSQosFlowSetuporModifyRequestItem m_associatedMBSQosFlowSetuporModifyRequestItem( + in template (value) QosFlowIdentifier p_mBS_QosFlowIdentifier, + in template (value) QosFlowIdentifier p_associatedUnicastQosFlowIdentifier, + in template (omit) AssociatedMBSQosFlowSetuporModifyRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_QosFlowIdentifier := p_mBS_QosFlowIdentifier, + associatedUnicastQosFlowIdentifier := p_associatedUnicastQosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template m_associatedMBSQosFlowSetuporModifyRequestItem + + template (omit) AssociatedQosFlowItem m_associatedQosFlowItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) AssociatedQosFlowItem.qosFlowMappingIndication p_qosFlowMappingIndication := omit, + in template (omit) AssociatedQosFlowItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + qosFlowMappingIndication := p_qosFlowMappingIndication, + iE_Extensions := p_iE_Extensions + } // End of template m_associatedQosFlowItem + + template (value) AssociatedQosFlowItem.iE_Extensions m_associatedQosFlowItem_alternativeQoSParaSetIndex( + in template (value) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template m_associatedQosFlowItem_alternativeQoSParaSetIndex + + template (value) AuthenticatedIndication m_authenticatedIndication(in AuthenticatedIndication p_value := true_) := p_value; + + template (value) AreaScopeOfMDT_NR m_areaScopeOfMDT_NR_cellBased( + in template (value) CellBasedMDT_NR p_cellBased + ) := { + cellBased := p_cellBased + } // End of template m_areaScopeOfMDT_cellBased + + template (value) AreaScopeOfMDT_NR m_areaScopeOfMDT_tABased( + in template (value) TABasedMDT p_tABased + ) := { + tABased := p_tABased + } // End of template m_areaScopeOfMDT_tABased + + template (value) AreaScopeOfMDT_NR m_areaScopeOfMDT_pLMNWide := { + pLMNWide := NULL + } // End of template m_areaScopeOfMDT_pLMNWide + + template (value) AreaScopeOfMDT_NR m_areaScopeOfMDT_tAIBased( + in template (value) TAIBasedMDT p_tAIBased + ) := { + tAIBased := p_tAIBased + } // End of template m_areaScopeOfMDT_tAIBased + + template (value) AreaScopeOfMDT_NR m_areaScopeOfMDT_ext( + in template (value) AreaScopeOfMDT_NR.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_areaScopeOfMDT_ext + + template (omit) AreaScopeOfNeighCellsItem m_areaScopeOfNeighCellsItem( + in template (value) NRFrequencyInfo p_nrFrequencyInfo, + in template (omit) PCIListForMDT p_pciListForMDT := omit, + in template (omit) AreaScopeOfNeighCellsItem.iE_Extensions p_iE_Extensions := omit + ) := { + nrFrequencyInfo := p_nrFrequencyInfo, + pciListForMDT := p_pciListForMDT, + iE_Extensions := p_iE_Extensions + } // End of template m_areaScopeOfNeighCellsItem + + template (value) AreaScopeOfQMC m_areaScopeOfQMC_cellBased( + in template (value) CellBasedQMC p_cellBased + ) := { + cellBased := p_cellBased + } // End of template m_areaScopeOfQMC_cellBased + + template (value) AreaScopeOfQMC m_areaScopeOfQMC_tABased( + in template (value) TABasedQMC p_tABased + ) := { + tABased := p_tABased + } // End of template m_areaScopeOfQMC_tABased + + template (value) AreaScopeOfQMC m_areaScopeOfQMC_tAIBased( + in template (value) TAIBasedQMC p_tAIBased + ) := { + tAIBased := p_tAIBased + } // End of template m_areaScopeOfQMC_tAIBased + + template (value) AreaScopeOfQMC m_areaScopeOfQMC_pLMNAreaBased( + in template (value) PLMNAreaBasedQMC p_pLMNAreaBased + ) := { + pLMNAreaBased := p_pLMNAreaBased + } // End of template m_areaScopeOfQMC_pLMNAreaBased + + template (value) AreaScopeOfQMC m_areaScopeOfQMC_ext( + in template (value) AreaScopeOfQMC.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_areaScopeOfQMC_ext + + template (value) AreaScopeOfMDT_EUTRA m_areaScopeOfMDT_EUTRA_cellBased( + in template (value) CellBasedMDT_EUTRA p_cellBased + ) := { + cellBased := p_cellBased + } // End of template m_areaScopeOfMDT_EUTRA_cellBased + + template (value) AreaScopeOfMDT_EUTRA m_areaScopeOfMDT_EUTRA_tABased( + in template (value) TABasedMDT p_tABased + ) := { + tABased := p_tABased + } // End of template m_areaScopeOfMDT_EUTRA_tABased + + template (value) AreaScopeOfMDT_EUTRA m_areaScopeOfMDT_EUTRA_pLMNWide := { + pLMNWide := NULL + } // End of template m_areaScopeOfMDT_EUTRA_pLMNWide + + template (value) AreaScopeOfMDT_EUTRA m_areaScopeOfMDT_EUTRA_tAIBased( + in template (value) TAIBasedMDT p_tAIBased + ) := { + tAIBased := p_tAIBased + } // End of template m_areaScopeOfMDT_EUTRA_tAIBased + + template (value) AreaScopeOfMDT_EUTRA m_areaScopeOfMDT_EUTRA_ext( + in template (value) AreaScopeOfMDT_EUTRA.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_areaScopeOfMDT_EUTRA_ext + + template (omit) AvailableRANVisibleQoEMetrics m_availableRANVisibleQoEMetrics( + in template (omit) AvailableRANVisibleQoEMetrics.applicationLayerBufferLevelList p_applicationLayerBufferLevelList := omit, + in template (omit) AvailableRANVisibleQoEMetrics.playoutDelayForMediaStartup p_playoutDelayForMediaStartup := omit, + in template (omit) AvailableRANVisibleQoEMetrics.iE_Extensions p_iE_Extensions := omit + ) := { + applicationLayerBufferLevelList := p_applicationLayerBufferLevelList, + playoutDelayForMediaStartup := p_playoutDelayForMediaStartup, + iE_Extensions := p_iE_Extensions + } // End of template m_availableRANVisibleQoEMetrics + + template (omit) BeamMeasurementsReportConfiguration m_beamMeasurementsReportConfiguration( + in template (omit) BeamMeasurementsReportQuantity p_beamMeasurementsReportQuantity := omit, + in template (omit) MaxNrofRS_IndexesToReport p_maxNrofRS_IndexesToReport := omit, + in template (omit) BeamMeasurementsReportConfiguration.iE_Extensions p_iE_Extensions := omit + ) := { + beamMeasurementsReportQuantity := p_beamMeasurementsReportQuantity, + maxNrofRS_IndexesToReport := p_maxNrofRS_IndexesToReport, + iE_Extensions := p_iE_Extensions + } // End of template m_beamMeasurementsReportConfiguration + + template (omit) BeamMeasurementsReportQuantity m_beamMeasurementsReportQuantity( + in template (omit) BeamMeasurementsReportQuantity.rSRP p_rSRP := true_, + in template (omit) BeamMeasurementsReportQuantity.rSRQ p_rSRQ := true_, + in template (omit) BeamMeasurementsReportQuantity.sINR p_sINR := true_, + in template (omit) BeamMeasurementsReportQuantity.iE_Extensions p_iE_Extensions := omit + ) := { + rSRP := p_rSRP, + rSRQ := p_rSRQ, + sINR := p_sINR, + iE_Extensions := p_iE_Extensions + } // End of template m_beamMeasurementsReportQuantity + + template (value) BitRate m_bitRate(in template (value) BitRate p_value) := p_value; + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_cellIDCancelledEUTRA( + in template (value) CellIDCancelledEUTRA p_cellIDCancelledEUTRA + ) := { + cellIDCancelledEUTRA := p_cellIDCancelledEUTRA + } // End of template m_broadcastCancelledAreaList_cellIDCancelledEUTRA + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_tAICancelledEUTRA( + in template (value) TAICancelledEUTRA p_tAICancelledEUTRA + ) := { + tAICancelledEUTRA := p_tAICancelledEUTRA + } // End of template m_broadcastCancelledAreaList_tAICancelledEUTRA + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_emergencyAreaIDCancelledEUTRA( + in template (value) EmergencyAreaIDCancelledEUTRA p_emergencyAreaIDCancelledEUTRA + ) := { + emergencyAreaIDCancelledEUTRA := p_emergencyAreaIDCancelledEUTRA + } // End of template m_broadcastCancelledAreaList_emergencyAreaIDCancelledEUTRA + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_cellIDCancelledNR( + in template (value) CellIDCancelledNR p_cellIDCancelledNR + ) := { + cellIDCancelledNR := p_cellIDCancelledNR + } // End of template m_broadcastCancelledAreaList_cellIDCancelledNR + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_tAICancelledNR( + in template (value) TAICancelledNR p_tAICancelledNR + ) := { + tAICancelledNR := p_tAICancelledNR + } // End of template m_broadcastCancelledAreaList_tAICancelledNR + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_emergencyAreaIDCancelledNR( + in template (value) EmergencyAreaIDCancelledNR p_emergencyAreaIDCancelledNR + ) := { + emergencyAreaIDCancelledNR := p_emergencyAreaIDCancelledNR + } // End of template m_broadcastCancelledAreaList_ext + + template (value) BroadcastCancelledAreaList m_broadcastCancelledAreaList_ext( + in template (value) BroadcastCancelledAreaList.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_broadcastCancelledAreaList_ext + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_cellIDBroadcastEUTRA( + in template (value) CellIDBroadcastEUTRA p_cellIDBroadcastEUTRA + ) := { + cellIDBroadcastEUTRA := p_cellIDBroadcastEUTRA + } // End of template m_broadcastCompletedAreaList_cellIDCancelledEUTRA + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_tAIBroadcastEUTRA( + in template (value) TAIBroadcastEUTRA p_tAIBroadcastEUTRA + ) := { + tAIBroadcastEUTRA := p_tAIBroadcastEUTRA + } // End of template m_broadcastCompletedAreaList_tAIBroadcastEUTRA + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_emergencyAreaIDBroadcastEUTRA( + in template (value) EmergencyAreaIDBroadcastEUTRA p_emergencyAreaIDBroadcastEUTRA + ) := { + emergencyAreaIDBroadcastEUTRA := p_emergencyAreaIDBroadcastEUTRA + } // End of template m_broadcastCompletedAreaList_emergencyAreaIDBroadcastEUTRA + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_cellIDBroadcastNR( + in template (value) CellIDBroadcastNR p_cellIDBroadcastNR + ) := { + cellIDBroadcastNR := p_cellIDBroadcastNR + } // End of template m_broadcastCompletedAreaList_cellIDBroadcastNR + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_tAIBroadcastNR( + in template (value) TAIBroadcastNR p_tAIBroadcastNR + ) := { + tAIBroadcastNR := p_tAIBroadcastNR + } // End of template m_broadcastCompletedAreaList_tAIBroadcastNR + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_emergencyAreaIDBroadcastNR( + in template (value) EmergencyAreaIDBroadcastNR p_emergencyAreaIDBroadcastNR + ) := { + emergencyAreaIDBroadcastNR := p_emergencyAreaIDBroadcastNR + } // End of template m_broadcastCompletedAreaList_emergencyAreaIDBroadcastNR + + template (value) BroadcastCompletedAreaList m_broadcastCompletedAreaList_ext( + in template (value) BroadcastCompletedAreaList.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_broadcastCompletedAreaList_ext + + template (value) BroadcastPLMNList m_ie_broadcastPLMNList( + in template (value) BroadcastPLMNList p_list + ) := p_list; + + template (omit) BroadcastPLMNItem m_ie_broadcastPLMNItem( + in template (value) PLMNIdentity p_plmnId := PX_PLMN_IDENTITY, + in template (value) SliceSupportList p_ssl, + in template (omit) BroadcastPLMNItem.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_plmnId, + tAISliceSupportList := p_ssl, + iE_Extensions := p_iE_Extensions + } // End of template m_ie_broadcastPLMNItem + + template (omit) BluetoothMeasurementConfiguration m_bluetoothMeasurementConfiguration( + in template (value) BluetoothMeasConfig p_bluetoothMeasConfig, + in template (omit) BluetoothMeasConfigNameList p_bluetoothMeasConfigNameList := omit, + in template (omit) BluetoothMeasurementConfiguration.bt_rssi p_bt_rssi := omit, + in template (omit) BluetoothMeasurementConfiguration.iE_Extensions p_iE_Extensions := omit + ) := { + bluetoothMeasConfig := p_bluetoothMeasConfig, + bluetoothMeasConfigNameList := p_bluetoothMeasConfigNameList, + bt_rssi := p_bt_rssi, + iE_Extensions := p_iE_Extensions + } // End of template m_bluetoothMeasurementConfiguration + + template (omit) BluetoothMeasConfigNameItem m_bluetoothMeasConfigNameItem( + in template (value) BluetoothName p_bluetoothName, + in template (omit) BluetoothMeasConfigNameItem.iE_Extensions p_iE_Extensions := omit + ) := { + bluetoothName := p_bluetoothName, + iE_Extensions := p_iE_Extensions + } // End of template m_bluetoothMeasConfigNameItem + + template (value) BluetoothMeasConfig m_bluetoothMeasConfig(in BluetoothMeasConfig p_value := setup) := p_value; + + template (value) CancelAllWarningMessages m_cancelAllWarningMessages(in CancelAllWarningMessages p_value := true_) := p_value; + + template (omit) CancelledCellsInEAI_EUTRA_Item m_cancelledCellsInEAI_EUTRA_Item( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (value) NumberOfBroadcasts p_numberOfBroadcasts, + in template (omit) CancelledCellsInEAI_EUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template m_cancelledCellsInEAI_EUTRA_Item + + template (omit) CancelledCellsInEAI_NR_Item m_cancelledCellsInEAI_NR_Item( + in template (value) NR_CGI p_nR_CGI, + in template (value) NumberOfBroadcasts p_numberOfBroadcasts, + in template (omit) CancelledCellsInEAI_NR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template m_cancelledCellsInEAI_NR_Item + + template (omit) CancelledCellsInTAI_EUTRA_Item m_cancelledCellsInTAI_EUTRA_Item( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (value) NumberOfBroadcasts p_numberOfBroadcasts, + in template (omit) CancelledCellsInTAI_EUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template m_cancelledCellsInTAI_EUTRA_Item + + template (omit) CancelledCellsInTAI_NR_Item m_CancelledCellsInTAI_NR_Item( + in template (value) NR_CGI p_nR_CGI, + in template (value) NumberOfBroadcasts p_numberOfBroadcasts, + in template (omit) CancelledCellsInTAI_NR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template m_CancelledCellsInTAI_NR_Item + + template (omit) CandidateCellItem m_candidateCellItem( + in template (value) CandidateCell p_candidateCell, + in template (omit) CandidateCellItem.iE_Extensions p_iE_Extensions := omit + ) := { + candidateCell := p_candidateCell, + iE_Extensions := p_iE_Extensions + } // End of template m_candidateCellItem + + template (value) CandidateCell m_candidateCell_candidateCGI( + in template (value) CandidateCellID p_candidateCGI + ) := { + candidateCGI := p_candidateCGI + } // End of template m_candidateCell_candidateCGI + + template (value) CandidateCell m_candidateCell_candidatePCI( + in template (value) CandidatePCI p_candidatePCI + ) := { + candidatePCI := p_candidatePCI + } // End of template m_candidateCell_candidatePCI + + template (value) CandidateCell m_candidateCell_ext( + in template (value) CandidateCell.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_candidateCell_ext + + template (omit) CandidateCellID m_candidateCellID( + in template (value) NR_CGI p_candidateCellID, + in template (omit) CandidateCellID.iE_Extensions p_iE_Extensions := omit + ) := { + candidateCellID := p_candidateCellID, + iE_Extensions := p_iE_Extensions + } // End of template m_candidateCellID + + template (omit) CandidatePCI m_candidatePCI( + in template (value) CandidatePCI.candidatePCI p_candidatePCI, + in template (value) CandidatePCI.candidateNRARFCN p_candidateNRARFCN, + in template (omit) CandidatePCI.iE_Extensions p_iE_Extensions := omit + ) := { + candidatePCI := p_candidatePCI, + candidateNRARFCN := p_candidateNRARFCN, + iE_Extensions := p_iE_Extensions + } // End of template m_candidatePCI + + template (value) Cause m_cause_radioNetwork( + in template (value) CauseRadioNetwork p_radioNetwork + ) := { + radioNetwork := p_radioNetwork + } // End of template m_cause_radioNetwork + + template (value) Cause m_cause_transport( + in template (value) CauseTransport p_transport + ) := { + transport := p_transport + } // End of template m_cause_transport + + template (value) Cause m_cause_nas( + in template (value) CauseNas p_nas + ) := { + nas := p_nas + } // End of template m_cause_nas + + template (value) Cause m_cause_protocol( + in template (value) CauseProtocol p_protocol + ) := { + protocol := p_protocol + } // End of template m_cause_protocol + + template (value) Cause m_cause_misc( + in template (value) CauseMisc p_misc + ) := { + misc := p_misc + } // End of template m_cause_misc + + template (value) Cause m_cause_ext( + in template (value) Cause.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_cause_ext + + template (value) CauseMisc m_causeMisc(in CauseMisc p_value := unspecified) := p_value; + template (value) CauseNas m_causeNas(in CauseNas p_value := unspecified) := p_value; + template (value) CauseProtocol m_causeProtocol(in CauseProtocol p_value := unspecified) := p_value; + template (value) CauseRadioNetwork m_causeRadioNetwork(in CauseRadioNetwork p_value := unspecified) := p_value; + template (value) CauseTransport m_causeTransport(in CauseTransport p_value := unspecified) := p_value; + + template (omit) Cell_CAGInformation m_cell_CAGInformation( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (value) CellCAGList p_cellCAGList, + in template (omit) Cell_CAGInformation.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CGI := p_nGRAN_CGI, + cellCAGList := p_cellCAGList, + iE_Extensions := p_iE_Extensions + } // End of template m_cell_CAGInformation + + template (omit) CellIDBroadcastEUTRA_Item m_cellIDBroadcastEUTRA_Item( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (omit) CellIDBroadcastEUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_cellIDBroadcastEUTRA_Item + + template (omit) CellIDBroadcastNR_Item m_cellIDBroadcastNR_Item( + in template (value) NR_CGI p_nR_CGI, + in template (omit) CellIDBroadcastNR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_cellIDBroadcastNR_Item + + template (omit) CellIDCancelledEUTRA_Item m_cellIDCancelledEUTRA_Item( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (value) NumberOfBroadcasts p_numberOfBroadcasts, + in template (omit) CellIDCancelledEUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template m_cellIDCancelledEUTRA_Item + + template (omit) CellIDCancelledNR_Item m_cellIDCancelledNR_Item( + in template (value) NR_CGI p_nR_CGI, + in template (value) NumberOfBroadcasts p_numberOfBroadcasts, + in template (omit) CellIDCancelledNR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template m_cellIDCancelledNR_Item + + template (value) CellIDListForRestart m_cellIDListForRestart_eUTRA_CGIListforRestart( + in template (value) EUTRA_CGIList p_eUTRA_CGIListforRestart + ) := { + eUTRA_CGIListforRestart := p_eUTRA_CGIListforRestart + } // End of template m_cellIDListForRestart_misc + + template (value) CellIDListForRestart m_cellIDListForRestart_nR_CGIListforRestart( + in template (value) NR_CGIList p_nR_CGIListforRestart + ) := { + nR_CGIListforRestart := p_nR_CGIListforRestart + } // End of template m_cellIDListForRestart_nR_CGIListforRestart + + template (value) CellIDListForRestart m_cellIDListForRestart_ext( + in template (value) CellIDListForRestart.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_cellIDListForRestart_ext + + template (value) CellSize m_cellSize(in CellSize p_value := medium) := p_value; + + template (omit) CellType m_cellType( + in template (value) CellSize p_cellSize, + in template (omit) CellType.iE_Extensions p_iE_Extensions := omit + ) := { + cellSize := p_cellSize, + iE_Extensions := p_iE_Extensions + } // End of template m_cellType + + template (value) CEmodeBSupport_Indicator m_cEmodeBSupport_Indicator(in CEmodeBSupport_Indicator p_value := supported) := p_value; + template (value) CEmodeBrestricted m_cEmodeBrestricted(in CEmodeBrestricted p_value := restricted) := p_value; + + template (omit) CNAssistedRANTuning m_cNAssistedRANTuning( + in template (omit) ExpectedUEBehaviour p_expectedUEBehaviour := omit, + in template (omit) CNAssistedRANTuning.iE_Extensions p_iE_Extensions := omit + ) := { + expectedUEBehaviour := p_expectedUEBehaviour, + iE_Extensions := p_iE_Extensions + } // End of template m_cNAssistedRANTuning + + template (omit) CNTypeRestrictionsForEquivalentItem m_cNTypeRestrictionsForEquivalentItem( + in template (value) PLMNIdentity p_plmnIdentity, + in template (value) CNTypeRestrictionsForEquivalentItem.cn_Type p_cn_Type, + in template (omit) CNTypeRestrictionsForEquivalentItem.iE_Extensions p_iE_Extensions := omit + ) := { + plmnIdentity := p_plmnIdentity, + cn_Type := p_cn_Type, + iE_Extensions := p_iE_Extensions + } // End of template m_cNTypeRestrictionsForEquivalentItem + + template (value) CNTypeRestrictionsForServing m_cNTypeRestrictionsForServing(in CNTypeRestrictionsForServing p_value := epc_forbidden) := p_value; + + template (omit) CompletedCellsInEAI_EUTRA_Item m_completedCellsInEAI_EUTRA_Item( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (omit) CompletedCellsInEAI_EUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_completedCellsInEAI_EUTRA_Item + + template (omit) CompletedCellsInEAI_NR_Item m_completedCellsInEAI_NR_Item( + in template (value) NR_CGI p_nR_CGI, + in template (omit) CompletedCellsInEAI_NR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_completedCellsInEAI_NR_Item + + template (omit) CompletedCellsInTAI_EUTRA_Item m_completedCellsInTAI_EUTRA_Item( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (omit) CompletedCellsInTAI_EUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_completedCellsInTAI_EUTRA_Item + + template (omit) CompletedCellsInTAI_NR_Item m_completedCellsInTAI_NR_Item( + in template (value) NR_CGI p_nR_CGI, + in template (omit) CompletedCellsInTAI_NR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_completedCellsInTAI_NR_Item + + template (value) ConcurrentWarningMessageInd m_concurrentWarningMessageInd(in ConcurrentWarningMessageInd p_value := true_) := p_value; + template (value) ConfidentialityProtectionIndication m_confidentialityProtectionIndication(in ConfidentialityProtectionIndication p_value := required) := p_value; + template (value) ConfidentialityProtectionResult m_confidentialityProtectionResult(in ConfidentialityProtectionResult p_value := performed) := p_value; + template (value) ConfiguredTACIndication m_configuredTACIndication(in ConfiguredTACIndication p_value := true_) := p_value; + + template (omit) CoreNetworkAssistanceInformationForInactive m_coreNetworkAssistanceInformationForInactive( + in template (value) UEIdentityIndexValue p_uEIdentityIndexValue, + in template (value) PeriodicRegistrationUpdateTimer p_periodicRegistrationUpdateTimer := PX_PERIODIC_REGISTRATION_UPDATE_TIMER, + in template (value) TAIListForInactive p_tAIListForInactive, + in template (omit) PagingDRX p_uESpecificDRX := omit, + in template (omit) MICOModeIndication p_mICOModeIndication := omit, + in template (omit) ExpectedUEBehaviour p_expectedUEBehaviour := omit, + in template (omit) CoreNetworkAssistanceInformationForInactive.iE_Extensions p_iE_Extensions := omit + ) := { + uEIdentityIndexValue := p_uEIdentityIndexValue, + uESpecificDRX := p_uESpecificDRX, + periodicRegistrationUpdateTimer := p_periodicRegistrationUpdateTimer, + mICOModeIndication := p_mICOModeIndication, + tAIListForInactive := p_tAIListForInactive, + expectedUEBehaviour := p_expectedUEBehaviour, + iE_Extensions := p_iE_Extensions + } // End of template m_coreNetworkAssistanceInformationForInactive + + template (value) CoreNetworkAssistanceInformationForInactive.iE_Extensions m_coreNetworkAssistanceInformationForInactive_paging( + in template (value) EUTRA_PagingeDRXInformation p_eUTRA_PagingeDRXInformation, + in template (value) ExtendedUEIdentityIndexValue p_extendedUEIdentityIndexValue, + in template (value) UERadioCapabilityForPaging p_uERadioCapabilityForPaging, + in template (value) MicoAllPLMN p_micoAllPLMN + ) := { + { + id := id_EUTRA_PagingeDRXInformation, + criticality := ignore, + extensionValue := { EUTRA_PagingeDRXInformation := p_eUTRA_PagingeDRXInformation } + }, + { + id := id_ExtendedUEIdentityIndexValue, + criticality := ignore, + extensionValue := { ExtendedUEIdentityIndexValue := p_extendedUEIdentityIndexValue } + }, + { + id := id_UERadioCapabilityForPaging, + criticality := ignore, + extensionValue := { UERadioCapabilityForPaging := p_uERadioCapabilityForPaging } + }, + { + id := id_MicoAllPLMN, + criticality := ignore, + extensionValue := { MicoAllPLMN := p_micoAllPLMN } + } + // TODO To be enhanced + } // End of template m_coreNetworkAssistanceInformationForInactive_paging + + template (omit) COUNTValueForPDCP_SN12 m_cOUNTValueForPDCP_SN12( + in template (value) COUNTValueForPDCP_SN12.pDCP_SN12 p_pDCP_SN12, + in template (value) COUNTValueForPDCP_SN12.hFN_PDCP_SN12 p_hFN_PDCP_SN12, + in template (omit) COUNTValueForPDCP_SN12.iE_Extensions p_iE_Extensions := omit + ) := { + pDCP_SN12 := p_pDCP_SN12, + hFN_PDCP_SN12 := p_hFN_PDCP_SN12, + iE_Extensions := p_iE_Extensions + } // End of template m_cOUNTValueForPDCP_SN12 + + template (omit) COUNTValueForPDCP_SN18 m_cOUNTValueForPDCP_SN18( + in template (value) COUNTValueForPDCP_SN18.pDCP_SN18 p_pDCP_SN18, + in template (value) COUNTValueForPDCP_SN18.hFN_PDCP_SN18 p_hFN_PDCP_SN18, + in template (omit) COUNTValueForPDCP_SN18.iE_Extensions p_iE_Extensions := omit + ) := { + pDCP_SN18 := p_pDCP_SN18, + hFN_PDCP_SN18 := p_hFN_PDCP_SN18, + iE_Extensions := p_iE_Extensions + } // End of template m_cOUNTValueForPDCP_SN18 + + template (value) CPTransportLayerInformation m_cPTransportLayerInformation_endpointIPAddress( + in template (value) TransportLayerAddress p_endpointIPAddress := PX_TRANSPORT_LAYER_ADDRESS + ) := { + endpointIPAddress := p_endpointIPAddress + } // End of template m_cPTransportLayerInformation_endpointIPAddress + + template (value) CPTransportLayerInformation m_cPTransportLayerInformation_choice_Extensions( + in template (value) CPTransportLayerInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_cPTransportLayerInformation_choice_Extensions + + template (value) CPTransportLayerInformation.choice_Extensions m_cPTransportLayerInformation_ext( + in template (value) EndpointIPAddressAndPort p_EndpointIPAddressAndPort + ) := { + id := id_EndpointIPAddressAndPort, + criticality := reject, + value_ := { EndpointIPAddressAndPort := p_EndpointIPAddressAndPort } + } // End of template m_cPTransportLayerInformation_ext + + template (omit) CriticalityDiagnostics m_criticalityDiagnostics( + in template (omit) ProcedureCode p_procedureCode := omit, + in template (omit) TriggeringMessage p_triggeringMessage := omit, + in template (omit) Criticality p_procedureCriticality := omit, + in template (omit) CriticalityDiagnostics_IE_List p_criticalityDiagnostics_IE_List := omit, + in template (omit) CriticalityDiagnostics.iE_Extensions p_iE_Extensions := omit + ) := { + procedureCode := p_procedureCode, + triggeringMessage := p_triggeringMessage, + procedureCriticality := p_procedureCriticality, + iEsCriticalityDiagnostics := p_criticalityDiagnostics_IE_List, + iE_Extensions := p_iE_Extensions + } // End of template m_criticalityDiagnostics + + template (omit) CriticalityDiagnostics_IE_Item m_criticalityDiagnostics_IE_Item( + in template (value) Criticality p_iECriticality, + in template (value) ProtocolIE_ID p_iE_ID, + in template (value) TypeOfError p_typeOfError, + in template (omit) CriticalityDiagnostics_IE_Item.iE_Extensions p_iE_Extensions := omit + ) := { + iECriticality := p_iECriticality, + iE_ID := p_iE_ID, + typeOfError := p_typeOfError, + iE_Extensions := p_iE_Extensions + } // End of template m_criticalityDiagnostics_IE_Item + + template (omit) CellBasedMDT_NR m_cellBasedMDT_NR( + in template (value) CellIdListforMDT_NR p_cellIdListforMDT, + in template (omit) CellBasedMDT_NR.iE_Extensions p_iE_Extensions + ) := { + cellIdListforMDT := p_cellIdListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template m_cellBasedMDT_NR + + template (omit) CellBasedMDT_EUTRA m_cellBasedMDT_EUTRA( + in template (value) CellIdListforMDT_EUTRA p_cellIdListforMDT, + in template (omit) CellBasedMDT_EUTRA.iE_Extensions p_iE_Extensions + ) := { + cellIdListforMDT := p_cellIdListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template m_cellBasedMDT_EUTRA + + template (omit) CellBasedQMC m_cellBasedQMC( + in template (value) CellIdListforQMC p_cellIdListforQMC, + in template (omit) CellBasedQMC.iE_Extensions p_iE_Extensions + ) := { + cellIdListforQMC := p_cellIdListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template m_cellBasedQMC + + template (value) DataForwardingNotPossible m_dataForwardingNotPossible(in DataForwardingNotPossible p_value := data_forwarding_not_possible) := p_value; + + template (value) DataForwardingAccepted m_dataForwardingAccepted(in DataForwardingAccepted p_value := data_forwarding_accepted) := p_value; + + template (omit) DataForwardingResponseDRBItem m_dataForwardingResponseDRBItem( + in template (value) DRB_ID p_dRB_ID, + in template (omit) UPTransportLayerInformation p_dLForwardingUP_TNLInformation := omit, + in template (omit) UPTransportLayerInformation p_uLForwardingUP_TNLInformation := omit, + in template (omit) DataForwardingResponseDRBItem.iE_Extensions p_iE_Extensions := omit + ) := { + dRB_ID := p_dRB_ID, + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + uLForwardingUP_TNLInformation := p_uLForwardingUP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_dataForwardingResponseDRBItem + + template (omit) DAPSRequestInfo m_dAPSRequestInfo( + in template (value) DAPSRequestInfo.dAPSIndicator p_dAPSIndicator := daps_ho_required, + in template (omit) DAPSRequestInfo.iE_Extensions p_iE_Extensions := omit + ) := { + dAPSIndicator := p_dAPSIndicator, + iE_Extensions := p_iE_Extensions + } // End of template m_dAPSRequestInfo + + template (omit) DAPSResponseInfoItem m_dAPSResponseInfoItem( + in template (value) DRB_ID p_dRB_ID, + in template (value) DAPSResponseInfo p_dAPSResponseInfo, + in template (omit) DAPSResponseInfoItem.iE_Extension p_iE_Extension := omit + ) := { + dRB_ID := p_dRB_ID, + dAPSResponseInfo := p_dAPSResponseInfo, + iE_Extension := p_iE_Extension + } // End of template m_dAPSResponseInfoItem + + template (omit) DAPSResponseInfo m_dAPSResponseInfo( + in template (value) DAPSResponseInfo.dapsresponseindicator p_dapsresponseindicator, + in template (omit) DAPSResponseInfo.iE_Extensions p_iE_Extensions := omit + ) := { + dapsresponseindicator := p_dapsresponseindicator, + iE_Extensions := p_iE_Extensions + } // End of template m_dAPSResponseInfo + + template (omit) DataForwardingResponseERABListItem m_DataForwardingResponseERABListItem( + in template (value) E_RAB_ID p_e_RAB_ID, + in template (value) UPTransportLayerInformation p_dLForwardingUP_TNLInformation, + in template (omit) DataForwardingResponseERABListItem.iE_Extensions p_iE_Extensions := omit + ) := { + e_RAB_ID := p_e_RAB_ID, + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_DataForwardingResponseERABListItem + + template (value) DelayCritical m_delayCritical(in DelayCritical p_value) := p_value; + + template (omit) DL_CP_SecurityInformation m_dL_CP_SecurityInformation( + in template (value) DL_NAS_MAC p_dl_NAS_MAC := PX_DL_NAS_MAC, + in template (omit) DL_CP_SecurityInformation.iE_Extensions p_iE_Extensions := omit + ) := { + dl_NAS_MAC := p_dl_NAS_MAC, + iE_Extensions := p_iE_Extensions + } // End of template m_dL_CP_SecurityInformation + + template (value) DLForwarding m_dLForwarding(in DLForwarding p_value := dl_forwarding_proposed) := p_value; + + template (value) DL_NGU_TNLInformationReused m_dL_NGU_TNLInformationReused(in DL_NGU_TNLInformationReused p_value := true_) := p_value; + + template (value) DirectForwardingPathAvailability m_directForwardingPathAvailability(in DirectForwardingPathAvailability p_value := direct_path_available) := p_value; + + template (omit) DRBsSubjectToStatusTransferItem m_dRBsSubjectToStatusTransferItem( + in template (value) DRB_ID p_dRB_ID, + in template (value) DRBStatusUL p_dRBStatusUL, + in template (value) DRBStatusDL p_dRBStatusDL, + in template (omit) DRBsSubjectToStatusTransferItem.iE_Extension p_iE_Extension := omit + ) := { + dRB_ID := p_dRB_ID, + dRBStatusUL := p_dRBStatusUL, + dRBStatusDL := p_dRBStatusDL, + iE_Extension := p_iE_Extension + } // End of template m_dRBsSubjectToStatusTransferItem + + template (value) DRBsSubjectToStatusTransferItem.iE_Extension m_dRBsSubjectToStatusTransferItem_associatedQosFlowList( + in template (value) AssociatedQosFlowList p_associatedQosFlowList + ) := { + { + id := id_OldAssociatedQosFlowList_ULendmarkerexpected, + criticality := ignore, + extensionValue := { AssociatedQosFlowList := p_associatedQosFlowList } + } + } // End of template m_dRBsSubjectToStatusTransferItem_associatedQosFlowList + + template (value) DRBStatusDL m_dRBStatusDL_dRBStatusDL12( + in template (value) DRBStatusDL12 p_dRBStatusDL12 + ) := { + dRBStatusDL12 := p_dRBStatusDL12 + } // End of template m_dRBStatusDL_dRBStatusDL12 + + template (value) DRBStatusDL m_dRBStatusDL_dRBStatusDL18( + in template (value) DRBStatusDL18 p_dRBStatusDL18 + ) := { + dRBStatusDL18 := p_dRBStatusDL18 + } // End of template m_dRBStatusDL_dRBStatusDL18 + + template (value) DRBStatusDL m_dRBStatusDL_choice_Extensions( + in template (value) DRBStatusDL.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_dRBStatusDL_choice_Extensions // type NGAP_Containers.NGAP_PROTOCOL_IES DRBStatusDL_ExtIEs (?); + + template (omit) DRBStatusDL12 m_dRBStatusDL12( + in template (value) COUNTValueForPDCP_SN12 p_dL_COUNTValue, + in template (omit) DRBStatusDL12.iE_Extension p_iE_Extension := omit + ) := { + dL_COUNTValue := p_dL_COUNTValue, + iE_Extension := p_iE_Extension + } // End of template m_dRBStatusDL12 + + template (omit) DRBStatusDL18 m_dRBStatusDL18( + in template (value) COUNTValueForPDCP_SN18 p_dL_COUNTValue, + in template (omit) DRBStatusDL18.iE_Extension p_iE_Extension := omit + ) := { + dL_COUNTValue := p_dL_COUNTValue, + iE_Extension := p_iE_Extension + } // End of template m_dRBStatusDL18 + + template (value) DRBStatusUL m_dRBStatusUL_dRBStatusUL12( + in template (value) DRBStatusUL12 p_dRBStatusUL12 + ) := { + dRBStatusUL12 := p_dRBStatusUL12 + } // End of template m_dRBStatusUL_dRBStatusUL12 + + template (value) DRBStatusUL m_dRBStatusUL_dRBStatusUL18( + in template (value) DRBStatusUL18 p_dRBStatusUL18 + ) := { + dRBStatusUL18 := p_dRBStatusUL18 + } // End of template m_dRBStatusUL_dRBStatusUL18 + + template (value) DRBStatusUL m_dRBStatusUL_choice_Extensions( + in template (value) DRBStatusUL.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_dRBStatusUL_choice_Extensions + + template (omit) DRBStatusUL12 m_dRBStatusUL12( + in template (value) COUNTValueForPDCP_SN12 p_uL_COUNTValue, + in template (omit) DRBStatusUL12.receiveStatusOfUL_PDCP_SDUs p_receiveStatusOfUL_PDCP_SDUs := omit, + in template (omit) DRBStatusUL12.iE_Extension p_iE_Extension := omit + ) := { + uL_COUNTValue := p_uL_COUNTValue, + receiveStatusOfUL_PDCP_SDUs := p_receiveStatusOfUL_PDCP_SDUs, + iE_Extension := p_iE_Extension + } // End of template m_dRBStatusUL12 + + template (omit) DRBStatusUL18 m_dRBStatusUL18( + in template (value) COUNTValueForPDCP_SN18 p_uL_COUNTValue, + in template (omit) DRBStatusUL18.receiveStatusOfUL_PDCP_SDUs p_receiveStatusOfUL_PDCP_SDUs := omit, + in template (omit) DRBStatusUL18.iE_Extension p_iE_Extension := omit + ) := { + uL_COUNTValue := p_uL_COUNTValue, + receiveStatusOfUL_PDCP_SDUs := p_receiveStatusOfUL_PDCP_SDUs, + iE_Extension := p_iE_Extension + } // End of template m_dRBStatusUL18 + + template (omit) DRBsToQosFlowsMappingItem m_dRBsToQosFlowsMappingItem( + in template (value) DRB_ID p_dRB_ID, + in template (value) AssociatedQosFlowList p_associatedQosFlowList, + in template (omit) DRBsToQosFlowsMappingItem.iE_Extensions p_iE_Extensions := omit + ) := { + dRB_ID := p_dRB_ID, + associatedQosFlowList := p_associatedQosFlowList, + iE_Extensions := p_iE_Extensions + } // End of template m_dRBsToQosFlowsMappingItem + + template (value) DRBsToQosFlowsMappingItem.iE_Extensions m_dRBsToQosFlowsMappingItem_dAPSRequestInfo( + in template (value) DAPSRequestInfo p_dAPSRequestInfo + ) := { + { + id := id_DAPSRequestInfo, + criticality := ignore, + extensionValue := { DAPSRequestInfo := p_dAPSRequestInfo } + } + } // End of template m_dRBsToQosFlowsMappingItem_dAPSRequestInfo + + template (omit) Dynamic5QIDescriptor m_dynamic5QIDescriptor( + in template (value) PriorityLevelQos p_priorityLevelQos, + in template (value) PacketDelayBudget p_packetDelayBudget, + in template (value) PacketErrorRate p_packetErrorRate, + in template (omit) FiveQI p_fiveQI := omit, + in template (omit) DelayCritical p_delayCritical := omit, + in template (omit) AveragingWindow p_averagingWindow := omit, + in template (omit) MaximumDataBurstVolume p_maximumDataBurstVolume := omit, + in template (omit) Dynamic5QIDescriptor.iE_Extensions p_iE_Extensions := omit + ) := { + priorityLevelQos := p_priorityLevelQos, + packetDelayBudget := p_packetDelayBudget, + packetErrorRate := p_packetErrorRate, + fiveQI := p_fiveQI, + delayCritical := p_delayCritical, + // The above IE shall be present in case of GBR QoS flow + averagingWindow := p_averagingWindow, + // The above IE shall be present in case of GBR QoS flow + maximumDataBurstVolume := p_maximumDataBurstVolume, + iE_Extensions := p_iE_Extensions + } // End of template m_dynamic5QIDescriptor + + template (value) Dynamic5QIDescriptor.iE_Extensions m_dynamic5QIDescriptor_extendedPacketDelayBudget( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_ExtendedPacketDelayBudget, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_dynamic5QIDescriptor_extendedPacketDelayBudget + + template (value) Dynamic5QIDescriptor.iE_Extensions m_dynamic5QIDescriptor_cNPacketDelayBudgetDL( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_CNPacketDelayBudgetDL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_dynamic5QIDescriptor_cNPacketDelayBudgetDL + + template (value) Dynamic5QIDescriptor.iE_Extensions m_dynamic5QIDescriptor_cNPacketDelayBudgetUL( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_CNPacketDelayBudgetUL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_dynamic5QIDescriptor_cNPacketDelayBudgetUL + + template (value) EarlyMeasurement m_earlyMeasurement(in EarlyMeasurement p_value := true_) := p_value; + + template (omit) EarlyStatusTransfer_TransparentContainer m_earlyStatusTransfer_TransparentContainer( + in template (value) ProcedureStageChoice p_procedureStage, + in template (omit) EarlyStatusTransfer_TransparentContainer.iE_Extensions p_iE_Extensions := omit + ) := { + procedureStage := p_procedureStage, + iE_Extensions := p_iE_Extensions + } // End of template m_earlyStatusTransfer_TransparentContainer + + template (value) ProcedureStageChoice m_procedureStageChoice_firstDLCount( + in template (value) FirstDLCount p_firstDLCount + ) := { + first_dl_count := p_firstDLCount + } // End of template m_procedureStageChoice_firstDLCount + + template (value) ProcedureStageChoice m_procedureStageChoice_choice_Extensions( + in template (value) ProcedureStageChoice.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_procedureStageChoice_choice_Extensions + + template (omit) FirstDLCount m_firstDLCount( + in template (value) DRBsSubjectToEarlyStatusTransfer_List p_dRBsSubjectToEarlyStatusTransfer, + in template (omit) FirstDLCount.iE_Extension p_iE_Extension := omit + ) := { + dRBsSubjectToEarlyStatusTransfer := p_dRBsSubjectToEarlyStatusTransfer, + iE_Extension := p_iE_Extension + } // End of template m_firstDLCount + + template (omit) DRBsSubjectToEarlyStatusTransfer_Item m_dRBsSubjectToEarlyStatusTransfer_Item( + in template (value) DRB_ID p_dRB_ID, + in template (value) DRBStatusDL p_firstDLCOUNT, + in template (omit) DRBsSubjectToEarlyStatusTransfer_Item.iE_Extension p_iE_Extension := omit + ) := { + dRB_ID := p_dRB_ID, + firstDLCOUNT := p_firstDLCOUNT, + iE_Extension := p_iE_Extension + } // End of template m_dRBsSubjectToEarlyStatusTransfer_Item + + template (value) EDT_Session m_eDT_Session(in EDT_Session p_value := true_) := p_value; + + template (omit) EmergencyAreaIDBroadcastEUTRA_Item m_emergencyAreaIDBroadcastEUTRA_Item( + in template (value) EmergencyAreaID p_emergencyAreaID, + in template (value) CompletedCellsInEAI_EUTRA p_completedCellsInEAI_EUTRA, + in template (omit) EmergencyAreaIDBroadcastEUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + emergencyAreaID := p_emergencyAreaID, + completedCellsInEAI_EUTRA := p_completedCellsInEAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template m_emergencyAreaIDBroadcastEUTRA_Item + + template (omit) EmergencyAreaIDBroadcastNR_Item m_emergencyAreaIDBroadcastNR_Item( + in template (value) EmergencyAreaID p_emergencyAreaID, + in template (value) CompletedCellsInEAI_NR p_completedCellsInEAI_NR, + in template (omit) EmergencyAreaIDBroadcastNR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + emergencyAreaID := p_emergencyAreaID, + completedCellsInEAI_NR := p_completedCellsInEAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template m_emergencyAreaIDBroadcastNR_Item + + template (omit) EmergencyAreaIDCancelledEUTRA_Item m_emergencyAreaIDCancelledEUTRA_Item( + in template (value) EmergencyAreaID p_emergencyAreaID, + in template (value) CancelledCellsInEAI_EUTRA p_cancelledCellsInEAI_EUTRA, + in template (omit) EmergencyAreaIDCancelledEUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + emergencyAreaID := p_emergencyAreaID, + cancelledCellsInEAI_EUTRA := p_cancelledCellsInEAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template m_emergencyAreaIDCancelledEUTRA_Item + + template (omit) EmergencyAreaIDCancelledNR_Item m_emergencyAreaIDCancelledNR_Item( + in template (value) EmergencyAreaID p_emergencyAreaID, + in template (value) CancelledCellsInEAI_NR p_cancelledCellsInEAI_NR, + in template (omit) EmergencyAreaIDCancelledNR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + emergencyAreaID := p_emergencyAreaID, + cancelledCellsInEAI_NR := p_cancelledCellsInEAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template m_emergencyAreaIDCancelledNR_Item + + template (omit) EmergencyFallbackIndicator m_emergencyFallbackIndicator( + in template (value) EmergencyFallbackRequestIndicator p_emergencyFallbackRequestIndicator, + in template (omit) EmergencyServiceTargetCN p_emergencyServiceTargetCN := omit, + in template (omit) EmergencyFallbackIndicator.iE_Extensions p_iE_Extensions := omit + ) := { + emergencyFallbackRequestIndicator := p_emergencyFallbackRequestIndicator, + emergencyServiceTargetCN := p_emergencyServiceTargetCN, + iE_Extensions := p_iE_Extensions + } // End of template m_emergencyFallbackIndicator + + template (value) EmergencyFallbackRequestIndicator m_emergencyFallbackRequestIndicator(in EmergencyFallbackRequestIndicator p_value := emergency_fallback_requested) := p_value; + + template (value) EmergencyServiceTargetCN m_emergencyServiceTargetCN(in EmergencyServiceTargetCN p_value := fiveGC) := p_value; + + template (value) ENB_ID m_eNB_ID_macroENB_ID( + in template (value) Bit20 p_macroENB_ID + ) := { + macroENB_ID := p_macroENB_ID + } // End of template m_eNB_ID_macroENB_ID + + template (value) ENB_ID m_eNB_ID_homeENB_ID( + in template (value) Bit28 p_homeENB_ID + ) := { + homeENB_ID := p_homeENB_ID + } // End of template m_eNB_ID_homeENB_ID + + template (value) ENB_ID m_eNB_ID_short_macroENB_ID( + in template (value) Bit18 p_short_macroENB_ID + ) := { + short_macroENB_ID := p_short_macroENB_ID + } // End of template m_eNB_ID_short_macroENB_ID + + template (value) ENB_ID m_eNB_ID_long_macroENB_ID( + in template (value) Bit21 p_long_macroENB_ID + ) := { + long_macroENB_ID := p_long_macroENB_ID + } // End of template m_eNB_ID_long_macroENB_ID + + template (value) ENB_ID m_eNB_ID_choice_Extensions( + in template (value) ENB_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_eNB_ID_choice_Extensions + + template (value) Enhanced_CoverageRestriction m_enhanced_CoverageRestriction(in Enhanced_CoverageRestriction p_value := restricted) := p_value; + + template (omit) EndpointIPAddressAndPort m_endpointIPAddressAndPort( + in template (value) TransportLayerAddress p_endpointIPAddress := PX_TRANSPORT_LAYER_ADDRESS, + in template (value) PortNumber p_portNumber, + in template (omit) EndpointIPAddressAndPort.iE_Extensions p_iE_Extensions := omit + ) := { + endpointIPAddress := p_endpointIPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template m_endpointIPAddressAndPort + + template (value) EndIndication m_endIndication(in EndIndication p_value := no_further_data) := p_value; + + template (omit) EPS_TAI m_ePS_TAI( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) EPS_TAC p_ePS_TAC := PX_EPS_TAC, + in template (omit) EPS_TAI.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + ePS_TAC := p_ePS_TAC, + iE_Extensions := p_iE_Extensions + } // End of template m_ePS_TAI + + template (omit) E_RABInformationItem m_e_RABInformationItem( + in template (value) E_RAB_ID p_e_RAB_ID, + in template (value) DLForwarding p_dLForwarding, + in template (omit) E_RABInformationItem.iE_Extensions p_iE_Extensions := omit + ) := { + e_RAB_ID := p_e_RAB_ID, + dLForwarding := p_dLForwarding, + iE_Extensions := p_iE_Extensions + } // End of template m_e_RABInformationItem + + template (omit) E_RABInformationItem.iE_Extensions m_e_RABInformationItem_id_SourceTNLAddrInfo( + in template (value) TransportLayerAddress p_transportLayerAddress := PX_SOURCE_TRANSPORT_LAYER_ADDRESS + ) := { + { + id := id_SourceTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template m_e_RABInformationItem_id_SourceTNLAddrInfo + + template (omit) E_RABInformationItem.iE_Extensions m_e_RABInformationItem_id_SourceNodeTNLAddrInfo( + in template (value) TransportLayerAddress p_transportLayerAddress := PX_SOURCE_TRANSPORT_LAYER_ADDRESS + ) := { + { + id := id_SourceNodeTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template m_e_RABInformationItem_id_SourceNodeTNLAddrInfo + + template (omit) E_RABInformationItem.iE_Extensions m_e_RABInformationItem_full( + in template (value) TransportLayerAddress p_transportLayerAddress_id_SourceTNLAddrInfo := PX_SOURCE_TRANSPORT_LAYER_ADDRESS, + in template (value) TransportLayerAddress p_transportLayerAddress_id_SourceNodeTNLAddrInfo := PX_SOURCE_TRANSPORT_LAYER_ADDRESS + ) := { + { + id := id_SourceTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress_id_SourceTNLAddrInfo } + }, + { + id := id_SourceNodeTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress_id_SourceNodeTNLAddrInfo } + } + } // End of template m_e_RABInformationItem_full + + template (omit) EUTRA_CGI m_uUTRA_CGI( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) EUTRACellIdentity p_eUTRACellIdentity := PX_EUTRA_CELL_IDENTITY, + in template (omit) EUTRA_CGI.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + eUTRACellIdentity := p_eUTRACellIdentity, + iE_Extensions := p_iE_Extensions + } // End of template m_uUTRA_CGI + + template (omit) EUTRA_PagingeDRXInformation m_eUTRA_PagingeDRXInformation( + in template (value) EUTRA_Paging_eDRX_Cycle p_eUTRA_paging_eDRX_Cycle, + in template (omit) EUTRA_Paging_Time_Window p_eUTRA_paging_Time_Window := omit, + in template (omit) EUTRA_PagingeDRXInformation.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_paging_eDRX_Cycle := p_eUTRA_paging_eDRX_Cycle, + eUTRA_paging_Time_Window := p_eUTRA_paging_Time_Window, + iE_Extensions := p_iE_Extensions + } // End of template m_eUTRA_PagingeDRXInformation + + template (value) EUTRA_Paging_eDRX_Cycle m_eUTRA_Paging_eDRX_Cycle(in EUTRA_Paging_eDRX_Cycle p_value := hfhalf) := p_value; + + template (value) EUTRA_Paging_Time_Window m_eUTRA_Paging_Time_Window(in EUTRA_Paging_Time_Window p_value := s1) := p_value; + + template (value) EventType m_eventType(in EventType p_value := direct) := p_value; + + template (omit) ExcessPacketDelayThresholdItem m_excessPacketDelayThresholdItem( + in template (value) FiveQI p_fiveQi, + in template (value) ExcessPacketDelayThresholdValue p_excessPacketDelayThresholdValue, + in template (omit) ExcessPacketDelayThresholdItem.iE_Extensions p_iE_Extensions := omit + ) := { + fiveQi := p_fiveQi, + excessPacketDelayThresholdValue := p_excessPacketDelayThresholdValue, + iE_Extensions := p_iE_Extensions + } // End of template m_excessPacketDelayThresholdItem + + template (value) ExcessPacketDelayThresholdValue m_excessPacketDelayThresholdValue(in ExcessPacketDelayThresholdValue p_value := ms0dot25) := p_value; + + template (value) ExpectedHOInterval m_expectedHOInterval(in ExpectedHOInterval p_value := sec15) := p_value; + + template (omit) ExpectedUEActivityBehaviour m_expectedUEActivityBehaviour( + in template (omit) ExpectedActivityPeriod p_expectedActivityPeriod := omit, + in template (omit) ExpectedIdlePeriod p_expectedIdlePeriod := omit, + in template (omit) SourceOfUEActivityBehaviourInformation p_sourceOfUEActivityBehaviourInformation := omit, + in template (omit) ExpectedUEActivityBehaviour.iE_Extensions p_iE_Extensions := omit + ) := { + expectedActivityPeriod := p_expectedActivityPeriod, + expectedIdlePeriod := p_expectedIdlePeriod, + sourceOfUEActivityBehaviourInformation := p_sourceOfUEActivityBehaviourInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_expectedUEActivityBehaviour + + template (omit) ExpectedUEBehaviour m_expectedUEBehaviour( + in template (omit) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := omit, + in template (omit) ExpectedHOInterval p_expectedHOInterval := omit, + in template (omit) ExpectedUEMobility p_expectedUEMobility := omit, + in template (omit) ExpectedUEMovingTrajectory p_expectedUEMovingTrajectory:= omit, + in template (omit) ExpectedUEBehaviour.iE_Extensions p_iE_Extensions := omit + ) := { + expectedUEActivityBehaviour := p_expectedUEActivityBehaviour, + expectedHOInterval := p_expectedHOInterval, + expectedUEMobility := p_expectedUEMobility, + expectedUEMovingTrajectory := p_expectedUEMovingTrajectory, + iE_Extensions := p_iE_Extensions + } // End of template m_expectedUEBehaviour + + template (value) ExpectedUEMobility m_expectedUEMobility(in ExpectedUEMobility p_value := mobile) := p_value; + + template (omit) ExpectedUEMovingTrajectoryItem m_expectedUEMovingTrajectoryItem( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (omit) ExpectedUEMovingTrajectoryItem.timeStayedInCell p_timeStayedInCell := omit, + in template (omit) ExpectedUEMovingTrajectoryItem.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CGI := p_nGRAN_CGI, + timeStayedInCell := p_timeStayedInCell, + iE_Extensions := p_iE_Extensions + } // End of template m_expectedUEMovingTrajectoryItem + + template (omit) Extended_AMFName m_extended_AMFName( + in template (omit) AMFNameVisibleString p_aMFNameVisibleString := omit, + in template (omit) AMFNameUTF8String p_aMFNameUTF8String := omit, + in template (omit) Extended_AMFName.iE_Extensions p_iE_Extensions := omit + ) := { + aMFNameVisibleString := p_aMFNameVisibleString, + aMFNameUTF8String := p_aMFNameUTF8String, + iE_Extensions := p_iE_Extensions + } // End of template m_extended_AMFName + + template (omit) Extended_RANNodeName m_extended_RANNodeName( + in template (omit) RANNodeNameVisibleString p_rANNodeNameVisibleString := omit, + in template (omit) RANNodeNameUTF8String p_rANNodeNameUTF8String := omit, + in template (omit) Extended_RANNodeName.iE_Extensions p_iE_Extensions := omit + ) := { + rANNodeNameVisibleString := p_rANNodeNameVisibleString, + rANNodeNameUTF8String := p_rANNodeNameUTF8String, + iE_Extensions := p_iE_Extensions + } // End of template m_extended_RANNodeName + + template (omit) ExtendedRATRestrictionInformation m_extendedRATRestrictionInformation( + in template (value) ExtendedRATRestrictionInformation.primaryRATRestriction p_primaryRATRestriction, + in template (value) ExtendedRATRestrictionInformation.secondaryRATRestriction p_secondaryRATRestriction, + in template (omit) ExtendedRATRestrictionInformation.iE_Extensions p_iE_Extensions := omit + ) := { + primaryRATRestriction := p_primaryRATRestriction, + secondaryRATRestriction := p_secondaryRATRestriction, + iE_Extensions := p_iE_Extensions + } // End of template m_extendedRATRestrictionInformation + + template (value) EventTrigger m_eventTrigger_outOfCoverage( + in template (value) EventTrigger.outOfCoverage p_outOfCoverage := true_ + ) := { + outOfCoverage := p_outOfCoverage + } // End of template m_eventTrigger_outOfCoverage + + template (value) EventTrigger m_eventTrigger_eventL1LoggedMDTConfig( + in template (value) EventL1LoggedMDTConfig p_eventL1LoggedMDTConfig + ) := { + eventL1LoggedMDTConfig := p_eventL1LoggedMDTConfig + } // End of template m_eventTrigger_eventL1LoggedMDTConfig + + template (value) EventTrigger m_eventTrigger_choice_Extensions( + in template (value) EventTrigger.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_eventTrigger_choice_Extensions + + template (omit) EventL1LoggedMDTConfig m_eventL1LoggedMDTConfig( + in template (value) MeasurementThresholdL1LoggedMDT p_l1Threshold, + in template (value) Hysteresis p_hysteresis, + in template (value) TimeToTrigger p_timeToTrigger, + in template (omit) EventL1LoggedMDTConfig.iE_Extensions p_iE_Extensions := omit + ) := { + l1Threshold := p_l1Threshold, + hysteresis := p_hysteresis, + timeToTrigger := p_timeToTrigger, + iE_Extensions := p_iE_Extensions + } // End of template m_eventL1LoggedMDTConfig + + template (value) MeasurementThresholdL1LoggedMDT m_measurementThresholdL1LoggedMDT_threshold_RSRP( + in template (value) Threshold_RSRP p_threshold_RSRP + ) := { + threshold_RSRP := p_threshold_RSRP + } // End of template m_measurementThresholdL1LoggedMDT_threshold_RSRP + + template (value) MeasurementThresholdL1LoggedMDT m_measurementThresholdL1LoggedMDT_threshold_RSRQ( + in template (value) Threshold_RSRQ p_threshold_RSRQ + ) := { + threshold_RSRQ := p_threshold_RSRQ + } // End of template m_measurementThresholdL1LoggedMDT_threshold_RSRQ + + template (value) MeasurementThresholdL1LoggedMDT m_measurementThresholdL1LoggedMDT_choice_Extensions( + in template (value) MeasurementThresholdL1LoggedMDT.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_measurementThresholdL1LoggedMDT_choice_Extensions + + template (omit) FailureIndication m_failureIndication( + in template (value) UERLFReportContainer p_uERLFReportContainer, + in template (omit) FailureIndication.iE_Extensions p_iE_Extensions := omit + ) := { + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template m_failureIndication + + template (omit) FiveG_ProSeAuthorized m_FiveG_ProSeAuthorized( + in template (omit) FiveGProSeDirectDiscovery p_fiveGProSeDirectDiscovery := omit, + in template (omit) FiveGProSeDirectCommunication p_fiveGProSeDirectCommunication := omit, + in template (omit) FiveGProSeLayer2UEtoNetworkRelay p_fiveGProSeLayer2UEtoNetworkRelay := omit, + in template (omit) FiveGProSeLayer3UEtoNetworkRelay p_fiveGProSeLayer3UEtoNetworkRelay := omit, + in template (omit) FiveGProSeLayer2RemoteUE p_fiveGProSeLayer2RemoteUE := omit, + in template (omit) FiveG_ProSeAuthorized.iE_Extensions p_iE_Extensions := omit + ) := { + fiveGProSeDirectDiscovery := p_fiveGProSeDirectDiscovery, + fiveGProSeDirectCommunication := p_fiveGProSeDirectCommunication, + fiveGProSeLayer2UEtoNetworkRelay := p_fiveGProSeLayer2UEtoNetworkRelay, + fiveGProSeLayer3UEtoNetworkRelay := p_fiveGProSeLayer3UEtoNetworkRelay, + fiveGProSeLayer2RemoteUE := p_fiveGProSeLayer2RemoteUE, + iE_Extensions := p_iE_Extensions + } // End of template m_FiveG_ProSeAuthorized + + template (value) FiveGProSeDirectDiscovery m_fiveGProSeDirectDiscovery(in FiveGProSeDirectDiscovery p_value := authorized) := p_value; + + template (value) FiveGProSeDirectCommunication m_fiveGProSeDirectCommunication(in FiveGProSeDirectCommunication p_value := authorized) := p_value; + + template (value) FiveGProSeLayer2UEtoNetworkRelay m_fiveGProSeLayer2UEtoNetworkRelay(in FiveGProSeLayer2UEtoNetworkRelay p_value := authorized) := p_value; + + template (value) FiveGProSeLayer3UEtoNetworkRelay m_fiveGProSeLayer3UEtoNetworkRelay(in FiveGProSeLayer3UEtoNetworkRelay p_value := authorized) := p_value; + + template (value) FiveGProSeLayer2RemoteUE m_fiveGProSeLayer2RemoteUE(in FiveGProSeLayer2RemoteUE p_value := authorized) := p_value; + + template (omit) FiveG_ProSePC5QoSParameters m_fiveG_ProSePC5QoSParameters( + in template (value) FiveGProSePC5QoSFlowList p_fiveGProSepc5QoSFlowList, + in template (omit) BitRate p_fiveGProSepc5LinkAggregateBitRates := omit, + in template (omit) FiveG_ProSePC5QoSParameters.iE_Extensions p_iE_Extensions := omit + ) := { + fiveGProSepc5QoSFlowList := p_fiveGProSepc5QoSFlowList, + fiveGProSepc5LinkAggregateBitRates := p_fiveGProSepc5LinkAggregateBitRates, + iE_Extensions := p_iE_Extensions + } // End of template m_fiveG_ProSePC5QoSParameters + + template (omit) FiveGProSePC5QoSFlowItem m_fiveGProSePC5QoSFlowItem( + in template (value) FiveQI p_fiveGproSepQI, + in template (omit) FiveGProSePC5FlowBitRates p_fiveGproSepc5FlowBitRates := omit, + in template (omit) Range p_fiveGproSerange := omit, + in template (omit) FiveGProSePC5QoSFlowItem.iE_Extensions p_iE_Extensions := omit + ) := { + fiveGproSepQI := p_fiveGproSepQI, + fiveGproSepc5FlowBitRates := p_fiveGproSepc5FlowBitRates, + fiveGproSerange := p_fiveGproSerange, + iE_Extensions := p_iE_Extensions + } // End of template m_fiveGProSePC5QoSFlowItem + + template (omit) FiveGProSePC5FlowBitRates m_fiveGProSePC5FlowBitRates( + in template (value) BitRate p_fiveGproSeguaranteedFlowBitRate, + in template (value) BitRate p_fiveGproSemaximumFlowBitRate, + in template (omit) FiveGProSePC5FlowBitRates.iE_Extensions p_iE_Extensions := omit + ) := { + fiveGproSeguaranteedFlowBitRate := p_fiveGproSeguaranteedFlowBitRate, + fiveGproSemaximumFlowBitRate := p_fiveGproSemaximumFlowBitRate, + iE_Extensions := p_iE_Extensions + } // End of template m_fiveGProSePC5FlowBitRates + + template (omit) FiveG_S_TMSI m_fiveG_S_TMSI( + in template (value) AMFSetID p_aMFSetID := PX_AMF_SET_ID, + in template (value) AMFPointer p_aMFPointer := PX_AMF_POINTER, + in template (value) FiveG_TMSI p_fiveG_TMSI, + in template (omit) FiveG_S_TMSI.iE_Extensions p_iE_Extensions := omit + ) := { + aMFSetID := p_aMFSetID, + aMFPointer := p_aMFPointer, + fiveG_TMSI := p_fiveG_TMSI, + iE_Extensions := p_iE_Extensions + } // End of template m_fiveG_S_TMSI + + template (omit) ForbiddenAreaInformation_Item m_forbiddenAreaInformation_Item( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) ForbiddenTACs p_forbiddenTACs, + in template (omit) ForbiddenAreaInformation_Item.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + forbiddenTACs := p_forbiddenTACs, + iE_Extensions := p_iE_Extensions + } // End of template m_forbiddenAreaInformation_Item + + template (omit) FromEUTRANtoNGRAN m_fromEUTRANtoNGRAN( + in template (value) IntersystemSONeNBID p_sourceeNBID, + in template (value) IntersystemSONNGRANnodeID p_targetNGRANnodeID, + in template (omit) FromEUTRANtoNGRAN.iE_Extensions p_iE_Extensions := omit + ) := { + sourceeNBID := p_sourceeNBID, + targetNGRANnodeID := p_targetNGRANnodeID, + iE_Extensions := p_iE_Extensions + } // End of template m_fromEUTRANtoNGRAN + + template (omit) FromNGRANtoEUTRAN m_fromNGRANtoEUTRAN( + in template (value) IntersystemSONNGRANnodeID p_sourceNGRANnodeID, + in template (value) IntersystemSONeNBID p_targeteNBID, + in template (omit) FromNGRANtoEUTRAN.iE_Extensions p_iE_Extensions := omit + ) := { + sourceNGRANnodeID := p_sourceNGRANnodeID, + targeteNBID := p_targeteNBID, + iE_Extensions := p_iE_Extensions + } // End of template m_fromNGRANtoEUTRAN + + template (omit) GBR_QosInformation m_gBR_QosInformation( + in template (value) BitRate p_maximumFlowBitRateDL, + in template (value) BitRate p_maximumFlowBitRateUL, + in template (value) BitRate p_guaranteedFlowBitRateDL, + in template (value) BitRate p_guaranteedFlowBitRateUL, + in template (omit) NotificationControl p_notificationControl := omit, + in template (omit) PacketLossRate p_maximumPacketLossRateDL := omit, + in template (omit) PacketLossRate p_maximumPacketLossRateUL := omit, + in template (omit) GBR_QosInformation.iE_Extensions p_iE_Extensions := omit + ) := { + maximumFlowBitRateDL := p_maximumFlowBitRateDL, + maximumFlowBitRateUL := p_maximumFlowBitRateUL, + guaranteedFlowBitRateDL := p_guaranteedFlowBitRateDL, + guaranteedFlowBitRateUL := p_guaranteedFlowBitRateUL, + notificationControl := p_notificationControl, + maximumPacketLossRateDL := p_maximumPacketLossRateDL, + maximumPacketLossRateUL := p_maximumPacketLossRateUL, + iE_Extensions := p_iE_Extensions + } // End of template m_gBR_QosInformation + + template (value) GBR_QosInformation.iE_Extensions m_gBR_QosInformation_id_AlternativeQoSParaSetList( + in template (value) AlternativeQoSParaSetList p_alternativeQoSParaSetList + ) := { + { + id := id_AlternativeQoSParaSetList, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetList := p_alternativeQoSParaSetList} + } + } // End of template m_gBR_QosInformation_id_AlternativeQoSParaSetList + + template (omit) GlobalCable_ID_new m_globalCable_ID_new( + in template (value) GlobalCable_ID p_globalCable_ID, + in template (value) TAI p_tAI, + in template (omit) GlobalCable_ID_new.iE_Extensions p_iE_Extensions := omit + ) := { + globalCable_ID := p_globalCable_ID, + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template m_globalCable_ID_new + + template (omit) GlobalGNB_ID m_ie_globalGnbId( + in template (value) PLMNIdentity p_plmnId := PX_PLMN_IDENTITY, + in template (value) bitstring p_gnbId := PX_GNB_ID, + in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_plmnId,//'010001'O, + gNB_ID := { gNB_ID := p_gnbId/*'0000000000000000000000'B*/}, + iE_Extensions := p_iE_Extensions + } // End of template m_ie_globalGnbId + + template (omit) GlobalN3IWF_ID m_globalN3IWF_ID( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) N3IWF_ID p_n3IWF_ID, + in template (omit) GlobalN3IWF_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + n3IWF_ID := p_n3IWF_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_globalN3IWF_ID + + template (omit) GlobalLine_ID m_globalLine_ID( + in template (value) GlobalLineIdentity p_globalLineIdentity, + in template (omit) LineType p_lineType := omit, + in template (omit) GlobalLine_ID.iE_Extensions p_iE_Extensions := omit + ) := { + globalLineIdentity := p_globalLineIdentity, + lineType := p_lineType, + iE_Extensions := p_iE_Extensions + } // End of template m_globalLine_ID + + template (value) GlobalLine_ID.iE_Extensions m_globalLine_ID_id_TAI(in template (value) TAI p_tAI) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template m_globalLine_ID_id_TAI + + template (omit) GlobalNgENB_ID m_globalNgENB_ID( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) NgENB_ID p_ngENB_ID, + in template (omit) GlobalNgENB_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + ngENB_ID := p_ngENB_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_globalNgENB_ID + + template (value) GlobalRANNodeID m_globalRANNodeID_globalGNB_ID( + in template (value) GlobalGNB_ID p_globalGNB_ID + ) := { + globalGNB_ID := p_globalGNB_ID + } // End of template m_globalRANNodeID_globalGNB_ID + + template (value) GlobalRANNodeID m_globalRANNodeID_globalNgENB_ID( + in template (value) GlobalNgENB_ID p_globalNgENB_ID + ) := { + globalNgENB_ID := p_globalNgENB_ID + } // End of template m_globalRANNodeID_globalNgENB_ID + + template (value) GlobalRANNodeID m_globalRANNodeID_globalN3IWF_ID( + in template (value) GlobalN3IWF_ID p_globalN3IWF_ID + ) := { + globalN3IWF_ID := p_globalN3IWF_ID + } // End of template m_globalRANNodeID_globalN3IWF_ID + + template (value) GlobalRANNodeID m_globalRANNodeID_choice_Extensions( + in template (value) GlobalRANNodeID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_globalRANNodeID_choice_Extensions + + template (value) GlobalRANNodeID.choice_Extensions m_globalRANNodeID_id_GlobalTNGF_ID( + in template (value) GlobalTNGF_ID p_globalTNGF_ID + ) := { + id := id_GlobalTNGF_ID, + criticality := reject, + value_ := { GlobalTNGF_ID := p_globalTNGF_ID } + } // End of template m_globalRANNodeID_id_GlobalTNGF_ID + + template (value) GlobalRANNodeID.choice_Extensions m_globalRANNodeID_id_GlobalTWIF_ID( + in template (value) GlobalTNGF_ID p_globalTWIF_ID + ) := { + id := id_GlobalTWIF_ID, + criticality := reject, + value_ := { GlobalTNGF_ID := p_globalTWIF_ID } + } // End of template m_globalRANNodeID_id_GlobalTWIF_ID + + template (value) GlobalRANNodeID.choice_Extensions m_globalRANNodeID_id_GlobalW_AGF_ID( + in template (value) GlobalW_AGF_ID p_globalW_AGF_ID + ) := { + id := id_GlobalW_AGF_ID, + criticality := reject, + value_ := { GlobalW_AGF_ID := p_globalW_AGF_ID } + } // End of template m_globalRANNodeID_id_GlobalW_AGF_ID + + // template (value) GlobalRANNodeID.choice_Extensions m_globalRANNodeID_all( + // in template (value) GlobalTNGF_ID p_globalTNGF_ID, + // in template (value) GlobalTWIF_ID p_globalTWIF_ID, + // in template (value) GlobalW_AGF_ID p_globalW_AGF_ID + // ) := { + // { + // id := id_GlobalTNGF_ID, + // criticality := reject, + // value_ := { GlobalTNGF_ID := p_globalTNGF_ID } + // }, + // { + // id := id_GlobalTWIF_ID, + // criticality := reject, + // value_ := { GlobalTNGF_ID := p_globalTWIF_ID } + // }, + // { + // id := id_GlobalW_AGF_ID, + // criticality := reject, + // value_ := { GlobalW_AGF_ID := p_globalW_AGF_ID } + // } + // } // End of template m_globalRANNodeID_all + + template (omit) GlobalTNGF_ID m_globalTNGF_ID( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) TNGF_ID p_tNGF_ID, + in template (omit) GlobalTNGF_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + tNGF_ID := p_tNGF_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_globalTNGF_ID + + template (omit) GlobalTWIF_ID m_globalTWIF_ID( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) TWIF_ID p_tWIF_ID, + in template (omit) GlobalTWIF_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + tWIF_ID := p_tWIF_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_globalTWIF_ID + + template (omit) GlobalW_AGF_ID m_GlobalW_AGF_ID( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) W_AGF_ID p_w_AGF_ID, + in template (omit) GlobalW_AGF_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + w_AGF_ID := p_w_AGF_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_GlobalW_AGF_ID + + template (value) GNB_ID m_gNB_ID_gNB_ID( + in template (value) GNB_ID.gNB_ID p_gNB_ID + ) := { + gNB_ID := p_gNB_ID + } // End of template m_gNB_ID_gNB_ID + + template (value) GNB_ID m_gNB_ID_choice_Extensions( + in template (value) GNB_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_gNB_ID_choice_Extensions + + template (omit) GTPTunnel m_gTPTunnel( + in template (value) TransportLayerAddress p_tla := PX_TRANSPORT_LAYER_ADDRESS, + in template (value) GTP_TEID p_gtp_teid := PX_GTP_TEID, + in template (omit) GTPTunnel.iE_Extensions p_iE_Extensions := omit + ):= { + transportLayerAddress := p_tla, + gTP_TEID := p_gtp_teid, + iE_Extensions := p_iE_Extensions + } // End of template m_gTPTunnel + + template (omit) GUAMI m_gUAMI( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) AMFRegionID p_aMFRegionID := PX_AMF_REGION_ID, + in template (value) AMFSetID p_aMFSetID := PX_AMF_SET_ID, + in template (value) AMFPointer p_aMFPointer := PX_AMF_POINTER, + in template (omit) GUAMI.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + aMFRegionID := p_aMFRegionID, + aMFSetID := p_aMFSetID, + aMFPointer := p_aMFPointer, + iE_Extensions := p_iE_Extensions + } // End of template m_gUAMI + + template (value) GUAMIType m_gUAMIType(in GUAMIType p_val := native) := p_val; + + template (omit) HandoverCommandTransfer m_handoverCommandTransfer( + in template (omit) UPTransportLayerInformation p_dLForwardingUP_TNLInformation := omit, + in template (omit) QosFlowToBeForwardedList p_qosFlowToBeForwardedList := omit, + in template (omit) DataForwardingResponseDRBList p_dataForwardingResponseDRBList := omit, + in template (omit) HandoverCommandTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + qosFlowToBeForwardedList := p_qosFlowToBeForwardedList, + dataForwardingResponseDRBList := p_dataForwardingResponseDRBList, + iE_Extensions := p_iE_Extensions + } // End of template m_handoverCommandTransfer + + template (value) HandoverCommandTransfer.iE_Extensions m_handoverCommandTransfer_id_AdditionalDLForwardingUPTNLInformation( + in template (value) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList + ) := { + { + id := id_AdditionalDLForwardingUPTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template m_handoverCommandTransfer_id_AdditionalDLForwardingUPTNLInformation + + template (value) HandoverCommandTransfer.iE_Extensions m_handoverCommandTransfer_id_ULForwardingUP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_ULForwardingUP_TNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_handoverCommandTransfer_id_ULForwardingUP_TNLInformation + + template (value) HandoverCommandTransfer.iE_Extensions m_handoverCommandTransfer_id_AdditionalULForwardingUPTNLInformation( + in template (value) UPTransportLayerInformationList p_uPTransportLayerInformationList + ) := { + { + id := id_AdditionalULForwardingUPTNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template m_handoverCommandTransfer_id_AdditionalULForwardingUPTNLInformation + + template (value) HandoverCommandTransfer.iE_Extensions m_handoverCommandTransfer_id_DataForwardingResponseERABList( + in template (value) DataForwardingResponseERABList p_dataForwardingResponseERABList + ) := { + { + id := id_DataForwardingResponseERABList, + criticality := ignore, + extensionValue := { DataForwardingResponseERABList := p_dataForwardingResponseERABList } + } + } // End of template m_handoverCommandTransfer_id_DataForwardingResponseERABList + + template (value) HandoverCommandTransfer.iE_Extensions m_handoverCommandTransfer_id_QosFlowFailedToSetupList( + in template (value) QosFlowListWithCause p_qosFlowListWithCause + ) := { + { + id := id_QosFlowFailedToSetupList, + criticality := ignore, + extensionValue := { QosFlowListWithCause := p_qosFlowListWithCause } + } + } // End of template m_handoverCommandTransfer_id_QosFlowFailedToSetupList + + template (value) HandoverFlag m_handoverFlag(in HandoverFlag p_val := handover_preparation) := p_val; + + template (omit) HandoverPreparationUnsuccessfulTransfer m_mandoverPreparationUnsuccessfulTransfer( + in template (value) Cause p_cause, + in template (omit) HandoverPreparationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_mandoverPreparationUnsuccessfulTransfer + + template (omit) HandoverRequestAcknowledgeTransfer m_handoverRequestAcknowledgeTransfer( + in template (value) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation, + in template (value) QosFlowListWithDataForwarding p_qosFlowSetupResponseList, + in template (omit) UPTransportLayerInformation p_dLForwardingUP_TNLInformation := omit, + in template (omit) SecurityResult p_securityResult := omit, + in template (omit) QosFlowListWithCause p_qosFlowFailedToSetupList := omit, + in template (omit) DataForwardingResponseDRBList p_dataForwardingResponseDRBList := omit, + in template (omit) HandoverRequestAcknowledgeTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + securityResult := p_securityResult, + qosFlowSetupResponseList := p_qosFlowSetupResponseList, + qosFlowFailedToSetupList := p_qosFlowFailedToSetupList, + dataForwardingResponseDRBList := p_dataForwardingResponseDRBList, + iE_Extensions := p_iE_Extensions + } // End of template m_handoverRequestAcknowledgeTransfer + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_AdditionalDLUPTNLInformationForHOList( + in template (value) AdditionalDLUPTNLInformationForHOList p_additionalDLUPTNLInformationForHOList + ) := { + { + id := id_AdditionalDLUPTNLInformationForHOList, + criticality := reject, + extensionValue := { AdditionalDLUPTNLInformationForHOList := p_additionalDLUPTNLInformationForHOList } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_AdditionalDLUPTNLInformationForHOList + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_ULForwardingUP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_ULForwardingUP_TNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_ULForwardingUP_TNLInformation + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_AdditionalULForwardingUPTNLInformation( + in template (value) UPTransportLayerInformationList p_uPTransportLayerInformationList + ) := { + { + id := id_AdditionalULForwardingUPTNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_AdditionalULForwardingUPTNLInformation + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_DataForwardingResponseERABList( + in template (value) DataForwardingResponseERABList p_dataForwardingResponseERABList + ) := { + { + id := id_DataForwardingResponseERABList, + criticality := ignore, + extensionValue := { DataForwardingResponseERABList := p_dataForwardingResponseERABList } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_DataForwardingResponseERABList + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_RedundantDL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_RedundantDL_NGU_UP_TNLInformation + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_UsedRSNInformation( + in template (value) RedundantPDUSessionInformation p_redundantPDUSessionInformation + ) := { + { + id := id_UsedRSNInformation, + criticality := ignore, + extensionValue := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_UsedRSNInformation + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_GlobalRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_GlobalRANNodeID + + template (value) HandoverRequestAcknowledgeTransfer.iE_Extensions m_handoverRequestAcknowledgeTransfer_id_MBS_SupportIndicator( + in template (value) MBS_SupportIndicator p_mBS_SupportIndicator + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template m_handoverRequestAcknowledgeTransfer_id_MBS_SupportIndicator + + template (omit) HandoverRequiredTransfer m_handoverRequiredTransfer( + in template (omit) DirectForwardingPathAvailability p_directForwardingPathAvailability := omit, + in template (omit) HandoverRequiredTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + directForwardingPathAvailability := p_directForwardingPathAvailability, + iE_Extensions := p_iE_Extensions + } // End of template m_handoverRequiredTransfer + + template (omit) HandoverResourceAllocationUnsuccessfulTransfer m_handoverResourceAllocationUnsuccessfulTransfer( + in template (value) Cause p_cause, + in template (omit) CriticalityDiagnostics p_criticalityDiagnostics := omit, + in template (omit) HandoverResourceAllocationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template m_handoverResourceAllocationUnsuccessfulTransfer + + template (value) HandoverType m_handoverType(in HandoverType p_value := intra5gs) := p_value; + + template (omit) HFCNode_ID_new m_hFCNode_ID_new( + in template (value) HFCNode_ID p_hFCNode_ID, + in template (value) TAI p_tAI, + in template (omit) HFCNode_ID_new.iE_Extensions p_iE_Extensions := omit + ) := { + hFCNode_ID := p_hFCNode_ID, + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template m_hFCNode_ID_new + + template (omit) HOReport m_hOReport( + in template (value) HOReport.handoverReportType p_handoverReportType := ho_too_early, + in template (value) Cause p_handoverCause, + in template (value) NGRAN_CGI p_sourcecellCGI, + in template (value) NGRAN_CGI p_targetcellCGI, + in template (omit) NGRAN_CGI p_reestablishmentcellCGI, + in template (omit) Bit16 p_sourcecellC_RNTI := omit, + in template (omit) EUTRA_CGI p_targetcellinE_UTRAN := omit, + in template (omit) MobilityInformation p_mobilityInformation := omit, + in template (omit) UERLFReportContainer p_uERLFReportContainer := omit, + in template (omit) HOReport.iE_Extensions p_iE_Extensions := omit + ) := { + handoverReportType := p_handoverReportType, + handoverCause := p_handoverCause, + sourcecellCGI := p_sourcecellCGI, + targetcellCGI := p_targetcellCGI, + reestablishmentcellCGI := p_reestablishmentcellCGI, + // The above IE shall be present if the Handover Report Type IE is set to the value "HO to wrong cell" + sourcecellC_RNTI := p_sourcecellC_RNTI, + targetcellinE_UTRAN := p_targetcellinE_UTRAN, + // The above IE shall be present if the Handover Report Type IE is set to the value "Inter System ping_pong" + mobilityInformation := p_mobilityInformation, + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template m_hOReport + + template (value) IAB_Authorized m_iAB_Authorized(in IAB_Authorized p_value := authorized) := p_value; + + template (value) IAB_Supported m_iAB_Supported(in IAB_Supported p_value := true_) := p_value; + + template (value) IABNodeIndication m_iABNodeIndication(in IABNodeIndication p_value := true_) := p_value; + + template (value) IMSVoiceSupportIndicator m_iMSVoiceSupportIndicator(in IMSVoiceSupportIndicator p_value := supported) := p_value; + + template (omit) InfoOnRecommendedCellsAndRANNodesForPaging m_infoOnRecommendedCellsAndRANNodesForPaging( + in template (value) RecommendedCellsForPaging p_recommendedCellsForPaging, + in template (value) RecommendedRANNodesForPaging p_recommendRANNodesForPaging, + in template (omit) InfoOnRecommendedCellsAndRANNodesForPaging.iE_Extensions p_iE_Extensions := omit + ) := { + recommendedCellsForPaging := p_recommendedCellsForPaging, + recommendRANNodesForPaging := p_recommendRANNodesForPaging, + iE_Extensions := p_iE_Extensions + } // End of template m_infoOnRecommendedCellsAndRANNodesForPaging + + template (value) IntegrityProtectionIndication m_integrityProtectionIndication(in IntegrityProtectionIndication p_value := required) := p_value; + + template (value) IntegrityProtectionResult m_integrityProtectionResult(in IntegrityProtectionResult p_value := performed) := p_value; + + template (omit) ImmediateMDTNr m_immediateMDTNr( + in template (value) MeasurementsToActivate p_measurementsToActivate, + in template (omit) M1Configuration p_m1Configuration := omit, + in template (omit) M4Configuration p_m4Configuration := omit, + in template (omit) M5Configuration p_m5Configuration := omit, + in template (omit) M6Configuration p_m6Configuration := omit, + in template (omit) M7Configuration p_m7Configuration := omit, + in template (omit) BluetoothMeasurementConfiguration p_bluetoothMeasurementConfiguration := omit, + in template (omit) WLANMeasurementConfiguration p_wLANMeasurementConfiguration := omit, + in template (omit) MDT_Location_Info p_mDT_Location_Info := omit, + in template (omit) SensorMeasurementConfiguration p_sensorMeasurementConfiguration := omit, + in template (omit) ImmediateMDTNr.iE_Extensions p_iE_Extensions := omit + ) := { + measurementsToActivate := p_measurementsToActivate, + m1Configuration := p_m1Configuration, + // The above IE shall be present if the Measurements to Activate IE has the first bit set to “1” + m4Configuration := p_m4Configuration, + // The above IE shall be present if the Measurements to Activate IE has the third bit set to “1” + m5Configuration := p_m5Configuration, + // The above IE shall be present if the Measurements to Activate IE has the fourth bit set to “1” + m6Configuration := p_m6Configuration, + // The above IE shall be present if the Measurements to Activate IE has the fifth bit set to “1” + m7Configuration := p_m7Configuration, + // The above IE shall be present if the Measurements to Activate IE has the sixth bit set to “1” + bluetoothMeasurementConfiguration := p_bluetoothMeasurementConfiguration, + wLANMeasurementConfiguration := p_wLANMeasurementConfiguration, + mDT_Location_Info := p_mDT_Location_Info, + sensorMeasurementConfiguration := p_sensorMeasurementConfiguration, + iE_Extensions := p_iE_Extensions + } // End of template m_immediateMDTNr + + template (omit) InterSystemFailureIndication m_interSystemFailureIndication( + in template (omit) UERLFReportContainer p_uERLFReportContainer := omit, + in template (omit) InterSystemFailureIndication.iE_Extensions p_iE_Extensions := omit + ) := { + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template m_interSystemFailureIndication + + template (omit) IntersystemSONConfigurationTransfer m_intersystemSONConfigurationTransfer( + in template (value) IntersystemSONTransferType p_transferType, + in template (value) IntersystemSONInformation p_intersystemSONInformation, + in template (omit) IntersystemSONConfigurationTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + transferType := p_transferType, + intersystemSONInformation := p_intersystemSONInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemSONConfigurationTransfer + + template (value) IntersystemSONTransferType m_intersystemSONTransferType_fromEUTRANtoNGRAN( + in template (value) FromEUTRANtoNGRAN p_fromEUTRANtoNGRAN + ) := { + fromEUTRANtoNGRAN := p_fromEUTRANtoNGRAN + } // End of template m_intersystemSONTransferType_fromEUTRANtoNGRAN + + template (value) IntersystemSONTransferType m_intersystemSONTransferType_fromNGRANtoEUTRAN( + in template (value) FromNGRANtoEUTRAN p_fromNGRANtoEUTRAN + ) := { + fromNGRANtoEUTRAN := p_fromNGRANtoEUTRAN + } // End of template m_intersystemSONTransferType_fromNGRANtoEUTRAN + + template (value) IntersystemSONTransferType m_intersystemSONTransferType_choice_Extensions( + in template (value) IntersystemSONTransferType.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_intersystemSONTransferType_choice_Extensions + + template (value) IntersystemSONeNBID m_intersystemSONeNBID( + in template (value) GlobalENB_ID p_globaleNBID, + in template (value) EPS_TAI p_selectedEPSTAI, + in template (omit) IntersystemSONeNBID.iE_Extensions p_iE_Extensions := omit + ) := { + globaleNBID := p_globaleNBID, + selectedEPSTAI := p_selectedEPSTAI, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemSONeNBID + + template (value) IntersystemSONNGRANnodeID m_intersystemSONNGRANnodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) TAI p_selectedTAI, + in template (omit) IntersystemSONNGRANnodeID.iE_Extensions p_iE_Extensions := omit + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemSONNGRANnodeID + + template (value) IntersystemSONInformation m_intersystemSONInformation_intersystemSONInformationReport( + in template (value) IntersystemSONInformationReport p_intersystemSONInformationReport + ) := { + intersystemSONInformationReport := p_intersystemSONInformationReport + } // End of template m_intersystemSONInformation_intersystemSONInformationReport + + template (value) IntersystemSONInformation m_intersystemSONInformation_choice_Extensions( + in template (value) IntersystemSONInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_intersystemSONInformation_choice_Extensions + + template (value) IntersystemSONInformation.choice_Extensions m_intersystemSONInformation_id_IntersystemSONInformationRequest( + in template (value) IntersystemSONInformationRequest p_intersystemSONInformationRequest + ) := { + id := id_IntersystemSONInformationRequest, + criticality := ignore, + value_ := { IntersystemSONInformationRequest := p_intersystemSONInformationRequest } + } // End of template m_intersystemSONInformation_id_IntersystemSONInformationRequest + + template (value) IntersystemSONInformation.choice_Extensions m_intersystemSONInformation_id_IntersystemSONInformationReply( + in template (value) IntersystemSONInformationReply p_intersystemSONInformationReply + ) := { + id := id_IntersystemSONInformationReply, + criticality := ignore, + value_ := { IntersystemSONInformationReply := p_intersystemSONInformationReply } + } // End of template m_intersystemSONInformation_id_IntersystemSONInformationReply + + template (value) IntersystemSONInformationRequest m_intersystemSONInformationRequest_nGRAN_CellActivation( + in template (value) IntersystemCellActivationRequest p_nGRAN_CellActivation + ) := { + nGRAN_CellActivation := p_nGRAN_CellActivation + } // End of template m_intersystemSONInformationRequest_nGRAN_CellActivation + + template (value) IntersystemSONInformationRequest m_intersystemSONInformationRequest_resourceStatus( + in template (value) IntersystemResourceStatusRequest p_resourceStatus + ) := { + resourceStatus := p_resourceStatus + } // End of template m_intersystemSONInformationRequest_resourceStatus + + template (value) IntersystemSONInformationRequest m_intersystemSONInformationRequest_choice_Extensions( + in template (value) IntersystemSONInformationRequest.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_intersystemSONInformationRequest_choice_Extensions + + template (omit) IntersystemCellActivationRequest m_intersystemCellActivationRequest( + in template (value) IntersystemCellActivationRequest.activationID p_activationID, + in template (value) CellsToActivateList p_cellsToActivateList, + in template (omit) IntersystemCellActivationRequest.iE_Extensions p_iE_Extensions := omit + ) := { + activationID := p_activationID, + cellsToActivateList := p_cellsToActivateList, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemCellActivationRequest + + template (omit) IntersystemResourceStatusRequest m_intersystemResourceStatusRequest( + in template (value) ReportingSystem p_reportingSystem, + in template (value) ReportCharacteristics p_reportCharacteristics, + in template (value) ReportType p_reportType, + in template (omit) IntersystemResourceStatusRequest.iE_Extensions p_iE_Extensions := omit + ) := { + reportingSystem := p_reportingSystem, + reportCharacteristics := p_reportCharacteristics, + reportType := p_reportType, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemResourceStatusRequest + + template (value) ReportingSystem m_reportingSystem_eUTRAN( + in template (value) EUTRAN_ReportingSystemIEs p_eUTRAN + ) := { + eUTRAN := p_eUTRAN + } // End of template m_reportingSystem_eUTRAN + + template (value) ReportingSystem m_reportingSystem_nGRAN( + in template (value) NGRAN_ReportingSystemIEs p_nGRAN + ) := { + nGRAN := p_nGRAN + } // End of template m_reportingSystem_nGRAN + + template (value) ReportingSystem m_reportingSystem_choice_Extensions( + in template (value) ReportingSystem.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_reportingSystem_choice_Extensions + + template (omit) EUTRAN_ReportingSystemIEs m_eUTRAN_ReportingSystemIEs( + in template (value) EUTRAN_CellToReportList p_eUTRAN_CellToReportList, + in template (omit) EUTRAN_ReportingSystemIEs.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRAN_CellToReportList := p_eUTRAN_CellToReportList, + iE_Extensions := p_iE_Extensions + } // End of template m_eUTRAN_ReportingSystemIEs + + template (omit) NGRAN_ReportingSystemIEs m_nGRAN_ReportingSystemIEs( + in template (value) NGRAN_CellToReportList p_nGRAN_CellToReportList, + in template (omit) NGRAN_ReportingSystemIEs.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CellToReportList := p_nGRAN_CellToReportList, + iE_Extensions := p_iE_Extensions + } // End of template m_nGRAN_ReportingSystemIEs + + template (omit) EUTRAN_CellToReportItem m_eUTRAN_CellToReportItem( + in template (value) EUTRA_CGI p_eCGI, + in template (omit) EUTRAN_CellToReportItem.iE_Extensions p_iE_Extensions := omit + ) := { + eCGI := p_eCGI, + iE_Extensions := p_iE_Extensions + } // End of template m_eUTRAN_CellToReportItem + + template (omit) NGRAN_CellToReportItem m_nGRAN_CellToReportItem( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (omit) NGRAN_CellToReportItem.iE_Extensions p_iE_Extensions := omit + ):= { + nGRAN_CGI := p_nGRAN_CGI, + iE_Extensions := p_iE_Extensions + } // End of template m_nGRAN_CellToReportItem + + template (value) ReportType m_reportType_eventBasedReporting( + in template (value) EventBasedReportingIEs p_eventBasedReporting + ) := { + eventBasedReporting := p_eventBasedReporting + } // End of template m_reportType_eventBasedReporting + + template (value) ReportType m_reportType_periodicReporting( + in template (value) PeriodicReportingIEs p_periodicReporting + ) := { + periodicReporting := p_periodicReporting + } // End of template m_reportType_periodicReporting + + template (value) ReportType m_reportType_choice_Extensions( + in template (value) ReportType.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_reportType_choice_Extensions + + template (value) EventBasedReportingIEs m_eventBasedReportingIEs( + in template (value) IntersystemResourceThreshold p_intersystemResourceThresholdLow, + in template (value) IntersystemResourceThreshold p_intersystemResourceThresholdHigh, + in template (value)NumberOfMeasurementReportingLevels p_numberOfMeasurementReportingLevels, + in template (omit) EventBasedReportingIEs.iE_Extensions p_iE_Extensions := omit + ) := { + intersystemResourceThresholdLow := p_intersystemResourceThresholdLow, + intersystemResourceThresholdHigh := p_intersystemResourceThresholdHigh, + numberOfMeasurementReportingLevels := p_numberOfMeasurementReportingLevels, + iE_Extensions := p_iE_Extensions + } // End of template m_eventBasedReportingIEs + + template (value) NumberOfMeasurementReportingLevels m_numberOfMeasurementReportingLevels(in NumberOfMeasurementReportingLevels p_value := n2) := p_value; + + template (omit) PeriodicReportingIEs m_PeriodicReportingIEs( + in template (value) ReportingPeriodicity p_reportingPeriodicity, + in template (omit) PeriodicReportingIEs.iE_Extensions p_iE_Extensions := omit + ) := { + reportingPeriodicity := p_reportingPeriodicity, + iE_Extensions := p_iE_Extensions + } // End of template m_PeriodicReportingIEs + + template (value) ReportingPeriodicity m_reportingPeriodicity(in ReportingPeriodicity p_value := stop_) := p_value; + + template (value) IntersystemSONInformationReply m_intersystemSONInformationReply_nGRAN_CellActivation( + in template (value) IntersystemCellActivationReply p_nGRAN_CellActivation + ) := { + nGRAN_CellActivation := p_nGRAN_CellActivation + } // End of template m_intersystemSONInformationReply_nGRAN_CellActivation + + template (value) IntersystemSONInformationReply m_intersystemSONInformationReply_resourceStatus( + in template (value) IntersystemResourceStatusReply p_resourceStatus + ) := { + resourceStatus := p_resourceStatus + } // End of template m_intersystemSONInformationReply_resourceStatus + + template (value) IntersystemSONInformationReply m_intersystemSONInformationReply_choice_Extensions( + in template (value) IntersystemSONInformationReply.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_intersystemSONInformationReply_choice_Extensions + + template (omit) IntersystemCellActivationReply m_intersystemCellActivationReply( + in template (value) ActivatedCellList p_activatedCellList, + in template (value) IntersystemCellActivationReply.activation_ID p_activation_ID, + in template (omit) IntersystemCellActivationReply.iE_Extensions p_iE_Extensions := omit + ) := { + activatedCellList := p_activatedCellList, + activation_ID := p_activation_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemCellActivationReply + + template (omit) IntersystemResourceStatusReply m_intersystemResourceStatusReply( + in template (value) ReportingSystem p_reportingsystem, + in template (omit) IntersystemResourceStatusReply.iE_Extensions p_iE_Extensions := omit + ) := { + reportingsystem := p_reportingsystem, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemResourceStatusReply + + template (value) IntersystemSONInformationReport m_intersystemSONInformationReport_hOReportInformation( + in template (value) InterSystemHOReport p_hOReportInformation + ) := { + hOReportInformation := p_hOReportInformation + } // End of template m_intersystemSONInformationReport_hOReportInformation + + template (value) IntersystemSONInformationReport m_intersystemSONInformationReport_failureIndicationInformation( + in template (value) InterSystemFailureIndication p_failureIndicationInformation + ) := { + failureIndicationInformation := p_failureIndicationInformation + } // End of template m_intersystemSONInformationReport_failureIndicationInformation + + template (value) IntersystemSONInformationReport m_intersystemSONInformationReport_choice_Extensions( + in template (value) IntersystemSONInformationReport.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_intersystemSONInformationReport_choice_Extensions + + template (value) IntersystemSONInformationReport.choice_Extensions m_intersystemSONInformationReport_id_EnergySavingIndication( + in template (value) IntersystemCellStateIndication p_intersystemCellStateIndication + ) := { + id := id_EnergySavingIndication, + criticality := ignore, + value_ := { IntersystemCellStateIndication := p_intersystemCellStateIndication } + } // End of template m_intersystemSONInformationReport_id_EnergySavingIndication + + template (value) IntersystemSONInformationReport.choice_Extensions m_intersystemSONInformationReport_id_IntersystemResourceStatusUpdate( + in template (value) IntersystemResourceStatusReport p_intersystemResourceStatusReport + ) := { + id := id_IntersystemResourceStatusUpdate, + criticality := ignore, + value_ := { IntersystemResourceStatusReport := p_intersystemResourceStatusReport } + } // End of template m_intersystemSONInformationReport_id_IntersystemResourceStatusUpdate + + template (omit) NotificationCell_Item m_notificationCell_Item( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (value) NotificationCell_Item.notifyFlag p_notifyFlag := activated, + in template (omit) NotificationCell_Item.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CGI := p_nGRAN_CGI, + notifyFlag := p_notifyFlag, + iE_Extensions := p_iE_Extensions + } // End of template m_notificationCell_Item + + template (omit) IntersystemResourceStatusReport m_intersystemResourceStatusReport( + in template (value) ResourceStatusReportingSystem p_reportingSystem, + in template (omit) IntersystemResourceStatusReport.iE_Extensions p_iE_Extensions := omit + ) := { + reportingSystem := p_reportingSystem, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemResourceStatusReport + + template (value) ResourceStatusReportingSystem m_resourceStatusReportingSystemt_eUTRAN_ReportingStatus( + in template (value) EUTRAN_ReportingStatusIEs p_eUTRAN_ReportingStatus + ) := { + eUTRAN_ReportingStatus := p_eUTRAN_ReportingStatus + } // End of template m_resourceStatusReportingSystem_eUTRAN_ReportingStatus + + template (value) ResourceStatusReportingSystem m_resourceStatusReportingSystemt_nGRAN_ReportingStatus( + in template (value) NGRAN_ReportingStatusIEs p_nGRAN_ReportingStatus + ) := { + nGRAN_ReportingStatus := p_nGRAN_ReportingStatus + } // End of template m_resourceStatusReportingSystem_nGRAN_ReportingStatus + + template (value) ResourceStatusReportingSystem m_resourceStatusReportingSystem_choice_Extensions( + in template (value) ResourceStatusReportingSystem.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_resourceStatusReportingSystem_choice_Extensions + + template (omit) EUTRAN_ReportingStatusIEs m_eUTRAN_ReportingStatusIEs( + in template (value) EUTRAN_CellReportList p_eUTRAN_CellReportList, + in template (omit) EUTRAN_ReportingStatusIEs.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRAN_CellReportList := p_eUTRAN_CellReportList, + iE_Extensions := p_iE_Extensions + } // End of template m_eUTRAN_ReportingStatusIEs + + template (omit) EUTRAN_CellReportItem m_eUTRAN_CellReportItem ( + in template (value) EUTRA_CGI p_eCGI, + in template (value) EUTRAN_CompositeAvailableCapacityGroup p_eUTRAN_CompositeAvailableCapacityGroup, + in template (omit) EUTRAN_NumberOfActiveUEs p_eUTRAN_NumberOfActiveUEs := omit, + in template (omit) NGRAN_NoofRRCConnections p_eUTRAN_NoofRRCConnections := omit, + in template (omit) EUTRAN_RadioResourceStatus p_eUTRAN_RadioResourceStatus := omit, + in template (omit) EUTRAN_CellReportItem.iE_Extensions p_iE_Extensions := omit + ):= { + eCGI := p_eCGI, + eUTRAN_CompositeAvailableCapacityGroup := p_eUTRAN_CompositeAvailableCapacityGroup, + eUTRAN_NumberOfActiveUEs := p_eUTRAN_NumberOfActiveUEs, + eUTRAN_NoofRRCConnections := p_eUTRAN_NoofRRCConnections, + eUTRAN_RadioResourceStatus := p_eUTRAN_RadioResourceStatus, + iE_Extensions := p_iE_Extensions + } // End of template m_eUTRAN_ReportingStatusIEs + + template (omit) EUTRAN_CompositeAvailableCapacityGroup m_EUTRAN_CompositeAvailableCapacityGroup( + in template (value) CompositeAvailableCapacity p_dL_CompositeAvailableCapacity, + in template (value) CompositeAvailableCapacity p_uL_CompositeAvailableCapacity, + in template (omit) EUTRAN_CompositeAvailableCapacityGroup.iE_Extensions p_iE_Extensions := omit + ) := { + dL_CompositeAvailableCapacity := p_dL_CompositeAvailableCapacity, + uL_CompositeAvailableCapacity := p_uL_CompositeAvailableCapacity, + iE_Extensions := p_iE_Extensions + } // End of template m_EUTRAN_CompositeAvailableCapacityGroup + + template (omit) CompositeAvailableCapacity m_compositeAvailableCapacity( + in template (value) CompositeAvailableCapacity.capacityValue p_capacityValue, + in template (omit) CompositeAvailableCapacity.cellCapacityClassValue p_cellCapacityClassValue := omit, + in template (omit) CompositeAvailableCapacity.iE_Extensions p_iE_Extensions := omit + ) := { + cellCapacityClassValue := p_cellCapacityClassValue, + capacityValue := p_capacityValue, + iE_Extensions := p_iE_Extensions + } // End of template m_compositeAvailableCapacity + + template (omit) EUTRAN_RadioResourceStatus m_eUTRAN_RadioResourceStatus( + in template (value) EUTRAN_RadioResourceStatus.dL_GBR_PRB_usage p_dL_GBR_PRB_usage, + in template (value) EUTRAN_RadioResourceStatus.uL_GBR_PRB_usage p_uL_GBR_PRB_usage, + in template (value) EUTRAN_RadioResourceStatus.dL_non_GBR_PRB_usage p_dL_non_GBR_PRB_usage, + in template (value) EUTRAN_RadioResourceStatus.uL_non_GBR_PRB_usage p_uL_non_GBR_PRB_usage, + in template (value) EUTRAN_RadioResourceStatus.dL_Total_PRB_usage p_dL_Total_PRB_usage, + in template (value) EUTRAN_RadioResourceStatus.uL_Total_PRB_usage p_uL_Total_PRB_usage, + in template (omit) EUTRAN_RadioResourceStatus.dL_scheduling_PDCCH_CCE_usage p_dL_scheduling_PDCCH_CCE_usage := omit, + in template (omit) EUTRAN_RadioResourceStatus.uL_scheduling_PDCCH_CCE_usage p_uL_scheduling_PDCCH_CCE_usage := omit, + in template (omit) EUTRAN_RadioResourceStatus.iE_Extensions p_iE_Extensions := omit + ) := { + dL_GBR_PRB_usage := p_dL_GBR_PRB_usage, + uL_GBR_PRB_usage := p_uL_GBR_PRB_usage, + dL_non_GBR_PRB_usage := p_dL_non_GBR_PRB_usage, + uL_non_GBR_PRB_usage := p_uL_non_GBR_PRB_usage, + dL_Total_PRB_usage := p_dL_Total_PRB_usage, + uL_Total_PRB_usage := p_uL_Total_PRB_usage, + dL_scheduling_PDCCH_CCE_usage := p_dL_scheduling_PDCCH_CCE_usage, + uL_scheduling_PDCCH_CCE_usage := p_uL_scheduling_PDCCH_CCE_usage, + iE_Extensions := p_iE_Extensions + } // End of template m_eUTRAN_RadioResourceStatus + + template (omit) NGRAN_ReportingStatusIEs m_nGRAN_ReportingStatusIEs( + in template (value) NGRAN_CellReportList p_nGRAN_CellReportList, + in template (omit) NGRAN_ReportingStatusIEs.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CellReportList := p_nGRAN_CellReportList, + iE_Extensions := p_iE_Extensions + } // End of template m_nGRAN_ReportingStatusIEs + + template (omit) NGRAN_CellReportItem m_nGRAN_CellReportItem( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (value) EUTRAN_CompositeAvailableCapacityGroup p_nGRAN_CompositeAvailableCapacityGroup, + in template (omit) NGRAN_NumberOfActiveUEs p_nGRAN_NumberOfActiveUEs := omit, + in template (omit) NGRAN_NoofRRCConnections p_nGRAN_NoofRRCConnections := omit, + in template (omit) NGRAN_RadioResourceStatus p_nGRAN_RadioResourceStatus := omit, + in template (omit) NGRAN_CellReportItem.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CGI := p_nGRAN_CGI, + nGRAN_CompositeAvailableCapacityGroup := p_nGRAN_CompositeAvailableCapacityGroup, + nGRAN_NumberOfActiveUEs := p_nGRAN_NumberOfActiveUEs, + nGRAN_NoofRRCConnections := p_nGRAN_NoofRRCConnections, + nGRAN_RadioResourceStatus := p_nGRAN_RadioResourceStatus, + iE_Extensions := p_iE_Extensions + } // End of template m_nGRAN_CellReportItem + + template (omit) NGRAN_RadioResourceStatus m_nGRAN_RadioResourceStatus( + in template (value) NGRAN_RadioResourceStatus.dL_GBR_PRB_usage_for_MIMO p_dL_GBR_PRB_usage_for_MIMO, + in template (value) NGRAN_RadioResourceStatus.uL_GBR_PRB_usage_for_MIMO p_uL_GBR_PRB_usage_for_MIMO, + in template (value) NGRAN_RadioResourceStatus.dL_non_GBR_PRB_usage_for_MIMO p_dL_non_GBR_PRB_usage_for_MIMO, + in template (value) NGRAN_RadioResourceStatus.uL_non_GBR_PRB_usage_for_MIMO p_uL_non_GBR_PRB_usage_for_MIMO, + in template (value) NGRAN_RadioResourceStatus.dL_Total_PRB_usage_for_MIMO p_dL_Total_PRB_usage_for_MIMO, + in template (value) NGRAN_RadioResourceStatus.uL_Total_PRB_usage_for_MIMO p_uL_Total_PRB_usage_for_MIMO, + in template (omit) NGRAN_RadioResourceStatus.iE_Extensions p_iE_Extensions := omit + ) := { + dL_GBR_PRB_usage_for_MIMO := p_dL_GBR_PRB_usage_for_MIMO, + uL_GBR_PRB_usage_for_MIMO := p_uL_GBR_PRB_usage_for_MIMO, + dL_non_GBR_PRB_usage_for_MIMO := p_dL_non_GBR_PRB_usage_for_MIMO, + uL_non_GBR_PRB_usage_for_MIMO := p_uL_non_GBR_PRB_usage_for_MIMO, + dL_Total_PRB_usage_for_MIMO := p_dL_Total_PRB_usage_for_MIMO, + uL_Total_PRB_usage_for_MIMO := p_uL_Total_PRB_usage_for_MIMO, + iE_Extensions := p_iE_Extensions + } // End of template m_nGRAN_RadioResourceStatus + + template (omit) InterSystemHOReport m_interSystemHOReport( + in template (value) InterSystemHandoverReportType p_handoverReportType, + in template (omit) InterSystemHOReport.iE_Extensions p_iE_Extensions := omit + ) := { + handoverReportType := p_handoverReportType, + iE_Extensions := p_iE_Extensions + } // End of template m_interSystemHOReport + + template (value) InterSystemHandoverReportType m_interSystemHandoverReportType_tooearlyIntersystemHO( + in template (value) TooearlyIntersystemHO p_tooearlyIntersystemHO + ) := { + tooearlyIntersystemHO := p_tooearlyIntersystemHO + } // End of template m_interSystemHandoverReportType_tooearlyIntersystemHO + + template (value) InterSystemHandoverReportType m_interSystemHandoverReportType_intersystemUnnecessaryHO( + in template (value) IntersystemUnnecessaryHO p_intersystemUnnecessaryHO + ) := { + intersystemUnnecessaryHO := p_intersystemUnnecessaryHO + } // End of template m_interSystemHandoverReportType_intersystemUnnecessaryHO + + template (value) InterSystemHandoverReportType m_interSystemHandoverReportType_choice_Extensions( + in template (value) InterSystemHandoverReportType.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_interSystemHandoverReportType_choice_Extensions + + template (omit) IntersystemUnnecessaryHO m_intersystemUnnecessaryHO( + in template (value) NGRAN_CGI p_sourcecellID, + in template (value) EUTRA_CGI p_targetcellID, + in template (value) IntersystemUnnecessaryHO.earlyIRATHO p_earlyIRATHO := true_, + in template (value) CandidateCellList p_candidateCellList, + in template (omit) IntersystemUnnecessaryHO.iE_Extensions p_iE_Extensions := omit + ) := { + sourcecellID := p_sourcecellID, + targetcellID := p_targetcellID, + earlyIRATHO := p_earlyIRATHO, + candidateCellList := p_candidateCellList, + iE_Extensions := p_iE_Extensions + } // End of template m_intersystemUnnecessaryHO + + template (omit) LAI m_lai( + in template (value) PLMNIdentity p_pLMNidentity, + in template (value) LAC p_lAC, + in template (omit) LAI.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNidentity := p_pLMNidentity, + lAC := p_lAC, + iE_Extensions := p_iE_Extensions + } // End of template m_lai + + template (value) LastVisitedCellInformation m_interSystemHandoverReportType_nGRANCell( + in template (value) LastVisitedNGRANCellInformation p_nGRANCell + ) := { + nGRANCell := p_nGRANCell + } // End of template m_interSystemHandoverReportType_nGRANCell + + template (value) LastVisitedCellInformation m_interSystemHandoverReportType_eUTRANCell( + in template (value) LastVisitedEUTRANCellInformation p_eUTRANCell + ) := { + eUTRANCell := p_eUTRANCell + } // End of template m_interSystemHandoverReportType_eUTRANCell + + template (value) LastVisitedCellInformation m_interSystemHandoverReportType_uTRANCell( + in template (value) LastVisitedUTRANCellInformation p_uTRANCell + ) := { + uTRANCell := p_uTRANCell + } // End of template m_interSystemHandoverReportType_uTRANCell + + template (value) LastVisitedCellInformation m_interSystemHandoverReportType_gERANCell( + in template (value) LastVisitedGERANCellInformation p_gERANCell + ) := { + gERANCell := p_gERANCell + } // End of template m_interSystemHandoverReportType_gERANCell + + template (value) LastVisitedCellInformation m_lastVisitedCellInformation_choice_Extensions( + in template (value) LastVisitedCellInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_lastVisitedCellInformation_choice_Extensions + + template (omit) LastVisitedCellItem m_lastVisitedCellItem( + in template (value) LastVisitedCellInformation p_lastVisitedCellInformation, + in template (omit) LastVisitedCellItem.iE_Extensions p_iE_Extensions := omit + ) := { + lastVisitedCellInformation := p_lastVisitedCellInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_lastVisitedCellItem + + template (omit) LastVisitedNGRANCellInformation m_lastVisitedNGRANCellInformation( + in template (value) NGRAN_CGI p_globalCellID, + in template (value) CellType p_cellType, + in template (value) TimeUEStayedInCell p_timeUEStayedInCell, + in template (omit) TimeUEStayedInCellEnhancedGranularity p_timeUEStayedInCellEnhancedGranularity := omit, + in template (omit) Cause p_hOCauseValue := omit, + in template (omit) LastVisitedNGRANCellInformation.iE_Extensions p_iE_Extensions := omit + ) := { + globalCellID := p_globalCellID, + cellType := p_cellType, + timeUEStayedInCell := p_timeUEStayedInCell, + timeUEStayedInCellEnhancedGranularity := p_timeUEStayedInCellEnhancedGranularity, + hOCauseValue := p_hOCauseValue, + iE_Extensions := p_iE_Extensions + } // End of template m_lastVisitedNGRANCellInformation + + template (value) LastVisitedNGRANCellInformation.iE_Extensions m_lastVisitedNGRANCellInformation_id_LastVisitedPSCellList( + in template (value) LastVisitedPSCellList p_lastVisitedPSCellList + ) := { + { + id := id_LastVisitedPSCellList, + criticality := ignore, + extensionValue := { LastVisitedPSCellList := p_lastVisitedPSCellList } + } + } // End of template m_lastVisitedNGRANCellInformation_id_LastVisitedPSCellList + + template (omit) LastVisitedPSCellInformation m_LastVisitedPSCellInformation( + in template (value) NGRAN_CGI p_pSCellID, + in template (value) LastVisitedPSCellInformation.timeStay p_timeStay, + in template (omit) LastVisitedPSCellInformation.iE_Extensions p_iE_Extensions := omit + ) := { + pSCellID := p_pSCellID, + timeStay := p_timeStay, + iE_Extensions := p_iE_Extensions + } // End of template m_LastVisitedPSCellInformation + + template (value) LineType m_lineType(in LineType p_value := pon) := p_value; + + template (value) LocationReportingAdditionalInfo m_locationReportingAdditionalInfo(in LocationReportingAdditionalInfo p_value := includePSCell) := p_value; + + template (omit) LocationReportingRequestType m_locationReportingRequestType( + in template (value) EventType p_eventType, + in template (value) ReportArea p_reportArea, + in template (omit) AreaOfInterestList p_areaOfInterestList := omit, + in template (omit) LocationReportingReferenceID p_locationReportingReferenceIDToBeCancelled := omit, + in template (omit) LocationReportingRequestType.iE_Extensions p_iE_Extensions := omit + ) := { + eventType := p_eventType, + reportArea := p_reportArea, + areaOfInterestList := p_areaOfInterestList, + locationReportingReferenceIDToBeCancelled := p_locationReportingReferenceIDToBeCancelled, + // The above IE shall be present if the event type is set to “stop reporting UE presence in the area of interest” + iE_Extensions := p_iE_Extensions + } // End of template m_locationReportingRequestType + + template (value) LocationReportingRequestType.iE_Extensions m_locationReportingRequestType_id_LocationReportingAdditionalInfo( + in template (value) LocationReportingAdditionalInfo p_locationReportingAdditionalInfo + ) := { + { + id := id_LocationReportingAdditionalInfo, + criticality := ignore, + extensionValue := { LocationReportingAdditionalInfo := p_locationReportingAdditionalInfo } + } + } // End of template m_locationReportingRequestType_id_LocationReportingAdditionalInfo + + template (omit) LoggedMDTNr m_loggedMDTNr( + in template (value) LoggingInterval p_loggingInterval, + in template (value) LoggingDuration p_loggingDuration, + in template (value) LoggedMDTTrigger p_loggedMDTTrigger, + in template (omit) BluetoothMeasurementConfiguration p_bluetoothMeasurementConfiguration := omit, + in template (omit) WLANMeasurementConfiguration p_wLANMeasurementConfiguration := omit, + in template (omit) SensorMeasurementConfiguration p_sensorMeasurementConfiguration := omit, + in template (omit) AreaScopeOfNeighCellsList p_areaScopeOfNeighCellsList := omit, + in template (omit) LoggedMDTNr.iE_Extensions p_iE_Extensions := omit + ) := { + loggingInterval := p_loggingInterval, + loggingDuration := p_loggingDuration, + loggedMDTTrigger := p_loggedMDTTrigger, + bluetoothMeasurementConfiguration := p_bluetoothMeasurementConfiguration, + wLANMeasurementConfiguration := p_wLANMeasurementConfiguration, + sensorMeasurementConfiguration := p_sensorMeasurementConfiguration, + areaScopeOfNeighCellsList := p_areaScopeOfNeighCellsList, + iE_Extensions := p_iE_Extensions + } // End of template m_loggedMDTNr + + template (value) LoggingInterval m_loggingInterval(in LoggingInterval p_value := ms320) := p_value; + + template (value) LoggingDuration m_loggingDuration(in LoggingDuration p_value := m10) := p_value; + + template (value) Links_to_log m_Links_to_log(in Links_to_log p_value := uplink) := p_value; + + template (value) LoggedMDTTrigger m_loggedMDTTrigger_gERANCell( + in template (value) EventTrigger p_eventTrigger + ) := { + eventTrigger := p_eventTrigger + } // End of template m_loggedMDTTrigger_gERANCell + + template (value) LoggedMDTTrigger m_loggedMDTTrigger_choice_Extensions( + in template (value) LoggedMDTTrigger.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_loggedMDTTrigger_choice_Extensions + + template (value) LTEM_Indication m_lTEM_Indication(in LTEM_Indication p_value := lte_m) := p_value; + + template (omit) LTEV2XServicesAuthorized m_lTEV2XServicesAuthorized( + in template (omit) VehicleUE p_vehicleUE := omit, + in template (omit) PedestrianUE p_pedestrianUE:= omit, + in template (omit) LTEV2XServicesAuthorized.iE_Extensions p_iE_Extensions := omit + ) := { + vehicleUE := p_vehicleUE, + pedestrianUE := p_pedestrianUE, + iE_Extensions := p_iE_Extensions + } // End of template m_lTEV2XServicesAuthorized + + template (omit) LTEUESidelinkAggregateMaximumBitrate m_lTEUESidelinkAggregateMaximumBitrate( + in template (value) BitRate p_uESidelinkAggregateMaximumBitRate := PX_UE_SIDELINK_AGGREGATE_MAXIMUM_BIT_RATE, + in template (omit) LTEUESidelinkAggregateMaximumBitrate.iE_Extensions p_iE_Extensions := omit + ) := { + uESidelinkAggregateMaximumBitRate := p_uESidelinkAggregateMaximumBitRate, + iE_Extensions := p_iE_Extensions + } // End of template m_lTEUESidelinkAggregateMaximumBitrate + + template (value) MaximumIntegrityProtectedDataRate m_maximumIntegrityProtectedDataRate(in MaximumIntegrityProtectedDataRate p_value := bitrate64kbs) := p_value; + + template (omit) MBS_DataForwardingResponseMRBItem m_mBS_DataForwardingResponseMRBItem( + in template (value) MRB_ID p_mRB_ID, + in template (value) UPTransportLayerInformation p_dL_Forwarding_UPTNLInformation, + in template (omit) MRB_ProgressInformation p_mRB_ProgressInformation := omit, + in template (omit) MBS_DataForwardingResponseMRBItem.iE_Extensions p_iE_Extensions := omit + ) := { + mRB_ID := p_mRB_ID, + dL_Forwarding_UPTNLInformation := p_dL_Forwarding_UPTNLInformation, + mRB_ProgressInformation := p_mRB_ProgressInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_DataForwardingResponseMRBItem + + template (omit) MBS_MappingandDataForwardingRequestItem m_mBS_MappingandDataForwardingRequestItem( + in template (value) MRB_ID p_mRB_ID, + in template (value) MBS_QoSFlowList p_mBS_QoSFlowList, + in template (omit) MRB_ProgressInformation p_mRB_ProgressInformation := omit, + in template (omit) MBS_MappingandDataForwardingRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + mRB_ID := p_mRB_ID, + mBS_QoSFlowList := p_mBS_QoSFlowList, + mRB_ProgressInformation := p_mRB_ProgressInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_MappingandDataForwardingRequestItem + + template (value) MRB_ProgressInformation m_mRB_ProgressInformation_pDCP_SN_Length12( + in template (value) MRB_ProgressInformation.pDCP_SN_Length12 p_pDCP_SN_Length12 + ) := { + pDCP_SN_Length12 := p_pDCP_SN_Length12 + } // End of template m_mRB_ProgressInformation_pDCP_SN_Length12 + + template (value) MRB_ProgressInformation m_mRB_ProgressInformation_pDCP_SN_Length18( + in template (value) MRB_ProgressInformation.pDCP_SN_Length18 p_pDCP_SN_Length18 + ) := { + pDCP_SN_Length18 := p_pDCP_SN_Length18 + } // End of template m_mRB_ProgressInformation_pDCP_SN_Length18 + + template (value) MRB_ProgressInformation m_mRB_ProgressInformation_choice_Extensions( + in template (value) MRB_ProgressInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_mRB_ProgressInformation_choice_Extensions + + template (omit) MBS_QoSFlowsToBeSetupItem m_mBS_QoSFlowsToBeSetupItem( + in template (value)QosFlowIdentifier p_mBSqosFlowIdentifier, + in template (value)QosFlowLevelQosParameters p_mBSqosFlowLevelQosParameters, + in template (omit) MBS_QoSFlowsToBeSetupItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBSqosFlowIdentifier := p_mBSqosFlowIdentifier, + mBSqosFlowLevelQosParameters := p_mBSqosFlowLevelQosParameters, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_QoSFlowsToBeSetupItem + + template (value) MBS_ServiceArea m_mBS_ServiceArea_locationindependent( + in template (value) MBS_ServiceAreaInformation p_locationindependent + ) := { + locationindependent := p_locationindependent + } // End of template m_mBS_ServiceArea_locationindependent + + template (value) MBS_ServiceArea m_mBS_ServiceArea_locationdependent( + in template (value) MBS_ServiceAreaInformationList p_locationdependent + ) := { + locationdependent := p_locationdependent + } // End of template m_mBS_ServiceArea_locationdependent + + template (value) MBS_ServiceArea m_mBS_ServiceArea_choice_Extensions( + in template (value) MBS_ServiceArea.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_mBS_ServiceArea_choice_Extensions + + template (omit) MBS_ServiceAreaInformationItem m_mBS_ServiceAreaInformationItem( + in template (value) MBS_AreaSessionID p_mBS_AreaSessionID, + in template (value) MBS_ServiceAreaInformation p_mBS_ServiceAreaInformation, + in template (omit) MBS_ServiceAreaInformationItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_AreaSessionID := p_mBS_AreaSessionID, + mBS_ServiceAreaInformation := p_mBS_ServiceAreaInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_ServiceAreaInformationItem + + template (omit) MBS_ServiceAreaInformation m_mBS_ServiceAreaInformation( + in template (omit) MBS_ServiceAreaCellList p_mBS_ServiceAreaCellList := omit, + in template (omit) MBS_ServiceAreaTAIList p_mBS_ServiceAreaTAIList := omit, + in template (omit) MBS_ServiceAreaInformation.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_ServiceAreaCellList := p_mBS_ServiceAreaCellList, + mBS_ServiceAreaTAIList := p_mBS_ServiceAreaTAIList, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_ServiceAreaInformation + + template (omit) MBS_SessionID m_mBS_SessionID( + in template (value) TMGI p_tMGI, + in template (omit) NID p_nID := omit, + in template (omit) MBS_SessionID.iE_Extensions p_iE_Extensions := omit + ) := { + tMGI := p_tMGI, + nID := p_nID, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_SessionID + + template (omit) MBSSessionFailedtoSetupItem m_mBSSessionFailedtoSetupItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (value) Cause p_cause, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) MBSSessionFailedtoSetupItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionFailedtoSetupItem + + template (omit) MBS_ActiveSessionInformation_SourcetoTargetItem m_mBS_ActiveSessionInformation_SourcetoTargetItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (value) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) MBS_ServiceArea p_mBS_ServiceArea := omit, + in template (omit) MBS_MappingandDataForwardingRequestList p_mBS_MappingandDataForwardingRequestList := omit, + in template (omit) MBS_ActiveSessionInformation_SourcetoTargetItem.iE_Extensions p_iE_Extensions := omit + ):= { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + mBS_ServiceArea := p_mBS_ServiceArea, + mBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList, + mBS_MappingandDataForwardingRequestList := p_mBS_MappingandDataForwardingRequestList, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_ActiveSessionInformation_SourcetoTargetItem + + template (omit) MBS_ActiveSessionInformation_TargettoSourceItem m_mBS_ActiveSessionInformation_TargettoSourceItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MBS_DataForwardingResponseMRBList p_mBS_DataForwardingResponseMRBList := omit, + in template (omit) MBS_ActiveSessionInformation_TargettoSourceItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_DataForwardingResponseMRBList := p_mBS_DataForwardingResponseMRBList, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_ActiveSessionInformation_TargettoSourceItem + + template (omit) MBSSessionSetupOrModFailureTransfer m_mBSSessionSetupOrModFailureTransfer( + in template (value) Cause p_cause, + in template (omit) CriticalityDiagnostics p_criticalityDiagnostics := omit, + in template (omit) MBSSessionSetupOrModFailureTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionSetupOrModFailureTransfer + + template (omit) MBSSessionSetupResponseItem m_mBSSessionSetupResponseItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) MBSSessionSetupResponseItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionSetupResponseItem + + template (value) MBSSessionSetupOrModRequestTransfer m_mBSSessionSetupOrModRequestTransfer( + in template (value) MBSSessionSetupOrModRequestTransfer.protocolIEs p_protocolIEs + ) := { + protocolIEs := p_protocolIEs + } // End of template m_mBSSessionSetupOrModRequestTransfer + + template (value) MBSSessionSetupOrModRequestTransfer m_mBSSessionSetupOrModRequestTransfer_options( + in template (value) MBS_SessionTNLInfo5GC p_mBS_SessionTNLInfo5GC, + in template (value) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList, + in template (value) MBS_SessionFSAIDList p_mBS_SessionFSAIDList + ) := { + protocolIEs := { + { + id := id_MBS_SessionTNLInfo5GC, + criticality := reject, + value_ := { MBS_SessionTNLInfo5GC := p_mBS_SessionTNLInfo5GC } + }, + { + id := id_MBS_QoSFlowsToBeSetupModList, + criticality := reject, + value_ := { MBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList } + }, + { + id := id_MBS_SessionFSAIDList, + criticality := ignore, + value_ := { MBS_SessionFSAIDList := p_mBS_SessionFSAIDList } + } + } + } // End of template m_mBSSessionSetupOrModRequestTransfer_options + + template (omit) MBSSessionReleaseResponseTransfer m_mBSSessionReleaseResponseTransfer( + in template (omit) MBS_SessionTNLInfoNGRAN p_mBS_SessionTNLInfoNGRAN := omit, + in template (omit) MBSSessionReleaseResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionTNLInfoNGRAN := p_mBS_SessionTNLInfoNGRAN, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionReleaseResponseTransfer + + template (omit) MBSSessionSetupOrModResponseTransfer m_mBSSessionSetupOrModResponseTransfer( + in template (omit) MBS_SessionTNLInfoNGRAN p_mBS_SessionTNLInfoNGRAN := omit, + in template (omit) MBSSessionSetupOrModResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionTNLInfoNGRAN := p_mBS_SessionTNLInfoNGRAN, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionSetupOrModResponseTransfer + + template (value) MBS_SupportIndicator m_mBS_SupportIndicator(in MBS_SupportIndicator p_value := true_) := p_value; + + template (value) MBS_SessionTNLInfo5GC m_mBS_SessionTNLInfo5GC_locationindependent( + in template (value) SharedNGU_MulticastTNLInformation p_locationindependent + ) := { + locationindependent := p_locationindependent + } // End of template m_mBS_SessionTNLInfo5GC_locationindependent + + template (value) MBS_SessionTNLInfo5GC m_mBS_SessionTNLInfo5GC_locationdependent( + in template (value) MBS_SessionTNLInfo5GCList p_locationdependent + ) := { + locationdependent := p_locationdependent + } // End of template m_mBS_SessionTNLInfo5GC_locationdependent + + template (value) MBS_SessionTNLInfo5GC m_mBS_SessionTNLInfo5GC_choice_Extensions( + in template (value) MBS_SessionTNLInfo5GC.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_mBS_SessionTNLInfo5GC_choice_Extensions + + template (omit) MBS_SessionTNLInfo5GCItem m_mBS_SessionTNLInfo5GCItem( + in template (value) MBS_AreaSessionID p_mBS_AreaSessionID, + in template (value) SharedNGU_MulticastTNLInformation p_sharedNGU_MulticastTNLInformation, + in template (omit) MBS_SessionTNLInfo5GCItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_MulticastTNLInformation := p_sharedNGU_MulticastTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_SessionTNLInfo5GCItem + + template (value) MBS_SessionTNLInfoNGRAN m_mBS_SessionTNLInfoNGRAN_locationindependent( + in template (value) UPTransportLayerInformation p_locationindependent + ) := { + locationindependent := p_locationindependent + } // End of template m_mBS_SessionTNLInfoNGRAN_locationindependent + + template (value) MBS_SessionTNLInfoNGRAN m_mBS_SessionTNLInfoNGRAN_locationdependent( + in template (value) MBS_SessionTNLInfoNGRANList p_locationdependent + ) := { + locationdependent := p_locationdependent + } // End of template m_mBS_SessionTNLInfoNGRAN_locationdependent + + template (value) MBS_SessionTNLInfoNGRAN m_mBS_SessionTNLInfoNGRAN_choice_Extensions( + in template (value) MBS_SessionTNLInfoNGRAN.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_mBS_SessionTNLInfoNGRAN_choice_Extensions + + template (omit) MBS_SessionTNLInfoNGRANItem m_mBS_SessionTNLInfoNGRANItem( + in template (value) MBS_AreaSessionID p_mBS_AreaSessionID, + in template (omit) UPTransportLayerInformation p_sharedNGU_UnicastTNLInformation := omit, + in template (omit) MBS_SessionTNLInfoNGRANItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_UnicastTNLInformation := p_sharedNGU_UnicastTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_SessionTNLInfoNGRANItem + + template (omit) MBS_DistributionReleaseRequestTransfer m_mBS_DistributionReleaseRequestTransfer( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (value) Cause p_cause, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) UPTransportLayerInformation p_sharedNGU_UnicastTNLInformation := omit, + in template (omit) MBS_DistributionReleaseRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_UnicastTNLInformation := p_sharedNGU_UnicastTNLInformation, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_DistributionReleaseRequestTransfer + + template (omit) MBS_DistributionSetupRequestTransfer m_mBS_DistributionSetupRequestTransfer( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) UPTransportLayerInformation p_sharedNGU_UnicastTNLInformation := omit, + in template (omit) MBS_DistributionSetupRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_UnicastTNLInformation := p_sharedNGU_UnicastTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_DistributionSetupRequestTransfer + + template (omit) MBS_DistributionSetupResponseTransfer m_mBS_DistributionSetupResponseTransfer( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (value) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList, + in template (value) MBSSessionStatus p_mBSSessionStatus, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) MBS_SessionTNLInfo5GCItem p_sharedNGU_MulticastTNLInformation := omit, + in template (omit) MBS_ServiceArea p_mBS_ServiceArea := omit, + in template (omit) MBS_DistributionSetupResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_MulticastTNLInformation := p_sharedNGU_MulticastTNLInformation, + mBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList, + mBSSessionStatus := p_mBSSessionStatus, + mBS_ServiceArea := p_mBS_ServiceArea, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_DistributionSetupResponseTransfer + + template (omit) MBS_DistributionSetupUnsuccessfulTransfer m_mBS_DistributionSetupUnsuccessfulTransfer( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (value) Cause p_cause, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) CriticalityDiagnostics p_criticalityDiagnostics := omit, + in template (omit) MBS_DistributionSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template m_mBS_DistributionSetupUnsuccessfulTransfer + + template (omit) MBSSessionSetupRequestItem m_mBSSessionSetupRequestItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) AssociatedMBSQosFlowSetupRequestList p_associatedMBSQosFlowSetupRequestList := omit, + in template (omit) MBSSessionSetupRequestItem.iE_Extensions p_iE_Extensions := omit + ):= { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + associatedMBSQosFlowSetupRequestList := p_associatedMBSQosFlowSetupRequestList, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionSetupRequestItem + + template (omit) MBSSessionSetuporModifyRequestItem m_mBSSessionSetuporModifyRequestItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MBS_AreaSessionID p_mBS_AreaSessionID := omit, + in template (omit) AssociatedMBSQosFlowSetuporModifyRequestList p_associatedMBSQosFlowSetuporModifyRequestList := omit, + in template (omit) QosFlowListWithCause p_mBS_QosFlowToReleaseList := omit, + in template (omit) MBSSessionSetuporModifyRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + associatedMBSQosFlowSetuporModifyRequestList := p_associatedMBSQosFlowSetuporModifyRequestList, + mBS_QosFlowToReleaseList := p_mBS_QosFlowToReleaseList, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionSetuporModifyRequestItem + + template (omit) MBSSessionToReleaseItem m_mBSSessionToReleaseItem( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (value) Cause p_cause, + in template (omit) MBSSessionToReleaseItem.iE_Extensions p_iE_Extensions := omit + ):= { + mBS_SessionID := p_mBS_SessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_mBSSessionToReleaseItem + + template (value) MBSSessionStatus m_mBSSessionStatus(in MBSSessionStatus p_value := activated) := p_value; + + template (value) MicoAllPLMN m_micoAllPLMN(in MicoAllPLMN p_value := true_) := p_value; + + template (value) MICOModeIndication m_mICOModeIndication(in MICOModeIndication p_value := true_) := p_value; + + template (omit) MobilityRestrictionList m_mobilityRestrictionList( + in template (value) PLMNIdentity p_servingPLMN, + in template (omit) EquivalentPLMNs p_equivalentPLMNs := omit, + in template (omit) RATRestrictions p_rATRestrictions := omit, + in template (omit) ForbiddenAreaInformation p_forbiddenAreaInformation := omit, + in template (omit) ServiceAreaInformation p_serviceAreaInformation := omit, + in template (omit) MobilityRestrictionList.iE_Extensions p_iE_Extensions := omit + ) := { + servingPLMN := p_servingPLMN, + equivalentPLMNs := p_equivalentPLMNs, + rATRestrictions := p_rATRestrictions, + forbiddenAreaInformation := p_forbiddenAreaInformation, + serviceAreaInformation := p_serviceAreaInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_mobilityRestrictionList + + template (value) MobilityRestrictionList.iE_Extensions m_mobilityRestrictionList_id_LastEUTRAN_PLMNIdentity( + in template (value) PLMNIdentity p_pLMNIdentity + ) := { + { + id := id_LastEUTRAN_PLMNIdentity, + criticality := ignore, + extensionValue := { PLMNIdentity := p_pLMNIdentity } + } + } // End of template m_mobilityRestrictionList_id_LastEUTRAN_PLMNIdentity + + template (value) MobilityRestrictionList.iE_Extensions m_mobilityRestrictionList_id_CNTypeRestrictionsForServing( + in template (value) CNTypeRestrictionsForServing p_cNTypeRestrictionsForServing + ) := { + { + id := id_CNTypeRestrictionsForServing, + criticality := ignore, + extensionValue := { CNTypeRestrictionsForServing := p_cNTypeRestrictionsForServing } + } + } // End of template m_mobilityRestrictionList_id_CNTypeRestrictionsForServing + + template (value) MobilityRestrictionList.iE_Extensions m_mobilityRestrictionList_id_CNTypeRestrictionsForEquivalent( + in template (value) CNTypeRestrictionsForEquivalent p_cNTypeRestrictionsForEquivalent + ) := { + { + id := id_CNTypeRestrictionsForEquivalent, + criticality := ignore, + extensionValue := { CNTypeRestrictionsForEquivalent := p_cNTypeRestrictionsForEquivalent } + } + } // End of template m_mobilityRestrictionList_id_CNTypeRestrictionsForEquivalent + + template (value) MobilityRestrictionList.iE_Extensions m_mobilityRestrictionList_id_NPN_MobilityInformation( + in template (value) NPN_MobilityInformation p_nPN_MobilityInformation + ) := { + { + id := id_NPN_MobilityInformation, + criticality := reject, + extensionValue := { NPN_MobilityInformation := p_nPN_MobilityInformation } + } + } // End of template m_mobilityRestrictionList_id_NPN_MobilityInformation + + template (value) MDT_AlignmentInfo m_mDT_AlignmentInfo_s_basedMDT( + in template (value) NGRANTraceID p_s_basedMDT + ) := { + s_basedMDT := p_s_basedMDT + } // End of template m_mDT_AlignmentInfo_s_basedMDT + + template (value) MDT_AlignmentInfo m_mDT_AlignmentInfo_choice_Extensions( + in template (value) MDT_AlignmentInfo.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_mDT_AlignmentInfo_choice_Extensions + + template (omit) MDT_Configuration m_mDT_Configuration( + in template (omit) MDT_Configuration_NR p_mdt_Config_NR := omit, + in template (omit) MDT_Configuration_EUTRA p_mdt_Config_EUTRA := omit, + in template (omit) MDT_Configuration.iE_Extensions p_iE_Extensions := omit + ) := { + mdt_Config_NR := p_mdt_Config_NR, + mdt_Config_EUTRA := p_mdt_Config_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template m_mDT_Configuration + + template (omit) MDT_Configuration_NR m_mDT_Configuration_NR( + in template (value) MDT_Activation p_mdt_Activation, + in template (value) AreaScopeOfMDT_NR p_areaScopeOfMDT, + in template (value) MDTModeNr p_mDTModeNr, + in template (omit) MDTPLMNList p_signallingBasedMDTPLMNList := omit, + in template (omit) MDT_Configuration_NR.iE_Extensions p_iE_Extensions := omit + ) := { + mdt_Activation := p_mdt_Activation, + areaScopeOfMDT := p_areaScopeOfMDT, + mDTModeNr := p_mDTModeNr, + signallingBasedMDTPLMNList := p_signallingBasedMDTPLMNList, + iE_Extensions := p_iE_Extensions + } // End of template m_mDT_Configuration_NR + + template (omit) MDT_Configuration_EUTRA m_mDT_Configuration_EUTRA( + in template (value) MDT_Activation p_mdt_Activation, + in template (value) AreaScopeOfMDT_EUTRA p_areaScopeOfMDT, + in template (value) MDTModeEutra p_mDTMode, + in template (omit) MDTPLMNList p_signallingBasedMDTPLMNList := omit, + in template (omit) MDT_Configuration_EUTRA.iE_Extensions p_iE_Extensions := omit + ) := { + mdt_Activation := p_mdt_Activation, + areaScopeOfMDT := p_areaScopeOfMDT, + mDTMode := p_mDTMode, + signallingBasedMDTPLMNList := p_signallingBasedMDTPLMNList, + iE_Extensions := p_iE_Extensions + } // End of template m_mDT_Configuration_EUTRA + + template (value) MDT_Activation m_mDT_Activation(in MDT_Activation p_value := immediate_MDT_only) := p_value; + + template (value) MDTModeNr m_mDTModeNro_immediateMDTNr( + in template (value) ImmediateMDTNr p_immediateMDTNr + ) := { + immediateMDTNr := p_immediateMDTNr + } // End of template m_mDTModeNr_immediateMDTNr + + template (value) MDTModeNr m_mDTModeNro_loggedMDTNr( + in template (value) LoggedMDTNr p_loggedMDTNr + ) := { + loggedMDTNr := p_loggedMDTNr + } // End of template m_mDTModeNr_loggedMDTNr + + template (value) MDTModeNr m_mDTModeNr_choice_Extensions( + in template (value) MDTModeNr.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_mDTModeNr_choice_Extensions + + template (omit) MulticastSessionActivationRequestTransfer m_multicastSessionActivationRequestTransfer( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MulticastSessionActivationRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + iE_Extensions := p_iE_Extensions + } // End of template m_multicastSessionActivationRequestTransfer + + template (omit) MulticastSessionDeactivationRequestTransfer m_multicastSessionDeactivationRequestTransfer( + in template (value) MBS_SessionID p_mBS_SessionID, + in template (omit) MulticastSessionDeactivationRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_SessionID := p_mBS_SessionID, + iE_Extensions := p_iE_Extensions + } // End of template m_multicastSessionDeactivationRequestTransfer + + template (value) MulticastSessionUpdateRequestTransfer m_multicastSessionUpdateRequestTransfer( + in template (value) MulticastSessionUpdateRequestTransfer.protocolIEs p_protocolIEs + ) := { + protocolIEs := p_protocolIEs + } // End of template m_multicastSessionUpdateRequestTransfer + + template (value) MulticastSessionUpdateRequestTransfer.protocolIEs m_multicastSessionUpdateRequestTransfer_id_MBS_SessionID( + in template (value) MBS_SessionID p_mBS_SessionID + ) := { + { + id := id_MBS_SessionID, + criticality := reject, + value_ := { MBS_SessionID := p_mBS_SessionID } + } + } // End of template m_multicastSessionUpdateRequestTransfer_id_MBS_SessionID + + template (value) MulticastSessionUpdateRequestTransfer.protocolIEs m_multicastSessionUpdateRequestTransfer_id_MBS_ServiceArea( + in template (value) MBS_ServiceArea p_mBS_ServiceArea + ) := { + { + id := id_MBS_ServiceArea, + criticality := reject, + value_ := { MBS_ServiceArea := p_mBS_ServiceArea } + } + } // End of template m_multicastSessionUpdateRequestTransfer_id_MBS_ServiceArea + + template (value) MulticastSessionUpdateRequestTransfer.protocolIEs m_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowsToBeSetupModList( + in template (value) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList + ) := { + { + id := id_MBS_QoSFlowsToBeSetupModList, + criticality := reject, + value_ := { MBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList } + } + } // End of template m_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowsToBeSetupModList + + template (value) MulticastSessionUpdateRequestTransfer.protocolIEs m_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowToReleaseList( + in template (value) QosFlowListWithCause p_qosFlowListWithCause + ) := { + { + id := id_MBS_QoSFlowToReleaseList, + criticality := reject, + value_ := { QosFlowListWithCause := p_qosFlowListWithCause } + } + } // End of template m_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowToReleaseList + + template (value) MulticastSessionUpdateRequestTransfer.protocolIEs m_multicastSessionUpdateRequestTransfer_id_MBS_SessionTNLInfo5GC( + in template (value) MBS_SessionTNLInfo5GC p_mBS_SessionTNLInfo5GC + ) := { + { + id := id_MBS_SessionTNLInfo5GC, + criticality := reject, + value_ := { MBS_SessionTNLInfo5GC := p_mBS_SessionTNLInfo5GC } + } + } // End of template m_multicastSessionUpdateRequestTransfer_id_MBS_SessionTNLInfo5GC + + template (omit) MulticastGroupPagingAreaItem m_multicastGroupPagingAreaItem( + in template (value) MulticastGroupPagingArea p_multicastGroupPagingArea, + in template (omit) UE_PagingList p_uE_PagingList := omit, + in template (omit) MulticastGroupPagingAreaItem.iE_Extensions p_iE_Extensions := omit + ) := { + multicastGroupPagingArea := p_multicastGroupPagingArea, + uE_PagingList := p_uE_PagingList, + iE_Extensions := p_iE_Extensions + } // End of template m_multicastGroupPagingAreaItem + + template (omit) MulticastGroupPagingArea m_multicastGroupPagingArea( + in template (value) MBS_AreaTAIList p_mBS_AreaTAIList, + in template (omit) MulticastGroupPagingArea.iE_Extensions p_iE_Extensions := omit + ) := { + mBS_AreaTAIList := p_mBS_AreaTAIList, + iE_Extensions := p_iE_Extensions + } // End of template m_multicastGroupPagingArea + + template (omit) UE_PagingItem m_uE_PagingItem( + in template (value) UEIdentityIndexValue p_uEIdentityIndexValue, + in template (omit) PagingDRX p_pagingDRX := omit, + in template (omit) UE_PagingItem.iE_Extensions p_iE_Extensions := omit + ) := { + uEIdentityIndexValue := p_uEIdentityIndexValue, + pagingDRX := p_pagingDRX, + iE_Extensions := p_iE_Extensions + } // End of template m_uE_PagingItem + + template (omit) M1Configuration m_m1Configuration( + in template (value) M1ReportingTrigger p_m1reportingTrigger, + in template (omit) M1ThresholdEventA2 p_m1thresholdEventA2 := omit, + in template (omit) M1PeriodicReporting p_m1periodicReporting := omit, + in template (omit) M1Configuration.iE_Extensions p_iE_Extensions := omit + ) := { + m1reportingTrigger := p_m1reportingTrigger, + m1thresholdEventA2 := p_m1thresholdEventA2, + // The above IE shall be present if the M1 Reporting Trigger IE is set to “A2event_triggered” or “A2event_triggered periodic” + m1periodicReporting := p_m1periodicReporting, + // The above IE shall be present if the M1 Reporting Trigger IE is set to “periodic” or “A2event_triggered periodic” + iE_Extensions := p_iE_Extensions + } // End of template m_m1Configuration + + template (value) M1Configuration.iE_Extensions m_m1Configuration_id_IncludeBeamMeasurementsIndication( + in template (value) IncludeBeamMeasurementsIndication p_includeBeamMeasurementsIndication + ) := { + { + id := id_IncludeBeamMeasurementsIndication, + criticality := ignore, + extensionValue := { IncludeBeamMeasurementsIndication := p_includeBeamMeasurementsIndication } + } + } // End of template m_m1Configuration_id_IncludeBeamMeasurementsIndication + + template (value) M1Configuration.iE_Extensions m_m1Configuration_id_BeamMeasurementsReportConfiguration( + in template (value) BeamMeasurementsReportConfiguration p_beamMeasurementsReportConfiguration + ) := { + { + id := id_BeamMeasurementsReportConfiguration, + criticality := ignore, + extensionValue := { BeamMeasurementsReportConfiguration := p_beamMeasurementsReportConfiguration } + } + } // End of template m_m1Configuration_id_BeamMeasurementsReportConfiguration + + template (value) IncludeBeamMeasurementsIndication m_includeBeamMeasurementsIndication(in IncludeBeamMeasurementsIndication p_value := true_) := p_value; + + template (value) M1ReportingTrigger m_m1ReportingTrigger(in M1ReportingTrigger p_value := periodic) := p_value; + + template (omit) M1ThresholdEventA2 m_m1ThresholdEventA2( + in template (value) M1ThresholdType p_m1ThresholdType, + in template (omit) M1ThresholdEventA2.iE_Extensions p_iE_Extensions := omit + ) := { + m1ThresholdType := p_m1ThresholdType, + iE_Extensions := p_iE_Extensions + } // End of template m_m1ThresholdEventA2 + + template (value) M1ThresholdType m_m1ThresholdType_threshold_RSRP( + in template (value) Threshold_RSRP p_threshold_RSRP + ) := { + threshold_RSRP := p_threshold_RSRP + } // End of template m_m1ThresholdType_threshold_RSRP + + template (value) M1ThresholdType m_m1ThresholdType_threshold_RSRQ( + in template (value) Threshold_RSRQ p_threshold_RSRQ + ) := { + threshold_RSRQ := p_threshold_RSRQ + } // End of template m_m1ThresholdType_threshold_RSRQ + + template (value) M1ThresholdType m_m1ThresholdType_threshold_SINR( + in template (value) Threshold_SINR p_threshold_SINR + ) := { + threshold_SINR := p_threshold_SINR + } // End of template m_m1ThresholdType_threshold_SINR + + template (value) M1ThresholdType m_m1ThresholdType_choice_Extensions( + in template (value) M1ThresholdType.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_m1ThresholdType_choice_Extensions + + template (omit) M1PeriodicReporting m_m1PeriodicReporting( + in template (value) ReportIntervalMDT p_reportInterval, + in template (value) ReportAmountMDT p_reportAmount, + in template (omit) M1PeriodicReporting.iE_Extensions p_iE_Extensions := omit + ) := { + reportInterval := p_reportInterval, + reportAmount := p_reportAmount, + iE_Extensions := p_iE_Extensions + } // End of template m_m1PeriodicReporting + + template (value) M1PeriodicReporting.iE_Extensions m_m1PeriodicReporting_id_ExtendedReportIntervalMDT( + in template (value) ExtendedReportIntervalMDT p_extendedReportIntervalMDT + ) := { + { + id := id_ExtendedReportIntervalMDT, + criticality := ignore, + extensionValue := { ExtendedReportIntervalMDT := p_extendedReportIntervalMDT } + } + } // End of template m_m1PeriodicReporting_id_ExtendedReportIntervalMDT + + template (omit) M4Configuration m_m4Configuration( + in template (value) M4period p_m4period, + in template (value) Links_to_log p_m4_links_to_log, + in template (omit) M4Configuration.iE_Extensions p_iE_Extensions := omit + ) := { + m4period := p_m4period, + m4_links_to_log := p_m4_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template m_m4Configuration + + template (value) M4Configuration.iE_Extensions m_m4Configuration_id_M4ReportAmount( + in template (value) M4ReportAmountMDT p_m4ReportAmountMDT + ) := { + { + id := id_ExtendedReportIntervalMDT, + criticality := ignore, + extensionValue := { M4ReportAmountMDT := p_m4ReportAmountMDT } + } + } // End of template m_m4Configuration_id_M4ReportAmount + + template (value) M4ReportAmountMDT m_m4ReportAmountMDT(in M4ReportAmountMDT p_value := r1) := p_value; + + template (value) M4period m_m4period(in M4period p_value := ms1024) := p_value; + + template (omit) M5Configuration m_m5Configuration( + in template (value) M5period p_m5period, + in template (value) Links_to_log p_m5_links_to_log, + in template (omit) M5Configuration.iE_Extensions p_iE_Extensions := omit + ) := { + m5period := p_m5period, + m5_links_to_log := p_m5_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template m_m5Configuration + + template (value) M5Configuration.iE_Extensions m_m5Configuration_id_M5ReportAmount( + in template (value) M5ReportAmountMDT p_m5ReportAmountMDT + ) := { + { + id := id_M5ReportAmount, + criticality := ignore, + extensionValue := { M5ReportAmountMDT := p_m5ReportAmountMDT } + } + } // End of template m_m5Configuration_id_M5ReportAmount + + template (value) M5ReportAmountMDT m_m5ReportAmountMDT(in M5ReportAmountMDT p_value := r1) := p_value; + + template (value) M5period m_m5period(in M5period p_value := ms1024) := p_value; + + template (omit) M6Configuration m_m6Configuration( + in template (value) M6report_Interval p_m6report_Interval, + in template (value) Links_to_log p_m6_links_to_log, + in template (omit) M6Configuration.iE_Extensions p_iE_Extensions := omit + ) := { + m6report_Interval := p_m6report_Interval, + m6_links_to_log := p_m6_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template m_m6Configuration + + template (value) M6Configuration.iE_Extensions m_m6Configuration_id_M6ReportAmount( + in template (value) M6ReportAmountMDT p_m6ReportAmountMDT + ) := { + { + id := id_M6ReportAmount, + criticality := ignore, + extensionValue := { M6ReportAmountMDT := p_m6ReportAmountMDT } + } + } // End of template m_m6Configuration_id_M6ReportAmount + + template (value) M6Configuration.iE_Extensions m_m6Configuration_id_ExcessPacketDelayThresholdConfiguration( + in template (value) ExcessPacketDelayThresholdConfiguration p_excessPacketDelayThresholdConfiguration + ) := { + { + id := id_ExcessPacketDelayThresholdConfiguration, + criticality := ignore, + extensionValue := { ExcessPacketDelayThresholdConfiguration := p_excessPacketDelayThresholdConfiguration } + } + } // End of template m_m6Configuration_id_ExcessPacketDelayThresholdConfiguration + + template (value) M6ReportAmountMDT m_m6ReportAmountMDT(in M6ReportAmountMDT p_value := r1) := p_value; + + template (value) M6report_Interval m_m6report_Interval(in M6report_Interval p_value := ms120) := p_value; + + template (omit) M7Configuration m_m7Configuration( + in template (value) M7period p_m7period, + in template (value) Links_to_log p_m7_links_to_log, + in template (omit) M7Configuration.iE_Extensions p_iE_Extensions := omit + ) := { + m7period := p_m7period, + m7_links_to_log := p_m7_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template m_m7Configuration + + template (value) M7Configuration.iE_Extensions m_m7Configuration_id_M7ReportAmount( + in template (value) M7ReportAmountMDT p_m7ReportAmountMDT + ) := { + { + id := id_M7ReportAmount, + criticality := ignore, + extensionValue := { M7ReportAmountMDT := p_m7ReportAmountMDT } + } + } // End of template m_m7Configuration_id_M7ReportAmount + + template (value) M7ReportAmountMDT m_m7ReportAmountMDT(in M7ReportAmountMDT p_value := r1) := p_value; + + template (omit) MDT_Location_Info m_mDT_Location_Info( + in template (value) MDT_Location_Information p_mDT_Location_Information, + in template (omit) MDT_Location_Info.iE_Extensions p_iE_Extensions := omit + ) := { + mDT_Location_Information := p_mDT_Location_Information, + iE_Extensions := p_iE_Extensions + } // End of template m_mDT_Location_Info + + template (value) N3IWF_ID m_n3IWF_ID_n3IWF_ID( + in template (value) N3IWF_ID.n3IWF_ID p_n3IWF_ID + ) := { + n3IWF_ID := p_n3IWF_ID + } // End of template m_n3IWF_ID_n3IWF_ID + + template (value) N3IWF_ID m_n3IWF_ID_choice_Extensions( + in template (value) N3IWF_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_n3IWF_ID_choice_Extensions + + template (value) NB_IoT_DefaultPagingDRX m_nB_IoT_DefaultPagingDRX(in NB_IoT_DefaultPagingDRX p_value := rf128) := p_value; + + template (value) NB_IoT_PagingDRX m_nB_IoT_PagingDRX(in NB_IoT_PagingDRX p_value := rf32) := p_value; + + template (value) NB_IoT_Paging_eDRXCycle m_nB_IoT_Paging_eDRXCycle(in NB_IoT_Paging_eDRXCycle p_value := hf2) := p_value; + + template (value) NB_IoT_Paging_TimeWindow m_nB_IoT_Paging_TimeWindow(in NB_IoT_Paging_TimeWindow p_value := s1) := p_value; + + template (omit) NB_IoT_Paging_eDRXInfo m_nB_IoT_Paging_eDRXInfo( + in template (value) NB_IoT_Paging_eDRXCycle p_nB_IoT_Paging_eDRXCycle, + in template (omit) NB_IoT_Paging_TimeWindow p_nB_IoT_Paging_TimeWindow := omit, + in template (omit) NB_IoT_Paging_eDRXInfo.iE_Extensions p_iE_Extensions := omit + ) := { + nB_IoT_Paging_eDRXCycle := p_nB_IoT_Paging_eDRXCycle, + nB_IoT_Paging_TimeWindow := p_nB_IoT_Paging_TimeWindow, + iE_Extensions := p_iE_Extensions + } // End of template m_nB_IoT_Paging_eDRXInfo + + template (value) NewSecurityContextInd m_newSecurityContextInd(in NewSecurityContextInd p_value := true_) := p_value; + + template (value) NextPagingAreaScope m_nextPagingAreaScope(in NextPagingAreaScope p_value := same) := p_value; + + template (omit) NGAPIESupportInformationRequestItem m_nGAPIESupportInformationRequestItem( + in template (value) ProtocolIE_ID p_ngap_ProtocolIE_Id, + in template (omit) NGAPIESupportInformationRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + ngap_ProtocolIE_Id := p_ngap_ProtocolIE_Id, + iE_Extensions := p_iE_Extensions + } // End of template m_nGAPIESupportInformationRequestItem + + template (omit) NGAPIESupportInformationResponseItem m_nGAPIESupportInformationResponseItem( + in template (value) ProtocolIE_ID p_ngap_ProtocolIE_Id, + in template (value) NGAPIESupportInformationResponseItem.ngap_ProtocolIESupportInfo p_ngap_ProtocolIESupportInfo, + in template (value) NGAPIESupportInformationResponseItem.ngap_ProtocolIEPresenceInfo p_ngap_ProtocolIEPresenceInfo, + in template (omit) NGAPIESupportInformationResponseItem.iE_Extensions p_iE_Extensions := omit + ) := { + ngap_ProtocolIE_Id := p_ngap_ProtocolIE_Id, + ngap_ProtocolIESupportInfo := p_ngap_ProtocolIESupportInfo, + ngap_ProtocolIEPresenceInfo := p_ngap_ProtocolIEPresenceInfo, + iE_Extensions := p_iE_Extensions + } // End of template m_nGAPIESupportInformationResponseItem + + template (value) NgENB_ID m_ngENB_ID_macroNgENB_ID( + in template (value) NgENB_ID.macroNgENB_ID p_macroNgENB_ID := PX_MACRO_NGENB_ID + ) := { + macroNgENB_ID := p_macroNgENB_ID + } // End of template m_ngENB_ID_macroNgENB_ID + + template (value) NgENB_ID m_ngENB_ID_shortMacroNgENB_ID( + in template (value) NgENB_ID.shortMacroNgENB_ID p_shortMacroNgENB_ID := PX_SHORT_MACRO_NGENB_ID + ) := { + shortMacroNgENB_ID := p_shortMacroNgENB_ID + } // End of template m_ngENB_ID_shortMacroNgENB_ID + + template (value) NgENB_ID m_ngENB_ID_longMacroNgENB_ID( + in template (value) NgENB_ID.longMacroNgENB_ID p_longMacroNgENB_ID := PX_LONG_MACRO_NGENB_ID + ) := { + longMacroNgENB_ID := p_longMacroNgENB_ID + } // End of template m_ngENB_ID_longMacroNgENB_ID + + template (value) NgENB_ID m_ngENB_ID_choice_Extensions( + in template (value) NgENB_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_ngENB_ID_choice_Extensions + + template (value) NotifySourceNGRANNode m_notifySourceNGRANNode(in NotifySourceNGRANNode p_value := notifySource) := p_value; + + template (value) NGRAN_CGI m_ngENB_ID_nR_CGI( + in template (value) NR_CGI p_nR_CGI + ) := { + nR_CGI := p_nR_CGI + } // End of template m_ngENB_ID_nR_CGI + + template (value) NGRAN_CGI m_ngENB_ID_eUTRA_CGI( + in template (value) EUTRA_CGI p_eUTRA_CGI + ) := { + eUTRA_CGI := p_eUTRA_CGI + } // End of template m_ngENB_ID_eUTRA_CGI + + template (value) NGRAN_CGI m_nGRAN_CGI_choice_Extensions( + in template (value) NGRAN_CGI.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_nGRAN_CGI_choice_Extensions + + template (omit) NGRAN_TNLAssociationToRemoveItem m_nGRAN_TNLAssociationToRemoveItem( + in template (value) CPTransportLayerInformation p_tNLAssociationTransportLayerAddress, + in template (omit) CPTransportLayerInformation p_tNLAssociationTransportLayerAddressAMF := omit, + in template (omit) NGRAN_TNLAssociationToRemoveItem.iE_Extensions p_iE_Extensions := omit + ) := { + tNLAssociationTransportLayerAddress := p_tNLAssociationTransportLayerAddress, + tNLAssociationTransportLayerAddressAMF := p_tNLAssociationTransportLayerAddressAMF, + iE_Extensions := p_iE_Extensions + } // End of template m_nGRAN_TNLAssociationToRemoveItem + + template (omit) NonDynamic5QIDescriptor m_nonDynamic5QIDescriptor( + in template (value) FiveQI p_fiveQI, + in template (omit) PriorityLevelQos p_priorityLevelQos := omit, + in template (omit) AveragingWindow p_averagingWindow := omit, + in template (omit) MaximumDataBurstVolume p_maximumDataBurstVolume := omit, + in template (omit) NonDynamic5QIDescriptor.iE_Extensions p_iE_Extensions := omit + ) := { + fiveQI := p_fiveQI, + priorityLevelQos := p_priorityLevelQos, + averagingWindow := p_averagingWindow, + maximumDataBurstVolume := p_maximumDataBurstVolume, + iE_Extensions := p_iE_Extensions + } // End of template m_nonDynamic5QIDescriptor + + template (value) NonDynamic5QIDescriptor.iE_Extensions m_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetDL( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_CNPacketDelayBudgetDL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetDL + + template (value) NonDynamic5QIDescriptor.iE_Extensions m_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetUL( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_CNPacketDelayBudgetUL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetUL + + template (value) NotificationCause m_notificationCause(in NotificationCause p_value := fulfilled) := p_value; + + template (value) NotificationControl m_notificationControl(in NotificationControl p_value := notification_requested) := p_value; + + template (value) NPN_AccessInformation m_nPN_AccessInformation_pNI_NPN_Access_Information( + in template (value) CellCAGList p_pNI_NPN_Access_Information + ) := { + pNI_NPN_Access_Information := p_pNI_NPN_Access_Information + } // End of template m_nPN_AccessInformation_pNI_NPN_Access_Information + + template (value) NPN_AccessInformation m_nPN_AccessInformation_choice_Extensions( + in template (value) NPN_AccessInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_nPN_AccessInformation_choice_Extensions + + template (value) NPN_MobilityInformation m_nPN_MobilityInformation_sNPN_MobilityInformation( + in template (value) SNPN_MobilityInformation p_sNPN_MobilityInformation + ) := { + sNPN_MobilityInformation := p_sNPN_MobilityInformation + } // End of template m_nPN_MobilityInformation_sNPN_MobilityInformation + + template (value) NPN_MobilityInformation m_nPN_MobilityInformation_pNI_NPN_MobilityInformation( + in template (value) PNI_NPN_MobilityInformation p_pNI_NPN_MobilityInformation + ) := { + pNI_NPN_MobilityInformation := p_pNI_NPN_MobilityInformation + } // End of template m_nPN_MobilityInformation_pNI_NPN_MobilityInformation + + template (value) NPN_MobilityInformation m_nPN_MobilityInformation_choice_Extensions( + in template (value) NPN_MobilityInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_nPN_MobilityInformation_choice_Extensions + + template (value) NPN_PagingAssistanceInformation m_nPN_PagingAssistanceInformation_pNI_NPN_PagingAssistance( + in template (value) Allowed_PNI_NPN_List p_pNI_NPN_PagingAssistance + ) := { + pNI_NPN_PagingAssistance := p_pNI_NPN_PagingAssistance + } // End of template m_nPN_PagingAssistanceInformation_pNI_NPN_PagingAssistance + + template (value) NPN_PagingAssistanceInformation m_nPN_PagingAssistanceInformation_choice_Extensions( + in template (value) NPN_PagingAssistanceInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_nPN_PagingAssistanceInformation_choice_Extensions + + template (value) NPN_Support m_nPN_Support_sNPN( + in template (value) NID p_sNPN + ) := { + sNPN := p_sNPN + } // End of template m_nPN_Support_sNPN + + template (value) NPN_Support m_nPN_Support_choice_Extensions( + in template (value) NPN_Support.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_nPN_Support_choice_Extensions + + template (omit) NR_CGI m_nR_CGI( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) NRCellIdentity p_nRCellIdentity := PX_NR_CELL_IDENTITY, + in template (omit) NR_CGI.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + nRCellIdentity := p_nRCellIdentity, + iE_Extensions := p_iE_Extensions + } // End of template m_nR_CGI + + template (omit) NR_PagingeDRXInformation m_NR_PagingeDRXInformation( + in template (value) NR_Paging_eDRX_Cycle p_nR_paging_eDRX_Cycle, + in template (omit) NR_Paging_Time_Window p_nR_paging_Time_Window := omit, + in template (omit) NR_PagingeDRXInformation.iE_Extensions p_iE_Extensions := omit + ) := { + nR_paging_eDRX_Cycle := p_nR_paging_eDRX_Cycle, + nR_paging_Time_Window := p_nR_paging_Time_Window, + iE_Extensions := p_iE_Extensions + } // End of template m_NR_PagingeDRXInformation + + template (value) NR_Paging_eDRX_Cycle m_nR_Paging_eDRX_Cycle(in NR_Paging_eDRX_Cycle p_value := hfquarter) := p_value; + + template (value) NR_Paging_Time_Window m_nR_Paging_Time_Window(in NR_Paging_Time_Window p_value := s1) := p_value; + + template (omit) NRNTNTAIInformation m_nRNTNTAIInformation( + in template (value) PLMNIdentity p_servingPLMN, + in template (value) TACListInNRNTN p_tACListInNRNTN, + in template (omit) TAC p_uELocationDerivedTACInNRNTN := omit, + in template (omit) NRNTNTAIInformation.iE_Extensions p_iE_Extensions := omit + ) := { + servingPLMN := p_servingPLMN, + tACListInNRNTN := p_tACListInNRNTN, + uELocationDerivedTACInNRNTN := p_uELocationDerivedTACInNRNTN, + iE_Extensions := p_iE_Extensions + } // End of template m_nRNTNTAIInformation + + template (omit) NRFrequencyBandItem m_nRFrequencyBandItem( + in template (value) NRFrequencyBand p_nr_frequency_band, + in template (omit) NRFrequencyBandItem.iE_Extension p_iE_Extension := omit + ) := { + nr_frequency_band := p_nr_frequency_band, + iE_Extension := p_iE_Extension + } // End of template m_nRFrequencyBandItem + + template (omit) NRFrequencyInfo m_nRFrequencyInfo( + in template (value) NRARFCN p_nrARFCN, + in template (value) NRFrequencyBand_List p_frequencyBand_List, + in template (omit) NRFrequencyInfo.iE_Extension p_iE_Extension := omit + ) := { + nrARFCN := p_nrARFCN, + frequencyBand_List := p_frequencyBand_List, + iE_Extension := p_iE_Extension + } // End of template m_nRFrequencyInfo + + template (omit) NRV2XServicesAuthorized m_nRV2XServicesAuthorized( + in template (omit) VehicleUE p_vehicleUE := omit, + in template (omit) PedestrianUE p_pedestrianUE := omit, + in template (omit) NRV2XServicesAuthorized.iE_Extensions p_iE_Extensions := omit + + ) := { + vehicleUE := p_vehicleUE, + pedestrianUE := p_pedestrianUE, + iE_Extensions := p_iE_Extensions + } // End of template m_nRV2XServicesAuthorized + + template (value) VehicleUE m_vehicleUE(in VehicleUE p_value := authorized) := p_value; + + template (value) PedestrianUE m_pedestrianUE(in PedestrianUE p_value := authorized) := p_value; + + template (omit) NRUESidelinkAggregateMaximumBitrate m_nRUESidelinkAggregateMaximumBitrate( + in template (value) BitRate p_uESidelinkAggregateMaximumBitRate := PX_UE_SIDELINK_AGGREGATE_MAXIMUM_BIT_RATE, + in template (omit) NRUESidelinkAggregateMaximumBitrate.iE_Extensions p_iE_Extensions := omit + ) := { + uESidelinkAggregateMaximumBitRate := p_uESidelinkAggregateMaximumBitRate, + iE_Extensions := p_iE_Extensions + } // End of template m_nRUESidelinkAggregateMaximumBitrate + + template (value) OnboardingSupport m_onboardingSupport(in OnboardingSupport p_value := true_) := p_value; + + template (value) OverloadAction m_overloadAction(in OverloadAction p_value := reject_non_emergency_mo_dt) := p_value; + + template (value) OverloadResponse m_overloadResponse_overloadAction( + in template (value) OverloadAction p_overloadAction + ) := { + overloadAction := p_overloadAction + } // End of template m_overloadResponse_overloadAction + + template (value) OverloadResponse m_overloadResponse_choice_Extensions( + in template (value) OverloadResponse.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_overloadResponse_choice_Extensions + + template (omit) OverloadStartNSSAIItem m_overloadStartNSSAIItem( + in template (value) SliceOverloadList p_sliceOverloadList, + in template (omit) OverloadResponse p_sliceOverloadResponse := omit, + in template (omit) TrafficLoadReductionIndication p_sliceTrafficLoadReductionIndication := omit, + in template (omit) OverloadStartNSSAIItem.iE_Extensions p_iE_Extensions := omit + ) := { + sliceOverloadList := p_sliceOverloadList, + sliceOverloadResponse := p_sliceOverloadResponse, + sliceTrafficLoadReductionIndication := p_sliceTrafficLoadReductionIndication, + iE_Extensions := p_iE_Extensions + } // End of template m_overloadStartNSSAIItem + + template (omit) PacketErrorRate m_PacketErrorRate( + in template (value) PacketErrorRate.pERScalar p_pERScalar, + in template (value) PacketErrorRate.pERExponent p_pERExponent, + in template (omit) PacketErrorRate.iE_Extensions p_iE_Extensions := omit + ) := { + pERScalar := p_pERScalar, + pERExponent := p_pERExponent, + iE_Extensions := p_iE_Extensions + } // End of template m_PacketErrorRate + + template (omit) PagingAssisDataforCEcapabUE m_pagingAssisDataforCEcapabUE( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (value) CoverageEnhancementLevel p_coverageEnhancementLevel, + in template (omit) PagingAssisDataforCEcapabUE.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + coverageEnhancementLevel := p_coverageEnhancementLevel, + iE_Extensions := p_iE_Extensions + } // End of template m_pagingAssisDataforCEcapabUE + + template (omit) PagingAttemptInformation m_pagingAttemptInformation( + in template (value) PagingAttemptCount p_pagingAttemptCount, + in template (value) IntendedNumberOfPagingAttempts p_intendedNumberOfPagingAttempts, + in template (omit) NextPagingAreaScope p_nextPagingAreaScope := omit, + in template (omit) PagingAttemptInformation.iE_Extensions p_iE_Extensions := omit + ) := { + pagingAttemptCount := p_pagingAttemptCount, + intendedNumberOfPagingAttempts := p_intendedNumberOfPagingAttempts, + nextPagingAreaScope := p_nextPagingAreaScope, + iE_Extensions := p_iE_Extensions + } // End of template m_pagingAttemptInformation + + template (value) PagingCause m_pagingCause(in PagingCause p_value := voice) := p_value; + + template (value) PagingCauseIndicationForVoiceService m_pagingCauseIndicationForVoiceService(in PagingCauseIndicationForVoiceService p_value := supported) := p_value; + + template (value) PagingDRX m_pagingDRX(in PagingDRX p_value := v256) := p_value; + + template (value) PagingOrigin m_pagingOrigin(in PagingOrigin p_value := non_3gpp) := p_value; + + template (value) PagingPriority m_pagingPriority(in PagingPriority p_value := priolevel1) := p_value; + + template (value) PagingProbabilityInformation m_pagingProbabilityInformation(in PagingProbabilityInformation p_value := p00) := p_value; + + template (omit) PathSwitchRequestAcknowledgeTransfer m_PathSwitchRequestAcknowledgeTransfer( + in template (omit) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := omit, + in template (omit) SecurityIndication p_securityIndication := omit, + in template (omit) PathSwitchRequestAcknowledgeTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + securityIndication := p_securityIndication, + iE_Extensions := p_iE_Extensions + } // End of template m_PathSwitchRequestAcknowledgeTransfer + + template (value) PathSwitchRequestAcknowledgeTransfer.iE_Extensions m_pathSwitchRequestAcknowledgeTransfer_id_AdditionalNGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList + ) := { + { + id := id_AdditionalNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template m_pathSwitchRequestAcknowledgeTransfer_id_AdditionalNGU_UP_TNLInformation + + template (value) PathSwitchRequestAcknowledgeTransfer.iE_Extensions m_pathSwitchRequestAcknowledgeTransfer_id_RedundantUL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pathSwitchRequestAcknowledgeTransfer_id_RedundantUL_NGU_UP_TNLInformation + + template (value) PathSwitchRequestAcknowledgeTransfer.iE_Extensions m_pathSwitchRequestAcknowledgeTransfer_id_AdditionalRedundantNGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList + ) := { + { + id := id_AdditionalRedundantNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template m_pathSwitchRequestAcknowledgeTransfer_id_AdditionalRedundantNGU_UP_TNLInformation + + template (value) PathSwitchRequestAcknowledgeTransfer.iE_Extensions m_pathSwitchRequestAcknowledgeTransfer_id_QosFlowParametersList( + in template (value) QosFlowParametersList p_qosFlowParametersList + ) := { + { + id := id_QosFlowParametersList, + criticality := ignore, + extensionValue := { QosFlowParametersList := p_qosFlowParametersList } + } + } // End of template m_pathSwitchRequestAcknowledgeTransfer_id_QosFlowParametersList + + template (omit) PathSwitchRequestSetupFailedTransfer m_pathSwitchRequestSetupFailedTransfer( + in template (value) Cause p_cause, + in template (omit) PathSwitchRequestSetupFailedTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pathSwitchRequestSetupFailedTransfer + + template (omit) PathSwitchRequestTransfer m_pathSwitchRequestTransfer( + in template (value) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation, + in template (value) QosFlowAcceptedList p_qosFlowAcceptedList, + in template (omit) DL_NGU_TNLInformationReused p_dL_NGU_TNLInformationReused := omit, + in template (omit) UserPlaneSecurityInformation p_userPlaneSecurityInformation := omit, + in template (omit) PathSwitchRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + dL_NGU_TNLInformationReused := p_dL_NGU_TNLInformationReused, + userPlaneSecurityInformation := p_userPlaneSecurityInformation, + qosFlowAcceptedList := p_qosFlowAcceptedList, + iE_Extensions := p_iE_Extensions + } // End of template m_pathSwitchRequestTransfer + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransferr_id_AdditionalDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList + ) := { + { + id := id_AdditionalDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template m_pathSwitchRequestTransferr_id_AdditionalDLQosFlowPerTNLInformation + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransferr_id_RedundantDL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pathSwitchRequestTransferr_id_RedundantDL_NGU_UP_TNLInformation + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransferr_id_RedundantDL_NGU_TNLInformationReused( + in template (value) DL_NGU_TNLInformationReused p_dL_NGU_TNLInformationReused + ) := { + { + id := id_RedundantDL_NGU_TNLInformationReused, + criticality := ignore, + extensionValue := { DL_NGU_TNLInformationReused := p_dL_NGU_TNLInformationReused } + } + } // End of template m_pathSwitchRequestTransferr_id_RedundantDL_NGU_TNLInformationReused + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransferr_id_AdditionalRedundantDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template m_pathSwitchRequestTransferr_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransferr_id_UsedRSNInformation( + in template (value) RedundantPDUSessionInformation p_redundantPDUSessionInformation + ) := { + { + id := id_UsedRSNInformation, + criticality := ignore, + extensionValue := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template m_pathSwitchRequestTransferr_id_UsedRSNInformation + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransferr_id_GlobalRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template m_pathSwitchRequestTransferr_id_GlobalRANNodeID + + template (value) PathSwitchRequestTransfer.iE_Extensions m_pathSwitchRequestTransfer_id_MBS_SupportIndicator( + in template (value) MBS_SupportIndicator p_mBS_SupportIndicator + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template m_pathSwitchRequestTransfer_id_MBS_SupportIndicator + + template (omit) PathSwitchRequestUnsuccessfulTransfer m_pathSwitchRequestUnsuccessfulTransfer( + in template (value) Cause p_cause, + in template (omit) PathSwitchRequestUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pathSwitchRequestUnsuccessfulTransfer + + template (omit) PC5QoSParameters m_pC5QoSParameters( + in template (value) PC5QoSFlowList p_pc5QoSFlowList, + in template (omit) BitRate p_pc5LinkAggregateBitRates := omit, + in template (omit) PC5QoSParameters.iE_Extensions p_iE_Extensions := omit + ) := { + pc5QoSFlowList := p_pc5QoSFlowList, + pc5LinkAggregateBitRates := p_pc5LinkAggregateBitRates, + iE_Extensions := p_iE_Extensions + } // End of template m_pC5QoSParameters + + template (omit) PC5QoSFlowItem m_pC5QoSFlowItem( + in template (value) FiveQI p_pQI := PX_FIVE_QI, + in template (omit) PC5FlowBitRates p_pc5FlowBitRates := omit, + in template (omit) Range p_range := omit, + in template (omit) PC5QoSFlowItem.iE_Extensions p_iE_Extensions := omit + ) := { + pQI := p_pQI, + pc5FlowBitRates := p_pc5FlowBitRates, + range := p_range, + iE_Extensions := p_iE_Extensions + } // End of template m_pC5QoSFlowItem + + template (omit) PC5FlowBitRates m_pC5FlowBitRates( + in template (value) BitRate p_guaranteedFlowBitRate, + in template (value) BitRate p_maximumFlowBitRate, + in template (omit) PC5FlowBitRates.iE_Extensions p_iE_Extensions := omit + ) := { + guaranteedFlowBitRate := p_guaranteedFlowBitRate, + maximumFlowBitRate := p_maximumFlowBitRate, + iE_Extensions := p_iE_Extensions + } // End of template m_pC5FlowBitRates + + template (value) PrivacyIndicator m_privacyIndicator(in PrivacyIndicator p_value := immediate_MDT) := p_value; + + template (omit) PDUSessionAggregateMaximumBitRate m_pDUSessionAggregateMaximumBitRate( + in template (value) BitRate p_pDUSessionAggregateMaximumBitRateDL, + in template (value) BitRate p_pDUSessionAggregateMaximumBitRateUL, + in template (omit) PDUSessionAggregateMaximumBitRate.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionAggregateMaximumBitRateDL := p_pDUSessionAggregateMaximumBitRateDL, + pDUSessionAggregateMaximumBitRateUL := p_pDUSessionAggregateMaximumBitRateUL, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionAggregateMaximumBitRate + + template (omit) PDUSessionResourceAdmittedItem m_pDUSessionResourceAdmittedItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceAdmittedItem.handoverRequestAcknowledgeTransfer p_handoverRequestAcknowledgeTransfer, + in template (omit) PDUSessionResourceAdmittedItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + handoverRequestAcknowledgeTransfer := p_handoverRequestAcknowledgeTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceAdmittedItem + + template (omit) PDUSessionResourceFailedToModifyItemModCfm m_pDUSessionResourceFailedToModifyItemModCfm( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToModifyItemModCfm.pDUSessionResourceModifyIndicationUnsuccessfulTransfer p_pDUSessionResourceModifyIndicationUnsuccessfulTransfer, + in template (omit) PDUSessionResourceFailedToModifyItemModCfm.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyIndicationUnsuccessfulTransfer := p_pDUSessionResourceModifyIndicationUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToModifyItemModCfm + + template (omit) PDUSessionResourceFailedToModifyItemModRes m_pDUSessionResourceFailedToModifyItemModRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToModifyItemModRes.pDUSessionResourceModifyUnsuccessfulTransfer p_pDUSessionResourceModifyUnsuccessfulTransfer, + in template (omit) PDUSessionResourceFailedToModifyItemModRes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyUnsuccessfulTransfer := p_pDUSessionResourceModifyUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToModifyItemModRes + + template (omit) PDUSessionResourceFailedToResumeItemRESReq m_pDUSessionResourceFailedToResumeItemRESReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) Cause p_cause, + in template (omit) PDUSessionResourceFailedToResumeItemRESReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToResumeItemRESReq + + template (omit) PDUSessionResourceFailedToResumeItemRESRes m_pDUSessionResourceFailedToResumeItemRESRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) Cause p_cause, + in template (omit) PDUSessionResourceFailedToResumeItemRESRes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToResumeItemRESRes + + template (omit) PDUSessionResourceFailedToSetupItemCxtFail m_pDUSessionResourceFailedToSetupItemCxtFail( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToSetupItemCxtFail.pDUSessionResourceSetupUnsuccessfulTransfer p_pDUSessionResourceSetupUnsuccessfulTransfer, + in template (omit) PDUSessionResourceFailedToSetupItemCxtFail.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer := p_pDUSessionResourceSetupUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToSetupItemCxtFail + + template (omit) PDUSessionResourceFailedToSetupItemCxtRes m_pDUSessionResourceFailedToSetupItemCxtRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToSetupItemCxtRes.pDUSessionResourceSetupUnsuccessfulTransfer p_pDUSessionResourceSetupUnsuccessfulTransfer, + in template (omit) PDUSessionResourceFailedToSetupItemCxtRes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer := p_pDUSessionResourceSetupUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToSetupItemCxtRes + + template (omit) PDUSessionResourceFailedToSetupItemHOAck m_pDUSessionResourceFailedToSetupItemHOAck( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToSetupItemHOAck.handoverResourceAllocationUnsuccessfulTransfer p_handoverResourceAllocationUnsuccessfulTransfer, + in template (omit) PDUSessionResourceFailedToSetupItemHOAck.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + handoverResourceAllocationUnsuccessfulTransfer := p_handoverResourceAllocationUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToSetupItemHOAck + + template (omit) PDUSessionResourceFailedToSetupItemPSReq m_pDUSessionResourceFailedToSetupItemPSReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToSetupItemPSReq.pathSwitchRequestSetupFailedTransfer p_pathSwitchRequestSetupFailedTransfer, + in template (omit) PDUSessionResourceFailedToSetupItemPSReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestSetupFailedTransfer := p_pathSwitchRequestSetupFailedTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToSetupItemPSReq + + template (omit) PDUSessionResourceFailedToSetupItemSURes m_pDUSessionResourceFailedToSetupItemSURes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceFailedToSetupItemSURes.pDUSessionResourceSetupUnsuccessfulTransfer p_pDUSessionResourceSetupUnsuccessfulTransfer, + in template (omit) PDUSessionResourceFailedToSetupItemSURes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer := p_pDUSessionResourceSetupUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceFailedToSetupItemSURes + + template (omit) PDUSessionResourceHandoverItem m_pDUSessionResourceHandoverItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceHandoverItem.handoverCommandTransfer p_handoverCommandTransfer, + in template (omit) PDUSessionResourceHandoverItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + handoverCommandTransfer := p_handoverCommandTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceHandoverItem + + template (omit) PDUSessionResourceInformationItem m_pDUSessionResourceInformationItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) QosFlowInformationList p_qosFlowInformationList, + in template (omit) DRBsToQosFlowsMappingList p_dRBsToQosFlowsMappingList := omit, + in template (omit) PDUSessionResourceInformationItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + qosFlowInformationList := p_qosFlowInformationList, + dRBsToQosFlowsMappingList := p_dRBsToQosFlowsMappingList, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceInformationItem + + template (omit) PDUSessionResourceItemCxtRelCpl m_pDUSessionResourceItemCxtRelCpl( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (omit) PDUSessionResourceItemCxtRelCpl.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceItemCxtRelCpl + + template (value) PDUSessionResourceItemCxtRelCpl.iE_Extensions m_pDUSessionResourceItemCxtRelCpl_id_PDUSessionResourceReleaseResponseTransfer( + in template (value) PDUSessionResourceReleaseResponseTransfer_OCTET_STRING p_pDUSessionResourceReleaseResponseTransfer_OCTET_STRING + ) := { + { + id := id_PDUSessionResourceReleaseResponseTransfer, + criticality := ignore, + extensionValue := { PDUSessionResourceReleaseResponseTransfer_OCTET_STRING := p_pDUSessionResourceReleaseResponseTransfer_OCTET_STRING } + } + } // End of template m_pDUSessionResourceItemCxtRelCpl_id_PDUSessionResourceReleaseResponseTransfer + + template (omit) PDUSessionResourceItemCxtRelReq m_pDUSessionResourceItemCxtRelReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (omit) PDUSessionResourceItemCxtRelReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceItemCxtRelReq + + template (omit) PDUSessionResourceItemHORqd m_pDUSessionResourceItemHORqd( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceItemHORqd.handoverRequiredTransfer p_handoverRequiredTransfer, + in template (omit) PDUSessionResourceItemHORqd.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + handoverRequiredTransfer := p_handoverRequiredTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceItemHORqd + + template (omit) PDUSessionResourceModifyConfirmTransfer m_pDUSessionResourceModifyConfirmTransfer( + in template (value) QosFlowModifyConfirmList p_qosFlowModifyConfirmList, + in template (value) UPTransportLayerInformation p_uLNGU_UP_TNLInformation, + in template (omit) UPTransportLayerInformationPairList p_additionalNG_UUPTNLInformation := omit, + in template (omit) QosFlowListWithCause p_qosFlowFailedToModifyList := omit, + in template (omit) PDUSessionResourceModifyConfirmTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowModifyConfirmList := p_qosFlowModifyConfirmList, + uLNGU_UP_TNLInformation := p_uLNGU_UP_TNLInformation, + additionalNG_UUPTNLInformation := p_additionalNG_UUPTNLInformation, + qosFlowFailedToModifyList := p_qosFlowFailedToModifyList, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyConfirmTransfer + + template (value) PDUSessionResourceModifyConfirmTransfer.iE_Extensions m_pDUSessionResourceModifyConfirmTransfer_id_RedundantUL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pDUSessionResourceModifyConfirmTransferr_id_RedundantUL_NGU_UP_TNLInformation + + template (value) PDUSessionResourceModifyConfirmTransfer.iE_Extensions m_pDUSessionResourceModifyConfirmTransfer_id_AdditionalRedundantNGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList + ) := { + { + id := id_AdditionalRedundantNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template m_pDUSessionResourceModifyConfirmTransferr_id_AdditionalRedundantNGU_UP_TNLInformation + + template (omit) PDUSessionResourceModifyIndicationUnsuccessfulTransfer m_pDUSessionResourceModifyIndicationUnsuccessfulTransfer( + in template (value) Cause p_cause, + in template (omit) PDUSessionResourceModifyIndicationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyIndicationUnsuccessfulTransfer + + template (value) PDUSessionResourceModifyRequestTransfer m_pDUSessionResourceModifyRequestTransfer( + in template (omit) PDUSessionResourceModifyRequestTransfer.protocolIEs p_protocolIEs + ) := { + protocolIEs := p_protocolIEs + } // End of template m_pDUSessionResourceModifyRequestTransfer + + template (value) PDUSessionResourceModifyRequestTransfer m_pDUSessionResourceModifyRequestTransfer_options( + in template (value) UL_NGU_UP_TNLModifyList p_uL_NGU_UP_TNLModifyList, + in template (value) QosFlowAddOrModifyRequestList p_qosFlowAddOrModifyRequestList + ) := { + protocolIEs := { + { + id := id_UL_NGU_UP_TNLModifyList, + criticality := reject, + value_ := { UL_NGU_UP_TNLModifyList := p_uL_NGU_UP_TNLModifyList } + }, + { + id := id_QosFlowAddOrModifyRequestList, + criticality := reject, + value_ := { QosFlowAddOrModifyRequestList := p_qosFlowAddOrModifyRequestList } + } + } + } // End of template m_pDUSessionResourceModifyRequestTransfer_options + + template (omit) PDUSessionResourceModifyResponseTransfer m_pDUSessionResourceModifyResponseTransfer( + in template (omit) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := omit, + in template (omit) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := omit, + in template (omit) QosFlowAddOrModifyResponseList p_qosFlowAddOrModifyResponseList := omit, + in template (omit) QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := omit, + in template (omit) QosFlowListWithCause p_qosFlowFailedToAddOrModifyList := omit, + in template (omit) PDUSessionResourceModifyResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + qosFlowAddOrModifyResponseList := p_qosFlowAddOrModifyResponseList, + additionalDLQosFlowPerTNLInformation := p_additionalDLQosFlowPerTNLInformation, + qosFlowFailedToAddOrModifyList := p_qosFlowFailedToAddOrModifyList, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyResponseTransfer + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_AdditionalNGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList + ) := { + { + id := id_AdditionalNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_AdditionalNGU_UP_TNLInformation + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_RedundantDL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_RedundantDL_NGU_UP_TNLInformation + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_RedundantUL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_RedundantUL_NGU_UP_TNLInformation + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantNGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList + ) := { + { + id := id_AdditionalRedundantNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantNGU_UP_TNLInformation + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_SecondaryRATUsageInformation( + in template (value) SecondaryRATUsageInformation p_secondaryRATUsageInformation + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_SecondaryRATUsageInformation + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_MBS_SupportIndicator( + in template (value) MBS_SupportIndicator p_mBS_SupportIndicator + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_MBS_SupportIndicator + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_MBSSessionSetuporModifyResponseList( + in template (value) MBSSessionSetupResponseList p_mBSSessionSetupResponseList + ) := { + { + id := id_MBSSessionSetuporModifyResponseList, + criticality := ignore, + extensionValue := { MBSSessionSetupResponseList := p_mBSSessionSetupResponseList } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_MBSSessionSetuporModifyResponseList + + template (value) PDUSessionResourceModifyResponseTransfer.iE_Extensions m_pDUSessionResourceModifyResponseTransfer_id_MBSSessionFailedtoSetuporModifyList( + in template (value) MBSSessionFailedtoSetupList p_mBSSessionFailedtoSetupList + ) := { + { + id := id_MBSSessionFailedtoSetuporModifyList, + criticality := ignore, + extensionValue := { MBSSessionFailedtoSetupList := p_mBSSessionFailedtoSetupList } + } + } // End of template m_pDUSessionResourceModifyResponseTransfer_id_MBSSessionFailedtoSetuporModifyList + + template (omit) PDUSessionResourceModifyIndicationTransfer m_pDUSessionResourceModifyIndicationTransfer( + in template (value) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation, + in template (omit) QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := omit, + in template (omit) PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + dLQosFlowPerTNLInformation := p_dLQosFlowPerTNLInformation, + additionalDLQosFlowPerTNLInformation := p_additionalDLQosFlowPerTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyIndicationTransfer + + template (value) PDUSessionResourceModifyIndicationTransfer.iE_Extensions m_pDUSessionResourceModifyIndicationTransfer_id_SecondaryRATUsageInformation( + in template (value) SecondaryRATUsageInformation p_secondaryRATUsageInformation + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template m_pDUSessionResourceModifyIndicationTransfer_id_SecondaryRATUsageInformation + + template (value) PDUSessionResourceModifyIndicationTransfer.iE_Extensions m_pDUSessionResourceModifyIndicationTransfer_id_SecurityResult( + in template (value) SecurityResult p_securityResult + ) := { + { + id := id_SecurityResult, + criticality := ignore, + extensionValue := { SecurityResult := p_securityResult } + } + } // End of template m_pDUSessionResourceModifyIndicationTransfer_id_SecurityResult + + template (value) PDUSessionResourceModifyIndicationTransfer.iE_Extensions m_pDUSessionResourceModifyIndicationTransfer_id_RedundantDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformation p_qosFlowPerTNLInformation + ) := { + { + id := id_RedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformation := p_qosFlowPerTNLInformation } + } + } // End of template m_pDUSessionResourceModifyIndicationTransfer_id_RedundantDLQosFlowPerTNLInformation + + template (value) PDUSessionResourceModifyIndicationTransfer.iE_Extensions m_pDUSessionResourceModifyIndicationTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template m_pDUSessionResourceModifyIndicationTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (value) PDUSessionResourceModifyIndicationTransfer.iE_Extensions m_pDUSessionResourceModifyIndicationTransfer_id_GlobalRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template m_pDUSessionResourceModifyIndicationTransfer_id_GlobalRANNodeID + + template (omit) PDUSessionResourceModifyItemModCfm m_pDUSessionResourceModifyItemModCfm( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceModifyItemModCfm.pDUSessionResourceModifyConfirmTransfer p_pDUSessionResourceModifyConfirmTransfer, + in template (omit) PDUSessionResourceModifyItemModCfm.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyConfirmTransfer := p_pDUSessionResourceModifyConfirmTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyItemModCfm + + template (omit) PDUSessionResourceModifyItemModInd m_pDUSessionResourceModifyItemModInd( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceModifyItemModInd.pDUSessionResourceModifyIndicationTransfer p_pDUSessionResourceModifyIndicationTransfer, + in template (omit) PDUSessionResourceModifyItemModInd.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyIndicationTransfer := p_pDUSessionResourceModifyIndicationTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyItemModInd + + template (omit) PDUSessionResourceModifyItemModReq m_pDUSessionResourceModifyItemModReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceModifyItemModReq.pDUSessionResourceModifyRequestTransfer p_pDUSessionResourceModifyRequestTransfer, + in template (omit) NAS_PDU p_nAS_PDU := omit, + in template (omit) PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + nAS_PDU := p_nAS_PDU, + pDUSessionResourceModifyRequestTransfer := p_pDUSessionResourceModifyRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyItemModReq + + template (value) PDUSessionResourceModifyItemModReq.iE_Extensions m_pDUSessionResourceModifyItemModReq_id_S_NSSAI( + in template (value) S_NSSAI p_s_nSSAI + ) := { + { + id := id_S_NSSAI, + criticality := reject, + extensionValue := { S_NSSAI := p_s_nSSAI } + } + } // End of template m_pDUSessionResourceModifyItemModReq_id_S_NSSAI + + template (value) PDUSessionResourceModifyItemModReq.iE_Extensions m_pDUSessionResourceModifyItemModReq_id_PduSessionExpectedUEActivityBehaviour( + in template (value) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template m_pDUSessionResourceModifyItemModReq_id_PduSessionExpectedUEActivityBehaviour + + template (value) PDUSessionResourceModifyItemModReq.iE_Extensions m_pDUSessionResourceModifyItemModReq_full( + in template (value) S_NSSAI p_s_nSSAI, + in template (value) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour + ) := { + { + id := id_S_NSSAI, + criticality := reject, + extensionValue := { S_NSSAI := p_s_nSSAI } + }, + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template m_pDUSessionResourceModifyItemModReq_full + + template (omit) PDUSessionResourceModifyItemModRes m_pDUSessionResourceModifyItemModRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceModifyItemModRes.pDUSessionResourceModifyResponseTransfer p_pDUSessionResourceModifyResponseTransfer, + in template (omit) PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := omit + ) := { + + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyResponseTransfer := p_pDUSessionResourceModifyResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyItemModRes + + template (omit) PDUSessionResourceModifyUnsuccessfulTransfer m_pDUSessionResourceModifyUnsuccessfulTransfer( + in template (value) Cause p_cause, + in template (omit) CriticalityDiagnostics p_criticalityDiagnostics := omit, + in template (omit) PDUSessionResourceModifyUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceModifyUnsuccessfulTransfer + + template (omit) PDUSessionResourceNotifyItem m_pDUSessionResourceNotifyItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceNotifyItem.pDUSessionResourceNotifyTransfer p_pDUSessionResourceNotifyTransfer, + in template (omit) PDUSessionResourceNotifyItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceNotifyTransfer := p_pDUSessionResourceNotifyTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceNotifyItem + + template (omit) PDUSessionResourceNotifyReleasedTransfer m_pDUSessionResourceNotifyReleasedTransfer( + in template (value) Cause p_cause, + in template (omit) PDUSessionResourceNotifyReleasedTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceNotifyReleasedTransfer + + template (value) PDUSessionResourceNotifyReleasedTransfer.iE_Extensions m_pDUSessionResourceNotifyReleasedTransfer_id_SecondaryRATUsageInformation( + in template (value) SecondaryRATUsageInformation p_secondaryRATUsageInformation + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template m_pDUSessionResourceNotifyReleasedTransfer_id_SecondaryRATUsageInformation + + template (omit) PDUSessionResourceNotifyTransfer m_pDUSessionResourceNotifyTransfer( + in template (omit) QosFlowNotifyList p_qosFlowNotifyList := omit, + in template (omit) QosFlowListWithCause p_qosFlowReleasedList := omit, + in template (omit) PDUSessionResourceNotifyTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowNotifyList := p_qosFlowNotifyList, + qosFlowReleasedList := p_qosFlowReleasedList, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceNotifyTransfer + + template (value) PDUSessionResourceNotifyTransfer.iE_Extensions m_pDUSessionResourceNotifyTransfer_id_SecondaryRATUsageInformation( + in template (value) SecondaryRATUsageInformation p_secondaryRATUsageInformation + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template m_pDUSessionResourceNotifyReleasedTransfer_id_SecondaryRATUsageInformation + + template (value) PDUSessionResourceNotifyTransfer.iE_Extensions m_pDUSessionResourceNotifyTransfer_id_QosFlowFeedbackList( + in template (value) QosFlowFeedbackList p_qosFlowFeedbackList + ) := { + { + id := id_QosFlowFeedbackList, + criticality := ignore, + extensionValue := { QosFlowFeedbackList := p_qosFlowFeedbackList } + } + } // End of template m_pDUSessionResourceNotifyReleasedTransfer_id_QosFlowFeedbackList + + template (omit) PDUSessionResourceReleaseCommandTransfer m_pDUSessionResourceReleaseCommandTransfer( + in template (value) Cause p_cause, + in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceReleaseCommandTransfer + + template (omit) PDUSessionResourceReleasedItemNot m_pDUSessionResourceReleasedItemNot( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceReleasedItemNot.pDUSessionResourceNotifyReleasedTransfer p_pDUSessionResourceNotifyReleasedTransfer, + in template (omit) PDUSessionResourceReleasedItemNot.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceNotifyReleasedTransfer := p_pDUSessionResourceNotifyReleasedTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceReleasedItemNot + + template (omit) PDUSessionResourceReleasedItemPSAck m_pDUSessionResourceReleasedItemPSAck( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceReleasedItemPSAck.pathSwitchRequestUnsuccessfulTransfer p_pathSwitchRequestUnsuccessfulTransfer, + in template (omit) PDUSessionResourceReleasedItemPSAck.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestUnsuccessfulTransfer := p_pathSwitchRequestUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceReleasedItemPSAck + + template (omit) PDUSessionResourceReleasedItemPSFail m_pDUSessionResourceReleasedItemPSFail( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceReleasedItemPSFail.pathSwitchRequestUnsuccessfulTransfer p_pathSwitchRequestUnsuccessfulTransfer, + in template (omit) PDUSessionResourceReleasedItemPSFail.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestUnsuccessfulTransfer := p_pathSwitchRequestUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceReleasedItemPSFail + + template (omit) PDUSessionResourceReleasedItemRelRes m_pDUSessionResourceReleasedItemRelRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceReleasedItemRelRes.pDUSessionResourceReleaseResponseTransfer p_pDUSessionResourceReleaseResponseTransfer, + in template (omit) PDUSessionResourceReleasedItemRelRes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceReleaseResponseTransfer := p_pDUSessionResourceReleaseResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceReleasedItemRelRes + + template (omit) PDUSessionResourceReleaseResponseTransfer m_pDUSessionResourceReleaseResponseTransfer( + in template (omit) PDUSessionResourceReleaseResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceReleaseResponseTransfer + + template (value) PDUSessionResourceNotifyTransfer.iE_Extensions m_pDUSessionResourceReleaseResponseTransfer_id_SecondaryRATUsageInformation( + in template (value) SecondaryRATUsageInformation p_secondaryRATUsageInformation + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template m_pDUSessionResourceReleaseResponseTransfer_id_SecondaryRATUsageInformation + + template (omit) PDUSessionResourceResumeItemRESReq m_pDUSessionResourceResumeItemRESReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceResumeItemRESReq.uEContextResumeRequestTransfer p_uEContextResumeRequestTransfer, + in template (omit) PDUSessionResourceResumeItemRESReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + uEContextResumeRequestTransfer := p_uEContextResumeRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceResumeItemRESReq + + template (omit) PDUSessionResourceResumeItemRESRes m_pDUSessionResourceResumeItemRESRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceResumeItemRESRes.uEContextResumeResponseTransfer p_uEContextResumeResponseTransfer, + in template (omit) PDUSessionResourceResumeItemRESRes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + uEContextResumeResponseTransfer := p_uEContextResumeResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceResumeItemRESRes + + template (omit) PDUSessionResourceSecondaryRATUsageItem m_pPDUSessionResourceSecondaryRATUsageItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceSecondaryRATUsageItem.secondaryRATDataUsageReportTransfer p_secondaryRATDataUsageReportTransfer, + in template (omit) PDUSessionResourceSecondaryRATUsageItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + secondaryRATDataUsageReportTransfer := p_secondaryRATDataUsageReportTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pPDUSessionResourceSecondaryRATUsageItem + + template (omit) PDUSessionResourceSetupItemCxtReq m_pDUSessionResourceSetupItemCxtReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) S_NSSAI p_s_NSSAI, + in template (value) PDUSessionResourceSetupItemCxtReq.pDUSessionResourceSetupRequestTransfer p_pDUSessionResourceSetupRequestTransfer, + in template (omit) NAS_PDU p_nAS_PDU := omit, + in template (omit) PDUSessionResourceSetupItemCxtReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + nAS_PDU := p_nAS_PDU, + s_NSSAI := p_s_NSSAI, + pDUSessionResourceSetupRequestTransfer := p_pDUSessionResourceSetupRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupItemCxtReq + + template (value) PDUSessionResourceSetupItemCxtReq.iE_Extensions m_pDUSessionResourceSetupItemCxtReq_id_PduSessionExpectedUEActivityBehaviour( + in template (value) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template m_pDUSessionResourceSetupItemCxtReq_id_PduSessionExpectedUEActivityBehaviour + + template (omit) PDUSessionResourceSetupItemCxtRes m_pDUSessionResourceSetupItemCxtRes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceSetupItemCxtRes.pDUSessionResourceSetupResponseTransfer p_pDUSessionResourceSetupResponseTransfer, + in template (omit) PDUSessionResourceSetupItemCxtRes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupResponseTransfer := p_pDUSessionResourceSetupResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupItemCxtRes + + template (omit) PDUSessionResourceSetupItemHOReq m_pDUSessionResourceSetupItemHOReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) S_NSSAI p_s_NSSAI, + in template (value) PDUSessionResourceSetupItemHOReq.handoverRequestTransfer p_handoverRequestTransfer, + in template (omit) PDUSessionResourceSetupItemHOReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + s_NSSAI := p_s_NSSAI, + handoverRequestTransfer := p_handoverRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupItemHOReq + + template (value) PDUSessionResourceSetupItemHOReq.iE_Extensions m_pDUSessionResourceSetupItemHOReq_id_PduSessionExpectedUEActivityBehaviour( + in template (value) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template m_pDUSessionResourceSetupItemCxtReq_id_PduSessionExpectedUEActivityBehaviour + + template (omit) PDUSessionResourceSetupItemSUReq m_pDUSessionResourceSetupItemSUReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) S_NSSAI p_s_NSSAI, + in template (value) PDUSessionResourceSetupItemSUReq.pDUSessionResourceSetupRequestTransfer p_pDUSessionResourceSetupRequestTransfer, + in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit, + in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionNAS_PDU := p_pDUSessionNAS_PDU, + s_NSSAI := p_s_NSSAI, + pDUSessionResourceSetupRequestTransfer := p_pDUSessionResourceSetupRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupItemSUReq + + template (value) PDUSessionResourceSetupItemSUReq.iE_Extensions m_pDUSessionResourceSetupItemSUReq_id_PduSessionExpectedUEActivityBehaviour( + in template (value) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template m_pDUSessionResourceSetupItemSUReq_id_PduSessionExpectedUEActivityBehaviour + + template (omit) PDUSessionResourceSetupItemSURes m_pDUSessionResourceSetupItemSURes( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceSetupItemSURes.pDUSessionResourceSetupResponseTransfer p_pDUSessionResourceSetupResponseTransfer, + in template (omit) PDUSessionResourceSetupItemSURes.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupResponseTransfer := p_pDUSessionResourceSetupResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupItemSURes + + template (value) PDUSessionResourceSetupRequestTransfer m_pDUSessionResourceSetupRequestTransfer( + in template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs p_protocolIEs + ) := { + protocolIEs := p_protocolIEs + } // End of template m_pDUSessionResourceSetupRequestTransfer + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_mandatories( + in template (value) PDUSessionType p_pDUSessionType, + in template (value) QosFlowSetupRequestList p_qosFlowSetupRequestList, + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + }, + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + }, + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_mandatories + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_handover( + in template (value) PDUSessionType p_pDUSessionType, + in template (value) QosFlowSetupRequestList p_qosFlowSetupRequestList, + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation, + in template (value) DataForwardingNotPossible p_dataForwardingNotPossible, + in template (value) SecurityIndication p_securityIndication + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + }, + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + }, + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + }, + { + id := id_DataForwardingNotPossible, + criticality := reject, + value_ := { DataForwardingNotPossible := p_dataForwardingNotPossible } + }, + { + id := id_SecurityIndication, + criticality := reject, + value_ := { SecurityIndication := p_securityIndication } + } + + } // End of template m_pDUSessionResourceSetupRequestTransfer_handover + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_handover_1( + in template (value) PDUSessionType p_pDUSessionType, + in template (value) QosFlowSetupRequestList p_qosFlowSetupRequestList, + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation, + in template (value) DirectForwardingPathAvailability p_directForwardingPathAvailability + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + }, + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + }, + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + }, + { + id := id_DirectForwardingPathAvailability, + criticality := ignore, + value_ := { DirectForwardingPathAvailability := p_directForwardingPathAvailability } + } + + } // End of template m_pDUSessionResourceSetupRequestTransfer_handover_1 + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_PDUSessionAggregateMaximumBitRate( + in template (value) PDUSessionAggregateMaximumBitRate p_pDUSessionAggregateMaximumBitRate + ) := { + { + id := id_PDUSessionAggregateMaximumBitRate, + criticality := reject, + value_ := { PDUSessionAggregateMaximumBitRate := p_pDUSessionAggregateMaximumBitRate } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_PDUSessionAggregateMaximumBitRate + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_UL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationList p_uPTransportLayerInformationList + ) := { + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_UL_NGU_UP_TNLInformation + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_DataForwardingNotPossible( + in template (value) DataForwardingNotPossible p_dataForwardingNotPossible + ) := { + { + id := id_DataForwardingNotPossible, + criticality := reject, + value_ := { DataForwardingNotPossible := p_dataForwardingNotPossible } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_DataForwardingNotPossible + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_PDUSessionType( + in template (value) PDUSessionType p_pDUSessionType + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_PDUSessionType + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_SecurityIndication( + in template (value) SecurityIndication p_securityIndication + ) := { + { + id := id_SecurityIndication, + criticality := reject, + value_ := { SecurityIndication := p_securityIndication } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_SecurityIndication + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_NetworkInstance( + in template (value) NetworkInstance p_networkInstance + ) := { + { + id := id_NetworkInstance, + criticality := reject, + value_ := { NetworkInstance := p_networkInstance } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_NetworkInstance + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_QosFlowSetupRequestList( + in template (value) QosFlowSetupRequestList p_qosFlowSetupRequestList + ) := { + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_QosFlowSetupRequestList + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_CommonNetworkInstance( + in template (value) CommonNetworkInstance p_commonNetworkInstance + ) := { + { + id := id_CommonNetworkInstance, + criticality := ignore, + value_ := { CommonNetworkInstance := p_commonNetworkInstance } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_CommonNetworkInstance + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_DirectForwardingPathAvailability( + in template (value) DirectForwardingPathAvailability p_directForwardingPathAvailability + ) := { + { + id := id_DirectForwardingPathAvailability, + criticality := ignore, + value_ := { DirectForwardingPathAvailability := p_directForwardingPathAvailability } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_DirectForwardingPathAvailability + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_RedundantUL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_RedundantUL_NGU_UP_TNLInformation + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_AdditionalRedundantUL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformationList p_uPTransportLayerInformationList + ) := { + { + id := id_AdditionalRedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + value_ := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_AdditionalRedundantUL_NGU_UP_TNLInformation + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_RedundantCommonNetworkInstancen( + in template (value) CommonNetworkInstance p_commonNetworkInstance + ) := { + { + id := id_RedundantCommonNetworkInstance, + criticality := ignore, + value_ := { CommonNetworkInstance := p_commonNetworkInstance } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_RedundantCommonNetworkInstance + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_RedundantPDUSessionInformation( + in template (value) RedundantPDUSessionInformation p_redundantPDUSessionInformation + ) := { + { + id := id_RedundantPDUSessionInformation, + criticality := ignore, + value_ := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_RedundantPDUSessionInformation + + template (value) PDUSessionResourceSetupRequestTransfer.protocolIEs m_pDUSessionResourceSetupRequestTransfer_id_MBSSessionSetupRequestList( + in template (value) MBSSessionSetupRequestList p_mBSSessionSetupRequestList + ) := { + { + id := id_MBSSessionSetupRequestList, + criticality := ignore, + value_ := { MBSSessionSetupRequestList := p_mBSSessionSetupRequestList } + } + } // End of template m_pDUSessionResourceSetupRequestTransfer_id_MBSSessionSetupRequestList + + template (omit) PDUSessionResourceSetupResponseTransfer m_pDUSessionResourceSetupResponseTransfer( + in template (value) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation, + in template (omit) QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := omit, + in template (omit) SecurityResult p_securityResult := omit, + in template (omit) QosFlowListWithCause p_qosFlowFailedToSetupList := omit, + in template (omit) PDUSessionResourceSetupResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + dLQosFlowPerTNLInformation := p_dLQosFlowPerTNLInformation, + additionalDLQosFlowPerTNLInformation := p_additionalDLQosFlowPerTNLInformation, + securityResult := p_securityResult, + qosFlowFailedToSetupList := p_qosFlowFailedToSetupList, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupResponseTransfer + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_RedundantDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformation p_qosFlowPerTNLInformation + ) := { + { + id := id_RedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformation := p_qosFlowPerTNLInformation } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_RedundantDLQosFlowPerTNLInformation + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation( + in template (value) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_UsedRSNInformation( + in template (value) RedundantPDUSessionInformation p_redundantPDUSessionInformation + ) := { + { + id := id_UsedRSNInformation, + criticality := ignore, + extensionValue := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_UsedRSNInformation + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_GlobalRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_GlobalRANNodeID + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_MBS_SupportIndicator( + in template (value) MBS_SupportIndicator p_mBS_SupportIndicator + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_MBS_SupportIndicator + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_MBSSessionSetupResponseList( + in template (value) MBSSessionSetupResponseList p_mBSSessionSetupResponseList + ) := { + { + id := id_MBSSessionSetupResponseList, + criticality := ignore, + extensionValue := { MBSSessionSetupResponseList := p_mBSSessionSetupResponseList } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_MBSSessionSetupResponseList + + template (value) PDUSessionResourceSetupResponseTransfer.iE_Extensions m_pDUSessionResourceSetupResponseTransfer_id_MBSSessionFailedtoSetupList( + in template (value) MBSSessionFailedtoSetupList p_mBSSessionFailedtoSetupList + ) := { + { + id := id_MBSSessionFailedtoSetupList, + criticality := ignore, + extensionValue := { MBSSessionFailedtoSetupList := p_mBSSessionFailedtoSetupList } + } + } // End of template m_pDUSessionResourceSetupResponseTransfer_id_MBSSessionFailedtoSetupList + + template (omit) PDUSessionResourceSetupUnsuccessfulTransfer m_pDUSessionResourceSetupUnsuccessfulTransfer( + in template (value) Cause p_cause, + in template (omit) CriticalityDiagnostics p_criticalityDiagnostics := omit, + in template (omit) PDUSessionResourceSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSetupUnsuccessfulTransfer + + template (omit) PDUSessionResourceSuspendItemSUSReq m_pDUSessionResourceSuspendItemSUSReq( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceSuspendItemSUSReq.uEContextSuspendRequestTransfer p_uEContextSuspendRequestTransfer, + in template (omit) PDUSessionResourceSuspendItemSUSReq.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + uEContextSuspendRequestTransfer := p_uEContextSuspendRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSuspendItemSUSReq + + template (omit) PDUSessionResourceSwitchedItem m_pDUSessionResourceSwitchedItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceSwitchedItem.pathSwitchRequestAcknowledgeTransfer p_pathSwitchRequestAcknowledgeTransfer, + in template (omit) PDUSessionResourceSwitchedItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestAcknowledgeTransfer := p_pathSwitchRequestAcknowledgeTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceSwitchedItem + + template (value) PDUSessionResourceSwitchedItem.iE_Extensions m_pDUSessionResourceSwitchedItem_id_PduSessionExpectedUEActivityBehaviour( + in template (value) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template m_pDUSessionResourceSwitchedItem_id_PduSessionExpectedUEActivityBehaviour + + template (omit) PDUSessionResourceToBeSwitchedDLItem m_pDUSessionResourceToBeSwitchedDLItem( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceToBeSwitchedDLItem.pathSwitchRequestTransfer p_pathSwitchRequestTransfer, + in template (omit) PDUSessionResourceToBeSwitchedDLItem.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestTransfer := p_pathSwitchRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceToBeSwitchedDLItem + + template (omit) PDUSessionResourceToReleaseItemHOCmd m_pDUSessionResourceToReleaseItemHOCmd( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceToReleaseItemHOCmd.handoverPreparationUnsuccessfulTransfer p_handoverPreparationUnsuccessfulTransfer, + in template (omit) PDUSessionResourceToReleaseItemHOCmd.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + handoverPreparationUnsuccessfulTransfer := p_handoverPreparationUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceToReleaseItemHOCmd + + template (omit) PDUSessionResourceToReleaseItemRelCmd m_pDUSessionResourceToReleaseItemRelCmd( + in template (value) PDUSessionID p_pDUSessionID := PX_PDU_SESSION_ID, + in template (value) PDUSessionResourceToReleaseItemRelCmd.pDUSessionResourceReleaseCommandTransfer p_pDUSessionResourceReleaseCommandTransfer, + in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceReleaseCommandTransfer := p_pDUSessionResourceReleaseCommandTransfer, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionResourceToReleaseItemRelCmd + + template (value) PDUSessionType m_pDUSessionType(in PDUSessionType p_value := ipv4) := p_value; + + template (omit) PDUSessionUsageReport m_pDUSessionUsageReport( + in template (value) PDUSessionUsageReport.rATType p_rATType := nr, + in template (value) VolumeTimedReportList p_pDUSessionTimedReportList, + in template (omit) PDUSessionUsageReport.iE_Extensions p_iE_Extensions := omit + ) := { + rATType := p_rATType, + pDUSessionTimedReportList := p_pDUSessionTimedReportList, + iE_Extensions := p_iE_Extensions + } // End of template m_pDUSessionUsageReport + + template (omit) PEIPSassistanceInformation m_pEIPSassistanceInformation( + in template (value)CNsubgroupID p_cNsubgroupID, + in template (omit) PEIPSassistanceInformation.iE_Extensions p_iE_Extensions := omit + ) := { + cNsubgroupID := p_cNsubgroupID, + iE_Extensions := p_iE_Extensions + } // End of template m_pEIPSassistanceInformation + + template (omit) PLMNAreaBasedQMC m_pLMNAreaBasedQMC( + in template (value) PLMNListforQMC p_plmnListforQMC, + in template (omit) PLMNAreaBasedQMC.iE_Extensions p_iE_Extensions := omit + ) := { + plmnListforQMC := p_plmnListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template m_pLMNAreaBasedQMC + + template (omit) PLMNSupportItem m_pLMNSupportItem( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) SliceSupportList p_sliceSupportList, + in template (omit) PLMNSupportItem.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + sliceSupportList := p_sliceSupportList, + iE_Extensions := p_iE_Extensions + } // End of template m_pLMNSupportItem + + template (value) PLMNSupportItem.iE_Extensions m_pLMNSupportItem_id_NPN_Support( + in template (value) NPN_Support p_nPN_Support + ) := { + { + id := id_NPN_Support, + criticality := reject, + extensionValue := { NPN_Support := p_nPN_Support } + } + } // End of template m_pLMNSupportItem_id_NPN_Support + + template (value) PLMNSupportItem.iE_Extensions m_pLMNSupportItem_id_ExtendedSliceSupportList( + in template (value) ExtendedSliceSupportList p_extendedSliceSupportList + ) := { + { + id := id_ExtendedSliceSupportList, + criticality := reject, + extensionValue := { ExtendedSliceSupportList := p_extendedSliceSupportList } + } + } // End of template m_pLMNSupportItem_id_ExtendedSliceSupportList + + template (value) PLMNSupportItem.iE_Extensions m_pLMNSupportItem_id_OnboardingSupport( + in template (value) OnboardingSupport p_onboardingSupport + ) := { + { + id := id_OnboardingSupport, + criticality := ignore, + extensionValue := { OnboardingSupport := p_onboardingSupport } + } + } // End of template m_pLMNSupportItem_id_OnboardingSupport + + template (omit) PNI_NPN_MobilityInformation m_pNI_NPN_MobilityInformation( + in template (value) Allowed_PNI_NPN_List p_allowed_PNI_NPI_List, + in template (omit) PNI_NPN_MobilityInformation.iE_Extensions p_iE_Extensions := omit + ) := { + allowed_PNI_NPI_List := p_allowed_PNI_NPI_List, + iE_Extensions := p_iE_Extensions + } // End of template m_pNI_NPN_MobilityInformation + + template (value) Pre_emptionCapability m_pre_emptionCapability(in Pre_emptionCapability p_value := shall_not_trigger_pre_emption) := p_value; + + template (value) Pre_emptionVulnerability m_pre_emptionVulnerability(in Pre_emptionVulnerability p_value := not_pre_emptable) := p_value; + + template (value) PWSFailedCellIDList m_pWSFailedCellIDList_nR_CGI_PWSFailedList( + in template (value) NR_CGIList p_nR_CGI_PWSFailedList + ) := { + nR_CGI_PWSFailedList := p_nR_CGI_PWSFailedList + } // End of template m_pWSFailedCellIDList_nR_CGI_PWSFailedList + + template (value) PWSFailedCellIDList m_pWSFailedCellIDList_eUTRA_CGI_PWSFailedList( + in template (value) EUTRA_CGIList p_eUTRA_CGI_PWSFailedList + ) := { + eUTRA_CGI_PWSFailedList := p_eUTRA_CGI_PWSFailedList + } // End of template m_pWSFailedCellIDList_eUTRA_CGI_PWSFailedList + + template (value) PWSFailedCellIDList m_pWSFailedCellIDList_choice_Extensions( + in template (value) PWSFailedCellIDList.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_pWSFailedCellIDList_choice_Extensions + + template (omit) QMCConfigInfo m_qMCConfigInfo( + in template (value) UEAppLayerMeasInfoList p_uEAppLayerMeasInfoList, + in template (omit) QMCConfigInfo.iE_Extensions p_iE_Extensions := omit + ) := { + uEAppLayerMeasInfoList := p_uEAppLayerMeasInfoList, + iE_Extensions := p_iE_Extensions + } // End of template m_qMCConfigInfo + + template (omit) QMCDeactivation m_qMCDeactivation( + in template (value) QoEReferenceList p_qoEReferenceList, + in template (omit) QMCDeactivation.iE_Extensions p_iE_Extensions := omit + ) := { + qoEReferenceList := p_qoEReferenceList, + iE_Extensions := p_iE_Extensions + } // End of template m_qMCDeactivation + + template (value) QosCharacteristics m_qosCharacteristics_nonDynamic5QI( + in template (value) NonDynamic5QIDescriptor p_nonDynamic5QI + ) := { + nonDynamic5QI := p_nonDynamic5QI + } // End of template m_qosCharacteristics_nonDynamic5QI + + template (value) QosCharacteristics m_qosCharacteristics_dynamic5QI( + in template (value) Dynamic5QIDescriptor p_dynamic5QI + ) := { + dynamic5QI := p_dynamic5QI + } // End of template m_qosCharacteristics_dynamic5QI + + template (value) QosCharacteristics m_qosCharacteristics_choice_Extensions( + in template (value) QosCharacteristics.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_qosCharacteristics_choice_Extensions + + template (omit) QosFlowAcceptedItem m_qosFlowAcceptedItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) QosFlowAcceptedItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template + + template (value) QosFlowAcceptedItem.iE_Extensions m_pLMNSupportItem_id_CurrentQoSParaSetIndex( + in template (value) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template m_pLMNSupportItem_id_ExtendedSliceSupportList + + template (omit) QosFlowAddOrModifyRequestItem m_qosFlowAddOrModifyRequestItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) QosFlowLevelQosParameters p_qosFlowLevelQosParameters := omit, + in template (omit) E_RAB_ID p_e_RAB_ID := omit, + in template (omit) QosFlowAddOrModifyRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + qosFlowLevelQosParameters := p_qosFlowLevelQosParameters, + e_RAB_ID := p_e_RAB_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowAddOrModifyRequestItem + + template (value) QosFlowAddOrModifyRequestItem.iE_Extensions m_qosFlowAddOrModifyRequestItem_id_TSCTrafficCharacteristics( + in template (value) TSCTrafficCharacteristics p_tSCTrafficCharacteristics + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + } + } // End of template m_qosFlowAddOrModifyRequestItem_id_TSCTrafficCharacteristics + + template (value) QosFlowAddOrModifyRequestItem.iE_Extensions m_qosFlowAddOrModifyRequestItem_id_RedundantQosFlowIndicator( + in template (value) RedundantQosFlowIndicator p_redundantQosFlowIndicator + ) := { + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template m_qosFlowAddOrModifyRequestItem_id_RedundantQosFlowIndicator + + template (value) QosFlowAddOrModifyRequestItem.iE_Extensions m_qosFlowAddOrModifyRequestItem_full( + in template (value) TSCTrafficCharacteristics p_tSCTrafficCharacteristics, + in template (value) RedundantQosFlowIndicator p_redundantQosFlowIndicator + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + }, + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template m_qosFlowAddOrModifyRequestItem_full + + template (omit) QosFlowAddOrModifyResponseItem m_qosFlowAddOrModifyResponseItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) QosFlowAddOrModifyResponseItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowAddOrModifyResponseItem + + template (value) QosFlowAddOrModifyResponseItem.iE_Extensions m_qosFlowAddOrModifyResponseItem_id_CurrentQoSParaSetIndex( + in template (value) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template m_qosFlowAddOrModifyResponseItem_id_CurrentQoSParaSetIndex + + template (omit) QosFlowFeedbackItem m_qosFlowFeedbackItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) UpdateFeedback p_updateFeedback := omit, + in template (omit) ExtendedPacketDelayBudget p_cNpacketDelayBudgetDL := omit, + in template (omit) ExtendedPacketDelayBudget p_cNpacketDelayBudgetUL := omit, + in template (omit) QosFlowFeedbackItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + updateFeedback := p_updateFeedback, + cNpacketDelayBudgetDL := p_cNpacketDelayBudgetDL, + cNpacketDelayBudgetUL := p_cNpacketDelayBudgetUL, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowFeedbackItem + + template (omit) QosFlowInformationItem m_qosFlowInformationItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) DLForwarding p_dLForwarding := omit, + in template (omit) QosFlowInformationItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + dLForwarding := p_dLForwarding, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowInformationItem + + template (value) QosFlowInformationItem.iE_Extensions m_qosFlowInformationItem_id_ULForwarding( + in template (value) ULForwarding p_uLForwarding + ) := { + { + id := id_ULForwarding, + criticality := ignore, + extensionValue := { ULForwarding := p_uLForwarding } + } + } // End of template m_qosFlowInformationItem_id_ULForwarding + + template (value) QosFlowInformationItem.iE_Extensions m_qosFlowInformationItem_id_SourceTNLAddrInfo( + in template (value) TransportLayerAddress p_transportLayerAddress := PX_SOURCE_TRANSPORT_LAYER_ADDRESS + ) := { + { + id := id_SourceTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template m_qosFlowInformationItem_id_SourceTNLAddrInfo + + template (value) QosFlowInformationItem.iE_Extensions m_qosFlowInformationItem_id_SourceNodeTNLAddrInfo( + in template (value) TransportLayerAddress p_transportLayerAddress := PX_SOURCE_TRANSPORT_LAYER_ADDRESS + ) := { + { + id := id_SourceNodeTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template m_qosFlowInformationItem_id_SourceNodeTNLAddrInfo + + template (omit) QosFlowLevelQosParameters m_qosFlowLevelQosParameters( + in template (value) QosCharacteristics p_qosCharacteristics, + in template (value) AllocationAndRetentionPriority p_allocationAndRetentionPriority, + in template (omit) GBR_QosInformation p_gBR_QosInformation := omit, + in template (omit) ReflectiveQosAttribute p_reflectiveQosAttribute := omit, + in template (omit) AdditionalQosFlowInformation p_additionalQosFlowInformation := omit, + in template (omit) QosFlowLevelQosParameters.iE_Extensions p_iE_Extensions := omit + ) := { + qosCharacteristics := p_qosCharacteristics, + allocationAndRetentionPriority := p_allocationAndRetentionPriority, + gBR_QosInformation := p_gBR_QosInformation, + reflectiveQosAttribute := p_reflectiveQosAttribute, + additionalQosFlowInformation := p_additionalQosFlowInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowLevelQosParameters + + template (value) QosFlowLevelQosParameters.iE_Extensions m_qosFlowLevelQosParameters_id_QosMonitoringRequest( + in template (value) QosMonitoringRequest p_qosMonitoringRequest + ) := { + { + id := id_QosMonitoringRequest, + criticality := ignore, + extensionValue := { QosMonitoringRequest := p_qosMonitoringRequest } + } + } // End of template m_qosFlowLevelQosParameters_id_QosMonitoringRequest + + template (value) QosFlowLevelQosParameters.iE_Extensions m_qosFlowLevelQosParameters_id_QosMonitoringReportingFrequency( + in template (value) QosMonitoringReportingFrequency p_qosMonitoringReportingFrequency + ) := { + { + id := id_QosMonitoringReportingFrequency, + criticality := ignore, + extensionValue := { QosMonitoringReportingFrequency := p_qosMonitoringReportingFrequency } + } + } // End of template m_qosFlowLevelQosParameters_id_QosMonitoringReportingFrequency + + template (value) QosFlowLevelQosParameters.iE_Extensions m_qosFlowLevelQosParameters_full( + in template (value) QosMonitoringRequest p_qosMonitoringRequest, + in template (value) QosMonitoringReportingFrequency p_qosMonitoringReportingFrequency + ) := { + { + id := id_QosMonitoringRequest, + criticality := ignore, + extensionValue := { QosMonitoringRequest := p_qosMonitoringRequest } + }, + { + id := id_QosMonitoringReportingFrequency, + criticality := ignore, + extensionValue := { QosMonitoringReportingFrequency := p_qosMonitoringReportingFrequency } + } + } // End of template m_qosFlowLevelQosParameters_full + + template (value) QosMonitoringRequest m_qosMonitoringRequest(in QosMonitoringRequest p_value := ul) := p_value; + + template (omit) QosFlowWithCauseItem m_qosFlowWithCauseItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (value) Cause p_cause, + in template (omit) QosFlowWithCauseItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowWithCauseItem + + template (omit) QosFlowModifyConfirmItem m_qosFlowModifyConfirmItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) QosFlowModifyConfirmItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowModifyConfirmItem + + template (omit) QosFlowNotifyItem m_qosFlowNotifyItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (value) NotificationCause p_notificationCause, + in template (omit) QosFlowNotifyItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + notificationCause := p_notificationCause, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowNotifyItem + + template (value) QosFlowNotifyItem.iE_Extensions m_qosFlowNotifyItem_id_CurrentQoSParaSetIndex( + in template (value) AlternativeQoSParaSetNotifyIndex p_alternativeQoSParaSetNotifyIndex + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetNotifyIndex := p_alternativeQoSParaSetNotifyIndex } + } + } // End of template m_qosFlowNotifyItem_id_CurrentQoSParaSetIndex + + template (omit) QosFlowParametersItem m_qosFlowParametersItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) AlternativeQoSParaSetList p_alternativeQoSParaSetList := omit, + in template (omit) QosFlowParametersItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + alternativeQoSParaSetList := p_alternativeQoSParaSetList, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowParametersItem + + template (value) QosFlowParametersItem.iE_Extensions m_qosFlowParametersItem_id_CNPacketDelayBudgetDL( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_CNPacketDelayBudgetDL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_qosFlowParametersItem_id_CNPacketDelayBudgetDL + + template (value) QosFlowParametersItem.iE_Extensions m_qosFlowParametersItem_id_CNPacketDelayBudgetUL( + in template (value) ExtendedPacketDelayBudget p_extendedPacketDelayBudget + ) := { + { + id := id_CNPacketDelayBudgetUL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template m_qosFlowParametersItem_id_CNPacketDelayBudgetUL + + template (value) QosFlowParametersItem.iE_Extensions m_qosFlowParametersItem_id_BurstArrivalTimeDownlink( + in template (value) BurstArrivalTime p_burstArrivalTime + ) := { + { + id := id_BurstArrivalTimeDownlink, + criticality := ignore, + extensionValue := { BurstArrivalTime := p_burstArrivalTime } + } + } // End of template m_qosFlowParametersItem_id_BurstArrivalTimeDownlink + + template (omit) QosFlowPerTNLInformation m_qosFlowPerTNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation, + in template (value) AssociatedQosFlowList p_associatedQosFlowList, + in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit + ) := { + uPTransportLayerInformation := p_uPTransportLayerInformation, + associatedQosFlowList := p_associatedQosFlowList, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowPerTNLInformation + + template (omit) QosFlowPerTNLInformationItem m_qosFlowPerTNLInformationItem( + in template (value) QosFlowPerTNLInformation p_qosFlowPerTNLInformation, + in template (omit) QosFlowPerTNLInformationItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowPerTNLInformation := p_qosFlowPerTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowPerTNLInformationItem + + template (omit) QosFlowSetupRequestItem m_qosFlowSetupRequestItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (value) QosFlowLevelQosParameters p_qosFlowLevelQosParameters, + in template (omit) E_RAB_ID p_e_RAB_ID := omit, + in template (omit) QosFlowSetupRequestItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + qosFlowLevelQosParameters := p_qosFlowLevelQosParameters, + e_RAB_ID := p_e_RAB_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowSetupRequestItem + + template (value) QosFlowSetupRequestItem.iE_Extensions m_qosFlowSetupRequestItem_id_TSCTrafficCharacteristics( + in template (value) TSCTrafficCharacteristics p_tSCTrafficCharacteristics + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + } + } // End of template m_qosFlowSetupRequestItem_id_TSCTrafficCharacteristics + + template (value) QosFlowSetupRequestItem.iE_Extensions m_qosFlowSetupRequestItem_id_RedundantQosFlowIndicator( + in template (value) RedundantQosFlowIndicator p_redundantQosFlowIndicator + ) := { + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template m_qosFlowSetupRequestItem_id_RedundantQosFlowIndicator + + template (value) QosFlowSetupRequestItem.iE_Extensions m_qosFlowSetupRequestItem_full( + in template (value) TSCTrafficCharacteristics p_tSCTrafficCharacteristics, + in template (value) RedundantQosFlowIndicator p_redundantQosFlowIndicator + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + }, + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template m_qosFlowSetupRequestItem_full + + template (omit) QosFlowItemWithDataForwarding m_qosFlowItemWithDataForwarding( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) DataForwardingAccepted p_dataForwardingAccepted := omit, + in template (omit) QosFlowItemWithDataForwarding.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + dataForwardingAccepted := p_dataForwardingAccepted, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowItemWithDataForwarding + + template (value) QosFlowItemWithDataForwarding.iE_Extensions m_qosFlowItemWithDataForwarding_id_CurrentQoSParaSetIndex( + in template (value) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template m_qosFlowItemWithDataForwarding_id_CurrentQoSParaSetIndex + + template (omit) QosFlowToBeForwardedItem m_qosFlowToBeForwardedItem( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (omit) QosFlowToBeForwardedItem.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template m_qosFlowToBeForwardedItem + + template (omit) QoSFlowsUsageReport_Item m_qoSFlowsUsageReport_Item( + in template (value) QosFlowIdentifier p_qosFlowIdentifier := PX_QOS_FLOW_IDENTIFIER, + in template (value) QoSFlowsUsageReport_Item.rATType p_rATType := nr, + in template (value) VolumeTimedReportList p_qoSFlowsTimedReportList, + in template (omit) QoSFlowsUsageReport_Item.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + rATType := p_rATType, + qoSFlowsTimedReportList := p_qoSFlowsTimedReportList, + iE_Extensions := p_iE_Extensions + } // End of template m_qoSFlowsUsageReport_Item + + template (value) Range m_range(in Range p_value := m50) := p_value; + + template (omit) RANStatusTransfer_TransparentContainer m_rANStatusTransfer_TransparentContainer( + in template (value) DRBsSubjectToStatusTransferList p_dRBsSubjectToStatusTransferList, + in template (omit) RANStatusTransfer_TransparentContainer.iE_Extensions p_iE_Extensions := omit + ) := { + dRBsSubjectToStatusTransferList := p_dRBsSubjectToStatusTransferList, + iE_Extensions := p_iE_Extensions + } // End of template m_rANStatusTransfer_TransparentContainer + + template (value) RAT_Information m_rAT_Information(in RAT_Information p_value := unlicensed) := p_value; + + template (omit) RATRestrictions_Item m_rATRestrictions_Item( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) RATRestrictionInformation p_rATRestrictionInformation, + in template (omit) RATRestrictions_Item.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + rATRestrictionInformation := p_rATRestrictionInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_rATRestrictions_Item + + template (value) RATRestrictions_Item.iE_Extensions m_rATRestrictions_Item_id_ExtendedRATRestrictionInformation( + in template (value) ExtendedRATRestrictionInformation p_extendedRATRestrictionInformation + ) := { + { + id := id_ExtendedRATRestrictionInformation, + criticality := ignore, + extensionValue := { ExtendedRATRestrictionInformation := p_extendedRATRestrictionInformation } + } + } // End of template m_rATRestrictions_Item_id_ExtendedRATRestrictionInformation + + template (omit) RecommendedCellsForPaging m_recommendedCellsForPaging( + in template (value) RecommendedCellList p_recommendedCellList, + in template (omit) RecommendedCellsForPaging.iE_Extensions p_iE_Extensions := omit + ) := { + recommendedCellList := p_recommendedCellList, + iE_Extensions := p_iE_Extensions + } // End of template m_recommendedCellsForPaging + + template (omit) RecommendedCellItem m_recommendedCellItem( + in template (value) NGRAN_CGI p_nGRAN_CGI, + in template (omit) RecommendedCellItem.timeStayedInCell p_timeStayedInCell := omit, + in template (omit) RecommendedCellItem.iE_Extensions p_iE_Extensions := omit + ) := { + nGRAN_CGI := p_nGRAN_CGI, + timeStayedInCell := p_timeStayedInCell, + iE_Extensions := p_iE_Extensions + } // End of template m_recommendedCellItem + + template (omit) RecommendedRANNodesForPaging m_recommendedRANNodesForPaging( + in template (value) RecommendedRANNodeList p_recommendedRANNodeList, + in template (omit) RecommendedRANNodesForPaging.iE_Extensions p_iE_Extensions := omit + ) := { + recommendedRANNodeList := p_recommendedRANNodeList, + iE_Extensions := p_iE_Extensions + } // End of template m_recommendedRANNodesForPaging + + template (omit) RecommendedRANNodeItem m_recommendedRANNodeItem( + in template (value) AMFPagingTarget p_aMFPagingTarget, + in template (omit) RecommendedRANNodeItem.iE_Extensions p_iE_Extensions := omit + ) := { + aMFPagingTarget := p_aMFPagingTarget, + iE_Extensions := p_iE_Extensions + } // End of template m_recommendedRANNodeItem + + template (value) RedCapIndication m_redCapIndication(in RedCapIndication p_value := redcap) := p_value; + + template (value) RedirectionVoiceFallback m_redirectionVoiceFallback(in RedirectionVoiceFallback p_value := possible) := p_value; + + template (omit) RedundantPDUSessionInformation m_redundantPDUSessionInformation( + in template (value) RSN p_rSN, + in template (omit) RedundantPDUSessionInformation.iE_Extensions p_iE_Extensions := omit + ) := { + rSN := p_rSN, + iE_Extensions := p_iE_Extensions + } // End of template m_redundantPDUSessionInformation + + template (value) RedundantPDUSessionInformation.iE_Extensions m_redundantPDUSessionInformation_id_PDUSessionPairID( + in template (value) PDUSessionPairID p_pDUSessionPairID + ) := { + { + id := id_PDUSessionPairID, + criticality := ignore, + extensionValue := { PDUSessionPairID := p_pDUSessionPairID } + } + } // End of template m_redundantPDUSessionInformation_id_PDUSessionPairID + + template (value) RedundantQosFlowIndicator m_RedundantQosFlowIndicator(in RedundantQosFlowIndicator p_value := true_) := p_value; + + template (value) ReflectiveQosAttribute m_reflectiveQosAttribute(in ReflectiveQosAttribute p_value := subject_to) := p_value; + + template (value) ReportArea m_reportArea(in ReportArea p_value := cell) := p_value; + + template (value) ResetAll m_resetAll(in ResetAll p_value := reset_all) := p_value; + + template (value) ReportAmountMDT m_reportAmountMDT(in ReportAmountMDT p_value := r1) := p_value; + + template (value) ReportIntervalMDT m_reportIntervalMDT(in ReportIntervalMDT p_value := ms120) := p_value; + + template (value) ExtendedReportIntervalMDT m_extendedReportIntervalMDT(in ExtendedReportIntervalMDT p_value := ms20480) := p_value; + + template (value) ResetType m_resetType_nG_Interface( + in template (value) ResetAll p_nG_Interface + ) := { + nG_Interface := p_nG_Interface + } // End of template m_resetType_nG_Interface + + template (value) ResetType m_resetType_partOfNG_Interface( + in template (value) UE_associatedLogicalNG_connectionList p_partOfNG_Interface + ) := { + partOfNG_Interface := p_partOfNG_Interface + } // End of template m_resetType_partOfNG_Interface + + template (value) ResetType m_resetType_choice_Extensions( + in template (value) ResetType.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_resetType_choice_Extensions + + template (value) RRCEstablishmentCause m_rRCEstablishmentCause(in RRCEstablishmentCause p_value := emergency) := p_value; + + template (value) RRCInactiveTransitionReportRequest m_rRCInactiveTransitionReportRequest(in RRCInactiveTransitionReportRequest p_value := subsequent_state_transition_report) := p_value; + + template (value) RRCState m_rRCState(in RRCState p_value := inactive) := p_value; + + template (value) RSN m_rSN(in RSN p_value := v1) := p_value; + + template (omit) RIMInformationTransfer m_rIMInformationTransfer( + in template (value) TargetRANNodeID_RIM p_targetRANNodeID_RIM, + in template (value) SourceRANNodeID p_sourceRANNodeID, + in template (value) RIMInformation p_rIMInformation, + in template (omit) RIMInformationTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + targetRANNodeID_RIM := p_targetRANNodeID_RIM, + sourceRANNodeID := p_sourceRANNodeID, + rIMInformation := p_rIMInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_rIMInformationTransfer + + template (omit) RIMInformation m_rIMInformation( + in template (value) GNBSetID p_targetgNBSetID, + in template (value) RIMInformation.rIM_RSDetection p_rIM_RSDetection := rs_detected, + in template (omit) RIMInformation.iE_Extensions p_iE_Extensions := omit + ) := { + targetgNBSetID := p_targetgNBSetID, + rIM_RSDetection := p_rIM_RSDetection, + iE_Extensions := p_iE_Extensions + } // End of template m_rIMInformation + + template (omit) ScheduledCommunicationTime m_scheduledCommunicationTime( + in template (omit) ScheduledCommunicationTime.dayofWeek p_dayofWeek := omit, + in template (omit) ScheduledCommunicationTime.timeofDayStart p_timeofDayStart := omit, + in template (omit) ScheduledCommunicationTime.timeofDayEnd p_timeofDayEnd := omit, + in template (omit) ScheduledCommunicationTime.iE_Extensions p_iE_Extensions := omit + ) := { + dayofWeek := p_dayofWeek, + timeofDayStart := p_timeofDayStart, + timeofDayEnd := p_timeofDayEnd, + iE_Extensions := p_iE_Extensions + } // End of template m_scheduledCommunicationTime + + template (omit) SecondaryRATUsageInformation m_secondaryRATUsageInformation( + in template (omit) PDUSessionUsageReport p_pDUSessionUsageReport := omit, + in template (omit) QoSFlowsUsageReportList p_qosFlowsUsageReportList := omit, + in template (omit) SecondaryRATUsageInformation.iE_Extension p_iE_Extensions := omit + ) := { + pDUSessionUsageReport := p_pDUSessionUsageReport, + qosFlowsUsageReportList := p_qosFlowsUsageReportList, + iE_Extension := p_iE_Extensions + } // End of template m_secondaryRATUsageInformation + + template (omit) SecondaryRATDataUsageReportTransfer m_secondaryRATDataUsageReportTransfer( + in template (omit) SecondaryRATUsageInformation p_secondaryRATUsageInformation := omit, + in template (omit) SecondaryRATDataUsageReportTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + secondaryRATUsageInformation := p_secondaryRATUsageInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_secondaryRATDataUsageReportTransfer + + template (omit) SecurityContext m_securityContext( + in template (value) NextHopChainingCount p_nextHopChainingCount := PX_NEXT_HOP_CHAINING_COUNT, + in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH, + in template (omit) SecurityContext.iE_Extensions p_iE_Extensions := omit + ) := { + nextHopChainingCount := p_nextHopChainingCount, + nextHopNH := p_nextHopNH, + iE_Extensions := p_iE_Extensions + } // End of template m_securityContext + + template (omit) SecurityIndication m_securityIndication( + in template (value) IntegrityProtectionIndication p_integrityProtectionIndication, + in template (value) ConfidentialityProtectionIndication p_confidentialityProtectionIndication, + in template (omit) MaximumIntegrityProtectedDataRate p_maximumIntegrityProtectedDataRate_UL := omit, + in template (omit) SecurityIndication.iE_Extensions p_iE_Extensions := omit + ) := { + integrityProtectionIndication := p_integrityProtectionIndication, + confidentialityProtectionIndication := p_confidentialityProtectionIndication, + maximumIntegrityProtectedDataRate_UL := p_maximumIntegrityProtectedDataRate_UL, + // The above IE shall be present if integrity protection is required or preferred + iE_Extensions := p_iE_Extensions + } // End of template m_securityIndication + + template (value) SecurityIndication.iE_Extensions m_securityIndication_id_MaximumIntegrityProtectedDataRate_DL( + in template (value) MaximumIntegrityProtectedDataRate p_maximumIntegrityProtectedDataRate + ) := { + { + id := id_MaximumIntegrityProtectedDataRate_DL, + criticality := ignore, + extensionValue := { MaximumIntegrityProtectedDataRate := p_maximumIntegrityProtectedDataRate } + } + } // End of template m_securityIndication_id_MaximumIntegrityProtectedDataRate_DL + + template (omit) SecurityResult m_securityResult( + in template (value) IntegrityProtectionResult p_integrityProtectionResult, + in template (value) ConfidentialityProtectionResult p_confidentialityProtectionResult, + in template (omit) SecurityResult.iE_Extensions p_iE_Extensions := omit + ) := { + integrityProtectionResult := p_integrityProtectionResult, + confidentialityProtectionResult := p_confidentialityProtectionResult, + iE_Extensions := p_iE_Extensions + } // End of template m_securityResult + + template (omit) SensorMeasurementConfiguration m_sensorMeasurementConfiguration( + in template (value) SensorMeasConfig p_sensorMeasConfig, + in template (omit) SensorMeasConfigNameList p_sensorMeasConfigNameList := omit, + in template (omit) SensorMeasurementConfiguration.iE_Extensions p_iE_Extensions := omit + ) := { + sensorMeasConfig := p_sensorMeasConfig, + sensorMeasConfigNameList := p_sensorMeasConfigNameList, + iE_Extensions := p_iE_Extensions + } // End of template m_sensorMeasurementConfiguration + + template (omit) SensorMeasConfigNameItem m_sensorMeasConfigNameItem( + in template (value) SensorNameConfig p_sensorNameConfig, + in template (omit) SensorMeasConfigNameItem.iE_Extensions p_iE_Extensions := omit + ) := { + sensorNameConfig := p_sensorNameConfig, + iE_Extensions := p_iE_Extensions + } // End of template m_sensorMeasConfigNameItem + + template (value) SensorMeasConfig m_sensorMeasConfig(in SensorMeasConfig p_value := setup) := p_value; + + template (value) SensorNameConfig m_sensorNameConfig_uncompensatedBarometricConfig( + in template (value) SensorNameConfig.uncompensatedBarometricConfig p_uncompensatedBarometricConfig := true_ + ) := { + uncompensatedBarometricConfig := p_uncompensatedBarometricConfig + } // End of template m_sensorNameConfig_uncompensatedBarometricConfig + + template (value) SensorNameConfig m_sensorNameConfig_ueSpeedConfig( + in template (value) SensorNameConfig.ueSpeedConfig p_ueSpeedConfig := true_ + ) := { + ueSpeedConfig := p_ueSpeedConfig + } // End of template m_sensorNameConfig_ueSpeedConfig + + template (value) SensorNameConfig m_sensorNameConfig_ueOrientationConfig( + in template (value) SensorNameConfig.ueOrientationConfig p_ueOrientationConfig := true_ + ) := { + ueOrientationConfig := p_ueOrientationConfig + } // End of template m_sensorNameConfig_ueOrientationConfig + + template (value) SensorNameConfig m_sensorNameConfig_choice_Extensions( + in template (value) SensorNameConfig.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_sensorNameConfig_choice_Extensions + + template (omit) ServedGUAMIItem m_servedGUAMIItem( + in template (value) GUAMI p_gUAMI, + in template (omit) AMFName p_backupAMFName := omit, + in template (omit) ServedGUAMIItem.iE_Extensions p_iE_Extensions := omit + ) := { + gUAMI := p_gUAMI, + backupAMFName := p_backupAMFName, + iE_Extensions := p_iE_Extensions + } // End of template m_servedGUAMIItem + + template (value) ServedGUAMIItem.iE_Extensions m_servedGUAMIItem_id_GUAMIType( + in template (value) GUAMIType p_gUAMIType + ) := { + { + id := id_GUAMIType, + criticality := ignore, + extensionValue := { GUAMIType := p_gUAMIType } + } + } // End of template m_servedGUAMIItem_id_GUAMIType + + template (omit) ServiceAreaInformation_Item m_serviceAreaInformation_Item( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (omit) AllowedTACs p_allowedTACs := omit, + in template (omit) NotAllowedTACs p_notAllowedTACs := omit, + in template (omit) ServiceAreaInformation_Item.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + allowedTACs := p_allowedTACs, + notAllowedTACs := p_notAllowedTACs, + iE_Extensions := p_iE_Extensions + } // End of template m_serviceAreaInformation_Item + + template (value) ServiceType m_serviceType(in ServiceType p_value := streaming) := p_value; + + template (omit) SharedNGU_MulticastTNLInformation m_sharedNGU_MulticastTNLInformation( + in template (value) TransportLayerAddress p_iP_MulticastAddress := PX_MC_TRANSPORT_LAYER_ADDRESS, + in template (value) TransportLayerAddress p_iP_SourceAddress := PX_SOURCE_TRANSPORT_LAYER_ADDRESS, + in template (value) GTP_TEID p_gTP_TEID := PX_GTP_TEID, + in template (omit) SharedNGU_MulticastTNLInformation.iE_Extensions p_iE_Extensions := omit + ) := { + iP_MulticastAddress := p_iP_MulticastAddress, + iP_SourceAddress := p_iP_SourceAddress, + gTP_TEID := p_gTP_TEID, + iE_Extensions := p_iE_Extensions + } // End of template m_sharedNGU_MulticastTNLInformation + + template (omit) SliceOverloadItem m_sliceOverloadItem( + in template (value) S_NSSAI p_s_NSSAI, + in template (omit) SliceOverloadItem.iE_Extensions p_iE_Extensions := omit + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template m_sliceOverloadItem + + template (omit) SliceSupportItem m_sliceSupportItem( + in template (value) S_NSSAI p_s_NSSAI, + in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template m_sliceSupportItem + + template (omit) SliceSupportQMC_Item m_sliceSupportQMC_Item( + in template (value) S_NSSAI p_s_NSSAI, + in template (omit) SliceSupportQMC_Item.iE_Extensions p_iE_Extensions := omit + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template m_sliceSupportQMC_Item + + template (omit) SNPN_MobilityInformation m_sNPN_MobilityInformation( + in template (value) NID p_serving_NID, + in template (omit) SNPN_MobilityInformation.iE_Extensions p_iE_Extensions := omit + ) := { + serving_NID := p_serving_NID, + iE_Extensions := p_iE_Extensions + } // End of template m_sNPN_MobilityInformation + + template (omit) S_NSSAI m_s_NSSAI( + in template (value) SST p_sST := PX_SST, + in template (omit) SD p_sD := omit, + in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit + ) := { + sST := p_sST, + sD := p_sD, + iE_Extensions := p_iE_Extensions + } // End of template m_s_NSSAI + + template (omit) SONConfigurationTransfer m_sONConfigurationTransfer( + in template (value) TargetRANNodeID_SON p_targetRANNodeID_SON, + in template (value) SourceRANNodeID p_sourceRANNodeID, + in template (value) SONInformation p_sONInformation, + in template (omit) XnTNLConfigurationInfo p_xnTNLConfigurationInfo := omit, + in template (omit) SONConfigurationTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + targetRANNodeID_SON := p_targetRANNodeID_SON, + sourceRANNodeID := p_sourceRANNodeID, + sONInformation := p_sONInformation, + xnTNLConfigurationInfo := p_xnTNLConfigurationInfo, + // The above IE shall be present if the SON Information IE contains the SON Information Request IE set to “Xn TNL Configuration Info” + iE_Extensions := p_iE_Extensions + } // End of template m_sONConfigurationTransfer + + template (value) SONInformation m_sONInformation_sONInformationRequest( + in template (value) SONInformationRequest p_sONInformationRequest + ) := { + sONInformationRequest := p_sONInformationRequest + } // End of template m_sONInformation_sONInformationRequest + + template (value) SONInformation m_sONInformation_sONInformationReply( + in template (value) SONInformationReply p_sONInformationReply + ) := { + sONInformationReply := p_sONInformationReply + } // End of template m_sONInformation_sONInformationReply + + template (value) SONInformation m_sONInformation_choice_Extensions( + in template (value) SONInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_sONInformation_choice_Extensions + + template (value) SONInformation.choice_Extensions m_sONInformatio_id_SONInformationReport( + in template (value) SONInformationReport p_sONInformationReport + ) := { + id := id_SONInformationReport, + criticality := ignore, + value_ := { SONInformationReport := p_sONInformationReport } + } // End of template m_sONInformatio_id_SONInformationReport + + template (omit) SONInformationReply m_sONInformationReply( + in template (omit) XnTNLConfigurationInfo p_xnTNLConfigurationInfo := omit, + in template (omit) SONInformationReply.iE_Extensions p_iE_Extensions := omit + ) := { + xnTNLConfigurationInfo := p_xnTNLConfigurationInfo, + iE_Extensions := p_iE_Extensions + } // End of template m_sONInformationReply + + template (value) SONInformationReport m_sONInformationReport_failureIndicationInformation( + in template (value) FailureIndication p_failureIndicationInformation + ) := { + failureIndicationInformation := p_failureIndicationInformation + } // End of template m_sONInformationReport_failureIndicationInformation + + template (value) SONInformationReport m_sONInformationReport_hOReportInformation( + in template (value) HOReport p_hOReportInformation + ) := { + hOReportInformation := p_hOReportInformation + } // End of template m_sONInformationReport_hOReportInformation + + template (value) SONInformationReport m_sONInformationReport_choice_Extensions( + in template (value) SONInformationReport.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_sONInformationReport_choice_Extensions + + template (value) SONInformationReport.choice_Extensions m_sONInformationReport_id_SONInformationReport( + in template (value) SuccessfulHandoverReportList p_successfulHandoverReportList + ) := { + id := id_SONInformationReport, + criticality := ignore, + value_ := { SuccessfulHandoverReportList := p_successfulHandoverReportList } + } // End of template m_sONInformationReport_id_SONInformationReport + + template (omit) SuccessfulHandoverReport_Item m_successfulHandoverReport_Item( + in template (value) octetstring p_successfulHOReportContainer, + in template (omit) SuccessfulHandoverReport_Item.iE_Extensions p_iE_Extensions := omit + ) := { + successfulHOReportContainer := p_successfulHOReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template m_successfulHandoverReport_Item + + template (value) SONInformationRequest m_sONInformationRequest(in SONInformationRequest p_value := xn_TNL_configuration_info) := p_value; + + template (omit) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer( + in template (value) NGRAN_CGI p_targetCell_ID, + in template (value) RRCContainer p_rRCContainer, + in template (value) UEHistoryInformation p_uEHistoryInformation, + in template (omit) PDUSessionResourceInformationList p_pDUSessionResourceInformationList := omit, + in template (omit) E_RABInformationList p_e_RABInformationList := omit, + in template (omit) IndexToRFSP p_indexToRFSP := omit, + in template (omit) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions p_iE_Extensions := omit + ):= { + rRCContainer := p_rRCContainer, + pDUSessionResourceInformationList := p_pDUSessionResourceInformationList, + e_RABInformationList := p_e_RABInformationList, + targetCell_ID := p_targetCell_ID, + indexToRFSP := p_indexToRFSP, + uEHistoryInformation := p_uEHistoryInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SgNB_UE_X2AP_ID( + in template (value) SgNB_UE_X2AP_ID p_sgNB_UE_X2AP_ID + ) := { + { + id := id_SgNB_UE_X2AP_ID, + criticality := ignore, + extensionValue := { SgNB_UE_X2AP_ID := p_sgNB_UE_X2AP_ID } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SgNB_UE_X2AP_ID + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEHistoryInformationFromTheUE( + in template (value) UEHistoryInformationFromTheUE p_uEHistoryInformationFromTheUE + ) := { + { + id := id_UEHistoryInformationFromTheUE, + criticality := ignore, + extensionValue := { UEHistoryInformationFromTheUE := p_uEHistoryInformationFromTheUE } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEHistoryInformationFromTheUE + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SourceNodeID( + in template (value) SourceNodeID p_sourceNodeID + ) := { + { + id := id_SourceNodeID, + criticality := ignore, + extensionValue := { SourceNodeID := p_sourceNodeID } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SourceNodeID + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEContextReferenceAtSource( + in template (value) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := PX_RAN_UE_NGAP_ID + ) := { + { + id := id_UEContextReferenceAtSource, + criticality := ignore, + extensionValue := { RAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEContextReferenceAtSource + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_SourcetoTargetList( + in template (value) MBS_ActiveSessionInformation_SourcetoTargetList p_mBS_ActiveSessionInformation_SourcetoTargetListD + ) := { + { + id := id_MBS_ActiveSessionInformation_SourcetoTargetList, + criticality := ignore, + extensionValue := { MBS_ActiveSessionInformation_SourcetoTargetList := p_mBS_ActiveSessionInformation_SourcetoTargetListD } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_SourcetoTargetList + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_QMCConfigInfo( + in template (value) QMCConfigInfo p_qMCConfigInfo + ) := { + { + id := id_QMCConfigInfo, + criticality := ignore, + extensionValue := { QMCConfigInfo := p_qMCConfigInfo } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_QMCConfigInfo + + template (value) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_NGAPIESupportInformationRequestList( + in template (value) NGAPIESupportInformationRequestList p_nGAPIESupportInformationRequestList + ) := { + { + id := id_NGAPIESupportInformationRequestList, + criticality := ignore, + extensionValue := { NGAPIESupportInformationRequestList := p_nGAPIESupportInformationRequestList } + } + } // End of template m_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_NGAPIESupportInformationRequestList + + template (value) SourceNodeID m_sourceNodeID_sourceengNB_ID( + in template (value) GlobalGNB_ID p_sourceengNB_ID + ) := { + sourceengNB_ID := p_sourceengNB_ID + } // End of template m_sourceNodeID_sourceengNB_ID + + template (value) SourceNodeID m_sourceNodeID_choice_Extensions( + in template (value) SourceNodeID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_sourceNodeID_choice_Extensions + + template (value) SourceOfUEActivityBehaviourInformation m_sourceOfUEActivityBehaviourInformation(in SourceOfUEActivityBehaviourInformation p_value := subscription_information) := p_value; + + template (omit) SourceRANNodeID m_sourceRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) TAI p_selectedTAI, + in template (omit) SourceRANNodeID.iE_Extensions p_iE_Extensions := omit + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template m_sourceRANNodeID + + // This IE includes a transparent container from the source RAN node to the target RAN node. + // The octets of the OCTET STRING are encoded according to the specifications of the target system. + + template (omit) SourceToTarget_AMFInformationReroute m_sourceToTarget_AMFInformationReroute( + in template (omit) ConfiguredNSSAI p_configuredNSSAI := omit, + in template (omit) RejectedNSSAIinPLMN p_rejectedNSSAIinPLMN := omit, + in template (omit) RejectedNSSAIinTA p_rejectedNSSAIinTA := omit, + in template (omit) SourceToTarget_AMFInformationReroute.iE_Extensions p_iE_Extensions := omit + ) := { + configuredNSSAI := p_configuredNSSAI, + rejectedNSSAIinPLMN := p_rejectedNSSAIinPLMN, + rejectedNSSAIinTA := p_rejectedNSSAIinTA, + iE_Extensions := p_iE_Extensions + } // End of template m_sourceToTarget_AMFInformationReroute + + // This IE includes information from the source Core node to the target Core node for reroute information provide by NSSF. + // The octets of the OCTET STRING are encoded according to the specifications of the Core network. + + template (value) SRVCCOperationPossible m_sRVCCOperationPossible(in SRVCCOperationPossible p_value := possible) := p_value; + + template (omit) SupportedTAItem m_supportedTAItem( + in template (value) TAC p_tAC := PX_TACode, + in template (value) BroadcastPLMNList p_broadcastPLMNList, + in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit + ) := { + tAC := p_tAC, + broadcastPLMNList := p_broadcastPLMNList, + iE_Extensions := p_iE_Extensions + } // End of template m_supportedTAItem + + template (value) SupportedTAItem.iE_Extensions m_supportedTAItem_id_ConfiguredTACIndication( + in template (value) ConfiguredTACIndication p_configuredTACIndication + ) := { + { + id := id_ConfiguredTACIndication, + criticality := ignore, + extensionValue := { ConfiguredTACIndication := p_configuredTACIndication } + } + } // End of template m_supportedTAItem_id_ConfiguredTACIndication + + template (value) SupportedTAItem.iE_Extensions m_supportedTAItem_id_RAT_Information( + in template (value) RAT_Information p_rAT_Information + ) := { + { + id := id_RAT_Information, + criticality := reject, + extensionValue := { RAT_Information := p_rAT_Information } + } + } // End of template m_supportedTAItem_id_RAT_Information + + template (value) SupportedTAItem.iE_Extensions m_supportedTAItem_full( + in template (value) ConfiguredTACIndication p_configuredTACIndication, + in template (value) RAT_Information p_rAT_Information + ) := { + { + id := id_ConfiguredTACIndication, + criticality := ignore, + extensionValue := { ConfiguredTACIndication := p_configuredTACIndication } + }, + { + id := id_RAT_Information, + criticality := reject, + extensionValue := { RAT_Information := p_rAT_Information } + } + } // End of template m_supportedTAItem_full + + template (value) SuspendIndicator m_suspendIndicator(in SuspendIndicator p_value := true_) := p_value; + + template (value) Suspend_Request_Indication m_suspend_Request_Indication(in Suspend_Request_Indication p_value := suspend_requested) := p_value; + + template (value) Suspend_Response_Indication m_suspend_Response_Indication(in Suspend_Response_Indication p_value := suspend_indicated) := p_value; + + template (omit) TAI m_tAI( + in template (value) PLMNIdentity p_pLMNIdentity := PX_PLMN_IDENTITY, + in template (value) TAC p_tAC := PX_TACode, + in template (omit) TAI.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNIdentity := p_pLMNIdentity, + tAC := p_tAC, + iE_Extensions := p_iE_Extensions + } // End of template m_tAI + + template (omit) TAIBroadcastEUTRA_Item m_tAIBroadcastEUTRA_Item( + in template (value) TAI p_tAI, + in template (value) CompletedCellsInTAI_EUTRA p_completedCellsInTAI_EUTRA, + in template (omit) TAIBroadcastEUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + completedCellsInTAI_EUTRA := p_completedCellsInTAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template m_tAIBroadcastEUTRA_Item + + template (omit) TAIBroadcastNR_Item m_tAIBroadcastNR_Item( + in template (value) TAI p_tAI, + in template (value) CompletedCellsInTAI_NR p_completedCellsInTAI_NR, + in template (omit) TAIBroadcastNR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + completedCellsInTAI_NR := p_completedCellsInTAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template m_tAIBroadcastNR_Item + + template (omit) TAICancelledEUTRA_Item m_tAICancelledEUTRA_Item( + in template (value) TAI p_tAI, + in template (value) CancelledCellsInTAI_EUTRA p_cancelledCellsInTAI_EUTRA, + in template (omit) TAICancelledEUTRA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + cancelledCellsInTAI_EUTRA := p_cancelledCellsInTAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template m_tAICancelledEUTRA_Item + + template (omit) TAICancelledNR_Item m_tAICancelledNR_Item( + in template (value) TAI p_tAI, + in template (value) CancelledCellsInTAI_NR p_cancelledCellsInTAI_NR, + in template (omit) TAICancelledNR_Item.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + cancelledCellsInTAI_NR := p_cancelledCellsInTAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template m_tAICancelledNR_Item + + template (omit) TAIListForInactiveItem m_tAIListForInactiveItem( + in template (value) TAI p_tAI, + in template (omit) TAIListForInactiveItem.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template m_tAIListForInactiveItem + + template (omit) TAIListForPagingItem m_tAIListForPagingItem( + in template (value) TAI p_tAI, + in template (omit) TAIListForPagingItem.iE_Extensions p_iE_Extensions := omit + ) := { + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template m_tAIListForPagingItem + + template (omit) TAINSAGSupportItem m_tAINSAGSupportItem( + in template (value) NSAG_ID p_nSAG_ID, + in template (value) ExtendedSliceSupportList p_nSAGSliceSupportList, + in template (omit) TAINSAGSupportItem.iE_Extensions p_iE_Extensions := omit + ) := { + nSAG_ID := p_nSAG_ID, + nSAGSliceSupportList := p_nSAGSliceSupportList, + iE_Extensions := p_iE_Extensions + } // End of template m_tAINSAGSupportItem + + template (omit) TargeteNB_ID m_targeteNB_ID( + in template (value) GlobalNgENB_ID p_globalENB_ID, + in template (value) EPS_TAI p_selected_EPS_TAI, + in template (omit) TargeteNB_ID.iE_Extensions p_iE_Extensions := omit + ) := { + globalENB_ID := p_globalENB_ID, + selected_EPS_TAI := p_selected_EPS_TAI, + iE_Extensions := p_iE_Extensions + } // End of template m_targeteNB_ID + + template (omit) TargetHomeENB_ID m_targetHomeENB_ID( + in template (value) PLMNIdentity p_pLMNidentity, + in template (value) TargetHomeENB_ID.homeENB_ID p_homeENB_ID, + in template (value) EPS_TAI p_selected_EPS_TAI, + in template (omit) TargetHomeENB_ID.iE_Extensions p_iE_Extensions := omit + ) := { + pLMNidentity := p_pLMNidentity, + homeENB_ID := p_homeENB_ID, + selected_EPS_TAI := p_selected_EPS_TAI, + iE_Extensions := p_iE_Extensions + } // End of template m_targetHomeENB_ID + + template (value) TargetID m_targetID_targetRANNodeID( + in template (value) TargetRANNodeID p_targetRANNodeID + ) := { + targetRANNodeID := p_targetRANNodeID + } // End of template m_targetID_targetRANNodeID + + template (value) TargetID m_targetID_targeteNB_ID( + in template (value) TargeteNB_ID p_targeteNB_ID + ) := { + targeteNB_ID := p_targeteNB_ID + } // End of template m_targetID_targeteNB_ID + + template (value) TargetID m_targetID_choice_Extensions( + in template (value) TargetID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_targetID_choice_Extensions + + template (value) TargetID.choice_Extensions m_targetID_id_TargetRNC_ID( + in template (value) TargetRNC_ID p_targetRNC_ID + ) := { + id := id_TargetRNC_ID, + criticality := reject, + value_ := { TargetRNC_ID := p_targetRNC_ID } + } // End of template m_sONInformationReport_id_SONInformationReport + + template (value) TargetID.choice_Extensions m_targetID_id_TargetHomeENB_ID( + in template (value) TargetHomeENB_ID p_targetHomeENB_ID + ) := { + id := id_TargetHomeENB_ID, + criticality := reject, + value_ := { TargetHomeENB_ID := p_targetHomeENB_ID } + } // End of template m_sONInformationReport_id_TargetHomeENB_ID + + template (omit) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer( + in template (value) RRCContainer p_rRCContainer, + in template (omit) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions p_iE_Extensions := omit + ) := { + rRCContainer := p_rRCContainer, + iE_Extensions := p_iE_Extensions + } // End of template m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer + + template (value) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DAPSResponseInfoList( + in template (value) DAPSResponseInfoList p_dAPSResponseInfoList + ) := { + { + id := id_ConfiguredTACIndication, + criticality := ignore, + extensionValue := { DAPSResponseInfoList := p_dAPSResponseInfoList } + } + } // End of template m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DAPSResponseInfoList + + template (value) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DirectForwardingPathAvailability( + in template (value) DirectForwardingPathAvailability p_directForwardingPathAvailability + ) := { + { + id := id_DirectForwardingPathAvailability, + criticality := ignore, + extensionValue := { DirectForwardingPathAvailability := p_directForwardingPathAvailability } + } + } // End of template m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DirectForwardingPathAvailability + + template (value) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_TargettoSourceList( + in template (value) MBS_ActiveSessionInformation_TargettoSourceList p_mBS_ActiveSessionInformation_TargettoSourceList + ) := { + { + id := id_MBS_ActiveSessionInformation_TargettoSourceList, + criticality := ignore, + extensionValue := { MBS_ActiveSessionInformation_TargettoSourceList := p_mBS_ActiveSessionInformation_TargettoSourceList } + } + } // End of template m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_TargettoSourceList + + template (value) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_NGAPIESupportInformationResponseList( + in template (value) NGAPIESupportInformationResponseList p_nGAPIESupportInformationResponseList + ) := { + { + id := id_NGAPIESupportInformationResponseList, + criticality := ignore, + extensionValue := { NGAPIESupportInformationResponseList := p_nGAPIESupportInformationResponseList } + } + } // End of template m_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_NGAPIESupportInformationResponseList + + template (omit) TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer m_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer( + in template (omit) Cell_CAGInformation p_cell_CAGInformation := omit, + in template (omit) TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer.iE_Extensions p_iE_Extensions := omit + ) := { + cell_CAGInformation := p_cell_CAGInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer + + template (value) TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer.iE_Extensions m_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_id_NGAPIESupportInformationResponseList( + in template (value) NGAPIESupportInformationResponseList p_nGAPIESupportInformationResponseList + ) := { + { + id := id_NGAPIESupportInformationResponseList, + criticality := ignore, + extensionValue := { NGAPIESupportInformationResponseList := p_nGAPIESupportInformationResponseList } + } + } // End of template m_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_id_NGAPIESupportInformationResponseList + + template (omit) TargetNSSAI_Item m_targetNSSAI_Item( + in template (value) S_NSSAI p_s_NSSAI, + in template (omit) TargetNSSAI_Item.iE_Extensions p_iE_Extensions := omit + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template m_targetNSSAI_Item + + template (omit) TargetNSSAIInformation m_targetNSSAIInformation( + in template (value) TargetNSSAI p_targetNSSAI, + in template (value) IndexToRFSP p_indexToRFSP, + in template (omit) TargetNSSAIInformation.iE_Extensions p_iE_Extensions := omit + ) := { + targetNSSAI := p_targetNSSAI, + indexToRFSP := p_indexToRFSP, + iE_Extensions := p_iE_Extensions + } // End of template m_targetNSSAIInformation + + template (omit) TargetRANNodeID m_targetRANNodeID( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) TAI p_selectedTAI, + in template (omit) TargetRANNodeID.iE_Extensions p_iE_Extensions := omit + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template m_targetRANNodeID + + template (omit) TargetRANNodeID_RIM m_targetRANNodeID_RIM( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) TAI p_selectedTAI, + in template (omit) TargetRANNodeID_RIM.iE_Extensions p_iE_Extensions := omit + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template m_targetRANNodeID_RIM + + template (omit) TargetRANNodeID_SON m_targetRANNodeID_SON( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) TAI p_selectedTAI, + in template (omit) TargetRANNodeID_SON.iE_Extensions p_iE_Extensions := omit + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template m_targetRANNodeID_SON + + template (value) TargetRANNodeID_SON.iE_Extensions m_targetRANNodeID_SON_id_NR_CGI( + in template (value) NR_CGI p_nR_CGI + ) := { + { + id := id_NR_CGI, + criticality := ignore, + extensionValue := { NR_CGI := p_nR_CGI } + } + } // End of template m_targetRANNodeID_SON_id_NR_CGI + + template (omit) TargetRNC_ID m_targetRNC_ID( + in template (value) LAI p_lAI, + in template (value) RNC_ID p_rNC_ID, + in template (omit) ExtendedRNC_ID p_extendedRNC_ID := omit, + in template (omit) TargetRNC_ID.iE_Extensions p_iE_Extensions := omit + ) := { + lAI := p_lAI, + rNC_ID := p_rNC_ID, + extendedRNC_ID := p_extendedRNC_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_targetRNC_ID + + template (value) TimerApproachForGUAMIRemoval m_timerApproachForGUAMIRemoval(in TimerApproachForGUAMIRemoval p_value := apply_timer) := p_value; + + template (omit) TimeSyncAssistanceInfo m_timeSyncAssistanceInfo( + in template (value) TimeSyncAssistanceInfo.timeDistributionIndication p_timeDistributionIndication := enabled, + in template (omit) TimeSyncAssistanceInfo.uUTimeSyncErrorBudget p_uUTimeSyncErrorBudget := omit, + in template (omit) TimeSyncAssistanceInfo.iE_Extensions p_iE_Extensions := omit + ) := { + timeDistributionIndication := p_timeDistributionIndication, + uUTimeSyncErrorBudget := p_uUTimeSyncErrorBudget, + // The above IE shall be present if the Time Distribution Indication IE is set to the value “enabled” + iE_Extensions := p_iE_Extensions + } // End of template m_timeSyncAssistanceInfo + + template (value) TimeToWait m_timeToWait(in TimeToWait p_value := v1s) := p_value; + + template (value) TNGF_ID m_tNGF_ID_tNGF_ID( + in template (value) TNGF_ID.tNGF_ID p_tNGF_ID + ) := { + tNGF_ID := p_tNGF_ID + } // End of template m_tNGF_ID_tNGF_ID + + template (value) TNGF_ID m_tNGF_ID_choice_Extensions( + in template (value) TNGF_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_tNGF_ID_choice_Extensions + + template (omit) TNLAssociationItem m_tNLAssociationItem( + in template (value) CPTransportLayerInformation p_tNLAssociationAddress, + in template (value) Cause p_cause, + in template (omit) TNLAssociationItem.iE_Extensions p_iE_Extensions := omit + ) := { + tNLAssociationAddress := p_tNLAssociationAddress, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template m_tNLAssociationItem + + template (value) TNLAssociationUsage m_TNLAssociationUsage(in TNLAssociationUsage p_value := ue) := p_value; + + template (omit) TooearlyIntersystemHO m_tooearlyIntersystemHO( + in template (value) EUTRA_CGI p_sourcecellID, + in template (value) NGRAN_CGI p_failurecellID, + in template (omit) UERLFReportContainer p_uERLFReportContainer := omit, + in template (omit) TooearlyIntersystemHO.iE_Extensions p_iE_Extensions := omit + ) := { + sourcecellID := p_sourcecellID, + failurecellID := p_failurecellID, + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template m_tooearlyIntersystemHO + + template (omit) TraceActivation m_traceActivation( + in template (value) NGRANTraceID p_nGRANTraceID := PX_NGRAN_TRACE_ID, + in template (value) InterfacesToTrace p_interfacesToTrace := PX_INTERFACES_TO_TRACE, + in template (value) TraceDepth p_traceDepth, + in template (value) TransportLayerAddress p_traceCollectionEntityIPAddress := PX_TRANSPORT_LAYER_ADDRESS, + in template (omit) TraceActivation.iE_Extensions p_iE_Extensions := omit + ) := { + nGRANTraceID := p_nGRANTraceID, + interfacesToTrace := p_interfacesToTrace, + traceDepth := p_traceDepth, + traceCollectionEntityIPAddress := p_traceCollectionEntityIPAddress, + iE_Extensions := p_iE_Extensions + } // End of template m_traceActivation + + template (value) TraceActivation.iE_Extensions m_traceActivation_id_MDTConfiguration( + in template (value) MDT_Configuration p_mDT_Configuration + ) := { + { + id := id_MDTConfiguration, + criticality := ignore, + extensionValue := { MDT_Configuration := p_mDT_Configuration } + } + } // End of template m_traceActivation_id_MDTConfiguration + + template (value) TraceActivation.iE_Extensions m_traceActivation_id_TraceCollectionEntityURI( + in template (value) URI_address p_uRI_address + ) := { + { + id := id_TraceCollectionEntityURI, + criticality := ignore, + extensionValue := { URI_address := p_uRI_address } + } + } // End of template m_traceActivation_id_TraceCollectionEntityURI + + template (value) TraceActivation.iE_Extensions m_traceActivation_full( + in template (value) MDT_Configuration p_mDT_Configuration, + in template (value) URI_address p_uRI_address + ) := { + { + id := id_MDTConfiguration, + criticality := ignore, + extensionValue := { MDT_Configuration := p_mDT_Configuration } + }, + { + id := id_TraceCollectionEntityURI, + criticality := ignore, + extensionValue := { URI_address := p_uRI_address } + } + } // End of template m_traceActivation_full + + template (value) TraceDepth m_traceDepth(in TraceDepth p_value := minimum) := p_value; + + template (value) TypeOfError m_typeOfError(in TypeOfError p_value := not_understood) := p_value; + + template (omit) TAIBasedMDT m_tAIBasedMDT( + in template (value) TAIListforMDT p_tAIListforMDT, + in template (omit) TAIBasedMDT.iE_Extensions p_iE_Extensions := omit + ) := { + tAIListforMDT := p_tAIListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template m_tAIBasedMDT + + template (omit) TAIBasedQMC m_tAIBasedQMC( + in template (value) TAIListforQMC p_tAIListforQMC, + in template (omit) TAIBasedQMC.iE_Extensions p_iE_Extensions := omit + ) := { + tAIListforQMC := p_tAIListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template m_tAIBasedQMC + + template (omit) TABasedQMC m_tABasedQMC( + in template (value) TAListforQMC p_tAListforQMC, + in template (omit) TABasedQMC.iE_Extensions p_iE_Extensions := omit + ) := { + tAListforQMC := p_tAListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template m_tABasedQMC + + template (omit) TABasedMDT m_tABasedMDT( + in template (value) TAListforMDT p_tAListforMDT, + in template (omit) TABasedMDT.iE_Extensions p_iE_Extensions := omit + ) := { + tAListforMDT := p_tAListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template m_tABasedMDT + + template (value) TimeToTrigger m_timeToTrigger(in TimeToTrigger p_value := ms0) := p_value; + + template (value) TWIF_ID m_tWIF_ID_tWIF_ID( + in template (value) TWIF_ID.tWIF_ID p_tWIF_ID + ) := { + tWIF_ID := p_tWIF_ID + } // End of template m_tWIF_ID_tWIF_ID + + template (value) TWIF_ID m_tWIF_ID_choice_Extensions( + in template (value) TWIF_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_tWIF_ID_choice_Extensions + + template (omit) TSCAssistanceInformation m_tSCAssistanceInformation( + in template (value) Periodicity p_periodicity, + in template (omit) BurstArrivalTime p_burstArrivalTime := omit, + in template (omit) TSCAssistanceInformation.iE_Extensions p_iE_Extensions := omit + ) := { + periodicity := p_periodicity, + burstArrivalTime := p_burstArrivalTime, + iE_Extensions := p_iE_Extensions + } // End of template m_tSCAssistanceInformation + + template (value) TSCAssistanceInformation.iE_Extensions m_tSCAssistanceInformation_id_SurvivalTime( + in template (value) SurvivalTime p_survivalTime + ) := { + { + id := id_SurvivalTime, + criticality := ignore, + extensionValue := { SurvivalTime := p_survivalTime } + } + } // End of template m_tSCAssistanceInformation_id_SurvivalTime + + template (omit) TSCTrafficCharacteristics m_tSCTrafficCharacteristics( + in template (omit) TSCAssistanceInformation p_tSCAssistanceInformationDL := omit, + in template (omit) TSCAssistanceInformation p_tSCAssistanceInformationUL := omit, + in template (omit) TSCTrafficCharacteristics.iE_Extensions p_iE_Extensions := omit + ) := { + tSCAssistanceInformationDL := p_tSCAssistanceInformationDL, + tSCAssistanceInformationUL := p_tSCAssistanceInformationUL, + iE_Extensions := p_iE_Extensions + } // End of template m_tSCTrafficCharacteristics + + template (omit) UEAggregateMaximumBitRate m_uEAggregateMaximumBitRate( + in template (value) BitRate p_uEAggregateMaximumBitRateDL := PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_DL, + in template (value) BitRate p_uEAggregateMaximumBitRateUL := PX_UE_AGGREGATE_MAXIMUM_BIT_RATE_UL, + in template (omit) UEAggregateMaximumBitRate.iE_Extensions p_iE_Extensions := omit + ) := { + uEAggregateMaximumBitRateDL := p_uEAggregateMaximumBitRateDL, + uEAggregateMaximumBitRateUL := p_uEAggregateMaximumBitRateUL, + iE_Extensions := p_iE_Extensions + } // End of template m_uEAggregateMaximumBitRate + + template (omit) UEAppLayerMeasInfoItem m_uEAppLayerMeasInfoItem( + in template (value) UEAppLayerMeasConfigInfo p_uEAppLayerMeasConfigInfo, + in template (omit) UEAppLayerMeasInfoItem.iE_Extensions p_iE_Extensions := omit + ) := { + uEAppLayerMeasConfigInfo := p_uEAppLayerMeasConfigInfo, + iE_Extensions := p_iE_Extensions + } // End of template m_uEAppLayerMeasInfoItem + + template (omit) UEAppLayerMeasConfigInfo m_uEAppLayerMeasConfigInfo( + in template (value) QoEReference p_qoEReference, + in template (value) TransportLayerAddress p_measCollEntityIPAddress, + in template (omit) ServiceType p_serviceType, + in template (omit) AreaScopeOfQMC p_areaScopeOfQMC := omit, + in template (omit) UEAppLayerMeasConfigInfo.qoEMeasurementStatus p_qoEMeasurementStatus := omit, + in template (omit) UEAppLayerMeasConfigInfo.containerForAppLayerMeasConfig p_containerForAppLayerMeasConfig := omit, + in template (omit) UEAppLayerMeasConfigInfo.measConfigAppLayerID p_measConfigAppLayerID := omit, + in template (omit) SliceSupportListQMC p_sliceSupportListQMC := omit, + in template (omit) MDT_AlignmentInfo p_mDT_AlignmentInfo := omit, + in template (omit) AvailableRANVisibleQoEMetrics p_availableRANVisibleQoEMetrics := omit, + in template (omit) UEAppLayerMeasConfigInfo.iE_Extensions p_iE_Extensions := omit + ) := { + qoEReference := p_qoEReference, + serviceType := p_serviceType, + areaScopeOfQMC := p_areaScopeOfQMC, + measCollEntityIPAddress := p_measCollEntityIPAddress, + qoEMeasurementStatus := p_qoEMeasurementStatus, + containerForAppLayerMeasConfig := p_containerForAppLayerMeasConfig, + measConfigAppLayerID := p_measConfigAppLayerID, + sliceSupportListQMC := p_sliceSupportListQMC, + mDT_AlignmentInfo := p_mDT_AlignmentInfo, + availableRANVisibleQoEMetrics := p_availableRANVisibleQoEMetrics, + iE_Extensions := p_iE_Extensions + } // End of template m_uEAppLayerMeasConfigInfo + + template (omit) UE_associatedLogicalNG_connectionItem m_uE_associatedLogicalNG_connectionItem( + in template (omit) AMF_UE_NGAP_ID p_aMF_UE_NGAP_ID := omit, + in template (omit) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := omit, + in template (omit) UE_associatedLogicalNG_connectionItem.iE_Extensions p_iE_Extensions := omit + ) := { + aMF_UE_NGAP_ID := p_aMF_UE_NGAP_ID, + rAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_uE_associatedLogicalNG_connectionItem + + template (value) UECapabilityInfoRequest m_uECapabilityInfoRequest(in UECapabilityInfoRequest p_value := requested) := p_value; + + template (value) UEContextRequest m_uEContextRequest(in UEContextRequest p_value := requested) := p_value; + + template (omit) UEContextResumeRequestTransfer m_uEContextResumeRequestTransfer( + in template (omit) QosFlowListWithCause p_qosFlowFailedToResumeList := omit, + in template (omit) UEContextResumeRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowFailedToResumeList := p_qosFlowFailedToResumeList, + iE_Extensions := p_iE_Extensions + } // End of template m_uEContextResumeRequestTransfer + + template (omit) UEContextResumeResponseTransfer m_uEContextResumeResponseTransfer( + in template (omit) QosFlowListWithCause p_qosFlowFailedToResumeList := omit, + in template (omit) UEContextResumeResponseTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + qosFlowFailedToResumeList := p_qosFlowFailedToResumeList, + iE_Extensions := p_iE_Extensions + } // End of template m_uEContextResumeResponseTransfer + + template (omit) UEContextSuspendRequestTransfer m_uEContextSuspendRequestTransfer( + in template (omit) SuspendIndicator p_suspendIndicator := omit, + in template (omit) UEContextSuspendRequestTransfer.iE_Extensions p_iE_Extensions := omit + ) := { + suspendIndicator := p_suspendIndicator, + iE_Extensions := p_iE_Extensions + } // End of template m_uEContextSuspendRequestTransfer + + template (omit) UE_DifferentiationInfo m_uE_DifferentiationInfo( + in template (omit) UE_DifferentiationInfo.periodicCommunicationIndicator p_periodicCommunicationIndicator := omit, + in template (omit) UE_DifferentiationInfo.periodicTime p_periodicTime := omit, + in template (omit) UE_DifferentiationInfo.scheduledCommunicationTime p_scheduledCommunicationTime := omit, + in template (omit) UE_DifferentiationInfo.stationaryIndication p_stationaryIndication := omit, + in template (omit) UE_DifferentiationInfo.trafficProfile p_trafficProfile := omit, + in template (omit) UE_DifferentiationInfo.batteryIndication p_batteryIndication := omit, + in template (omit) UE_DifferentiationInfo.iE_Extensions p_iE_Extensions := omit + ) := { + periodicCommunicationIndicator := p_periodicCommunicationIndicator, + periodicTime := p_periodicTime, + scheduledCommunicationTime := p_scheduledCommunicationTime, + stationaryIndication := p_stationaryIndication, + trafficProfile := p_trafficProfile, + batteryIndication := p_batteryIndication, + iE_Extensions := p_iE_Extensions + } // End of template m_uE_DifferentiationInfo + + template (value) UEHistoryInformationFromTheUE m_uEHistoryInformationFromTheUE_nR( + in template (value) NRMobilityHistoryReport p_nR + ) := { + nR := p_nR + } // End of template m_uEHistoryInformationFromTheUE_nR + + template (value) UEHistoryInformationFromTheUE m_uEHistoryInformationFromTheUE_choice_Extensions( + in template (value) UEHistoryInformationFromTheUE.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_uEHistoryInformationFromTheUE_choice_Extensions + + template (value) UEIdentityIndexValue m_uEIdentityIndexValue_indexLength10( + in template (value) UEIdentityIndexValue.indexLength10 p_indexLength10 + ) := { + indexLength10 := p_indexLength10 + } // End of template m_uEIdentityIndexValue_indexLength10 + + template (value) UEIdentityIndexValue m_uEIdentityIndexValue_choice_Extensions( + in template (value) UEIdentityIndexValue.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_uEIdentityIndexValue_choice_Extensions + + template (value) UE_NGAP_IDs m_uE_NGAP_IDs_uE_NGAP_ID_pair( + in template (value) UE_NGAP_ID_pair p_uE_NGAP_ID_pair + ) := { + uE_NGAP_ID_pair := p_uE_NGAP_ID_pair + } // End of template m_uE_NGAP_IDs_uE_NGAP_ID_pair + + template (value) UE_NGAP_IDs m_uE_NGAP_IDs_aMF_UE_NGAP_ID( + in template (value) AMF_UE_NGAP_ID p_aMF_UE_NGAP_ID := PX_AMF_UE_NGAP_ID + ) := { + aMF_UE_NGAP_ID := p_aMF_UE_NGAP_ID + } // End of template m_uE_NGAP_IDs_aMF_UE_NGAP_ID + + template (value) UE_NGAP_IDs m_uE_NGAP_IDs_choice_Extensions( + in template (value) UE_NGAP_IDs.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_uE_NGAP_IDs_choice_Extensions + + template (omit) UE_NGAP_ID_pair m_uE_NGAP_ID_pair( + in template (value) AMF_UE_NGAP_ID p_aMF_UE_NGAP_ID := PX_AMF_UE_NGAP_ID, + in template (value) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := PX_RAN_UE_NGAP_ID, + in template (omit) UE_NGAP_ID_pair.iE_Extensions p_iE_Extensions := omit + ) := { + aMF_UE_NGAP_ID := p_aMF_UE_NGAP_ID, + rAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID, + iE_Extensions := p_iE_Extensions + } // End of template m_uE_NGAP_ID_pair + + template (value) UEPagingIdentity m_uEPagingIdentity_fiveG_S_TMSI( + in template (value) FiveG_S_TMSI p_fiveG_S_TMSI + ) := { + fiveG_S_TMSI := p_fiveG_S_TMSI + } // End of template m_uEPagingIdentity_fiveG_S_TMSI + + template (value) UEPagingIdentity m_uEPagingIdentity_choice_Extensions( + in template (value) UEPagingIdentity.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_uEPagingIdentity_choice_Extensions + + template (value) UEPresence m_uEPresence(in UEPresence p_value := in_) := p_value; + + template (omit) UEPresenceInAreaOfInterestItem m_uEPresenceInAreaOfInterestItem( + in template (value) LocationReportingReferenceID p_locationReportingReferenceID, + in template (value) UEPresence p_uEPresence, + in template (omit) UEPresenceInAreaOfInterestItem.iE_Extensions p_iE_Extensions := omit + ) := { + locationReportingReferenceID := p_locationReportingReferenceID, + uEPresence := p_uEPresence, + iE_Extensions := p_iE_Extensions + } // End of template m_uEPresenceInAreaOfInterestItem + + template (omit) UERadioCapabilityForPaging m_uERadioCapabilityForPaging( + in template (omit) UERadioCapabilityForPagingOfNR p_uERadioCapabilityForPagingOfNR := omit, + in template (omit) UERadioCapabilityForPagingOfEUTRA p_uERadioCapabilityForPagingOfEUTRA := omit, + in template (omit) UERadioCapabilityForPaging.iE_Extensions p_iE_Extensions := omit + ) := { + uERadioCapabilityForPagingOfNR := p_uERadioCapabilityForPagingOfNR, + uERadioCapabilityForPagingOfEUTRA := p_uERadioCapabilityForPagingOfEUTRA, + iE_Extensions := p_iE_Extensions + } // End of template m_uERadioCapabilityForPaging + + template (value) UERadioCapabilityForPaging.iE_Extensions m_uERadioCapabilityForPaging_id_UERadioCapabilityForPagingOfNB_IoT( + in template (value) UERadioCapabilityForPagingOfNB_IoT p_uERadioCapabilityForPagingOfNB_IoT + ) := { + { + id := id_UERadioCapabilityForPagingOfNB_IoT, + criticality := ignore, + extensionValue := { UERadioCapabilityForPagingOfNB_IoT := p_uERadioCapabilityForPagingOfNB_IoT } + } + } // End of template m_uERadioCapabilityForPaging_id_UERadioCapabilityForPagingOfNB_IoT + + template (value) UERetentionInformation m_uERetentionInformation(in UERetentionInformation p_value := ues_retained):= p_value; + + template (value) UERLFReportContainer m_uERLFReportContainer_nR( + in template (value) NRUERLFReportContainer p_nR + ) := { + nR := p_nR + } // End of template m_uERLFReportContainer_nR + + template (value) UERLFReportContainer m_uERLFReportContainer_lTE( + in template (value) LTEUERLFReportContainer p_lTE + ) := { + lTE := p_lTE + } // End of template m_uERLFReportContainer_lTE + + template (value) UERLFReportContainer m_uERLFReportContainer_choice_Extensions( + in template (value) UERLFReportContainer.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_uERLFReportContainer_choice_Extensions + + template (omit) UESecurityCapabilities m_uESecurityCapabilities( + in template (value) NRencryptionAlgorithms p_nRencryptionAlgorithms := PX_NR_ENCRYPTION_ALGORITHMS, + in template (value) NRintegrityProtectionAlgorithms p_nRintegrityProtectionAlgorithms := PX_NR_INTEGRITY_PROTECTION_ALGORITHMS, + in template (value) EUTRAencryptionAlgorithms p_eUTRAencryptionAlgorithms := PX_EUTRA_ENCRYPTION_ALGORITHMS, + in template (value) EUTRAintegrityProtectionAlgorithms p_eUTRAintegrityProtectionAlgorithms := PX_EUTRA_INTEGRITY_PROTECTION_ALGORITHMS, + in template (omit) UESecurityCapabilities.iE_Extensions p_iE_Extensions := omit + ) := { + nRencryptionAlgorithms := p_nRencryptionAlgorithms, + nRintegrityProtectionAlgorithms := p_nRintegrityProtectionAlgorithms, + eUTRAencryptionAlgorithms := p_eUTRAencryptionAlgorithms, + eUTRAintegrityProtectionAlgorithms := p_eUTRAintegrityProtectionAlgorithms, + iE_Extensions := p_iE_Extensions + } // End of template m_uESecurityCapabilities + + template (omit) UESliceMaximumBitRateItem m_uESliceMaximumBitRateItem( + in template (value) S_NSSAI p_s_NSSAI, + in template (value) BitRate p_uESliceMaximumBitRateDL, + in template (value) BitRate p_uESliceMaximumBitRateUL, + in template (omit) UESliceMaximumBitRateItem.iE_Extensions p_iE_Extensions := omit + ) := { + s_NSSAI := p_s_NSSAI, + uESliceMaximumBitRateDL := p_uESliceMaximumBitRateDL, + uESliceMaximumBitRateUL := p_uESliceMaximumBitRateUL, + iE_Extensions := p_iE_Extensions + } // End of template m_uESliceMaximumBitRateItem + + template (value) UE_UP_CIoT_Support m_uE_UP_CIoT_Support(in UE_UP_CIoT_Support p_value := supported) := p_value; + + template (omit) UL_CP_SecurityInformation m_UL_CP_SecurityInformation( + in template (value) UL_NAS_MAC p_ul_NAS_MAC := PX_UL_NAS_MAC, + in template (value) UL_NAS_Count p_ul_NAS_Count := PX_UL_NAS_COUNT, + in template (omit) UL_CP_SecurityInformation.iE_Extensions p_iE_Extensions := omit + ) := { + ul_NAS_MAC := p_ul_NAS_MAC, + ul_NAS_Count := p_ul_NAS_Count, + iE_Extensions := p_iE_Extensions + } // End of template + + template (omit) UL_NGU_UP_TNLModifyItem m_uL_NGU_UP_TNLModifyItem( + in template (value) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation, + in template (value) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation, + in template (omit) UL_NGU_UP_TNLModifyItem.iE_Extensions p_iE_Extensions := omit + ) := { + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_uL_NGU_UP_TNLModifyItem + + template (value) UL_NGU_UP_TNLModifyItem.iE_Extensions m_uL_NGU_UP_TNLModifyItem_id_RedundantUL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_uL_NGU_UP_TNLModifyItem_id_RedundantUL_NGU_UP_TNLInformation + + template (value) UL_NGU_UP_TNLModifyItem.iE_Extensions m_uL_NGU_UP_TNLModifyItem_id_RedundantDL_NGU_UP_TNLInformation( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template m_uL_NGU_UP_TNLModifyItem_id_RedundantDL_NGU_UP_TNLInformation + + template (value) UL_NGU_UP_TNLModifyItem.iE_Extensions m_uL_NGU_UP_TNLModifyItem_full( + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation_id_RedundantUL_NGU_UP_TNLInformation, + in template (value) UPTransportLayerInformation p_uPTransportLayerInformation_id_RedundantDL_NGU_UP_TNLInformation + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation_id_RedundantUL_NGU_UP_TNLInformation } + }, + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation_id_RedundantDL_NGU_UP_TNLInformation } + } + } // End of template m_uL_NGU_UP_TNLModifyItem_full + + template (omit) UnavailableGUAMIItem m_unavailableGUAMIItem( + in template (value) GUAMI p_gUAMI, + in template (omit) TimerApproachForGUAMIRemoval p_timerApproachForGUAMIRemoval := omit, + in template (omit) AMFName p_backupAMFName := omit, + in template (omit) UnavailableGUAMIItem.iE_Extensions p_iE_Extensions := omit + ) := { + gUAMI := p_gUAMI, + timerApproachForGUAMIRemoval := p_timerApproachForGUAMIRemoval, + backupAMFName := p_backupAMFName, + iE_Extensions := p_iE_Extensions + } // End of template m_unavailableGUAMIItem + + template (value) ULForwarding m_uLForwarding(in ULForwarding p_value := ul_forwarding_proposed) := p_value; + + template (value) UPTransportLayerInformation m_uPTransportLayerInformation_gTPTunnel( + in template (value) GTPTunnel p_gTPTunnel + ) := { + gTPTunnel := p_gTPTunnel + } // End of template m_uPTransportLayerInformation_gTPTunnel + + template (value) UPTransportLayerInformation m_uPTransportLayerInformation_choice_Extensions( + in template (value) UPTransportLayerInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_uPTransportLayerInformation_choice_Extensions + + template (omit) UPTransportLayerInformationItem m_uPTransportLayerInformationItem( + in template (value) UPTransportLayerInformation p_nGU_UP_TNLInformation, + in template (omit) UPTransportLayerInformationItem.iE_Extensions p_iE_Extensions := omit + ) := { + nGU_UP_TNLInformation := p_nGU_UP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_uPTransportLayerInformationItem + + template (value) UPTransportLayerInformationItem.iE_Extensions m_uPTransportLayerInformationItem_id_CommonNetworkInstance( + in template (value) CommonNetworkInstance p_commonNetworkInstance + ) := { + { + id := id_CommonNetworkInstance, + criticality := ignore, + extensionValue := { CommonNetworkInstance := p_commonNetworkInstance } + } + } // End of template m_uPTransportLayerInformationItem_id_CommonNetworkInstance + + template (omit) UPTransportLayerInformationPairItem m_uPTransportLayerInformationPairItem( + in template (value) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation, + in template (value) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation, + in template (omit) UPTransportLayerInformationPairItem.iE_Extensions p_iE_Extensions := omit + ) := { + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_uPTransportLayerInformationPairItem + + template (value) UserLocationInformation m_uPTransportLayerInformation_userLocationInformationEUTRA( + in template (value) UserLocationInformationEUTRA p_userLocationInformationEUTRA + ) := { + userLocationInformationEUTRA := p_userLocationInformationEUTRA + } // End of template m_uPTransportLayerInformation_userLocationInformationEUTRA + + template (value) UserLocationInformation m_uPTransportLayerInformation_userLocationInformationNR( + in template (value) UserLocationInformationNR p_userLocationInformationNR + ) := { + userLocationInformationNR := p_userLocationInformationNR + } // End of template m_uPTransportLayerInformation_userLocationInformationNR + + template (value) UserLocationInformation m_uPTransportLayerInformation_userLocationInformationN3IWF( + in template (value) UserLocationInformationN3IWF p_userLocationInformationN3IWF + ) := { + userLocationInformationN3IWF := p_userLocationInformationN3IWF + } // End of template m_uPTransportLayerInformation_userLocationInformationN3IWF + + template (value) UserLocationInformation m_userLocationInformation_choice_Extensions( + in template (value) UserLocationInformation.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_userLocationInformation_choice_Extensions + + template (value) UserLocationInformation.choice_Extensions m_userLocationInformation_id_UserLocationInformationTNGF( + in template (value) UserLocationInformationTNGF p_userLocationInformationTNGF + ) := { + id := id_UserLocationInformationTNGF, + criticality := ignore, + value_ := { UserLocationInformationTNGF := p_userLocationInformationTNGF } + } // End of template m_userLocationInformation_id_UserLocationInformationTNGF + + template (value) UserLocationInformation.choice_Extensions m_userLocationInformation_id_UserLocationInformationTWIF( + in template (value) UserLocationInformationTWIF p_userLocationInformationTWIF + ) := { + id := id_UserLocationInformationTWIF, + criticality := ignore, + value_ := { UserLocationInformationTWIF := p_userLocationInformationTWIF } + } // End of template m_userLocationInformation_id_UserLocationInformationTWIF + + template (value) UserLocationInformation.choice_Extensions m_userLocationInformation_id_UserLocationInformationW_AGF( + in template (value) UserLocationInformationW_AGF p_userLocationInformationW_AGF + ) := { + id := id_UserLocationInformationW_AGF, + criticality := ignore, + value_ := { UserLocationInformationW_AGF := p_userLocationInformationW_AGF } + } // End of template m_userLocationInformation_id_UserLocationInformationW_AGF + + template (omit) UserLocationInformationEUTRA m_userLocationInformationEUTRA( + in template (value) EUTRA_CGI p_eUTRA_CGI, + in template (value) TAI p_tAI, + in template (omit) TimeStamp p_timeStamp := omit, + in template (omit) UserLocationInformationEUTRA.iE_Extensions p_iE_Extensions := omit + ) := { + eUTRA_CGI := p_eUTRA_CGI, + tAI := p_tAI, + timeStamp := p_timeStamp, + iE_Extensions := p_iE_Extensions + } // End of template m_userLocationInformationEUTRA + + template (value) UserLocationInformationEUTRA.iE_Extensions m_userLocationInformationEUTRA_id_PSCellInformation( + in template (value) NGRAN_CGI p_nGRAN_CGI + ) := { + { + id := id_PSCellInformation, + criticality := ignore, + extensionValue := { NGRAN_CGI := p_nGRAN_CGI } + } + } // End of template m_userLocationInformationEUTRA_id_PSCellInformation + + template (omit) UserLocationInformationN3IWF m_userLocationInformationN3IWF( + in template (value) TransportLayerAddress p_iPAddress := PX_TRANSPORT_LAYER_ADDRESS, + in template (value) PortNumber p_portNumber, + in template (omit) UserLocationInformationN3IWF.iE_Extensions p_iE_Extensions := omit + ) := { + iPAddress := p_iPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template m_userLocationInformationN3IWF + + template (value) UserLocationInformationN3IWF.iE_Extensions m_userLocationInformationN3IWF_id_TAI( + in template (value) TAI p_tAI + ) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template m_userLocationInformationN3IWF_id_TAI + + template (omit) UserLocationInformationTNGF m_userLocationInformationTNGF( + in template (value) TNAP_ID p_tNAP_ID, + in template (value) TransportLayerAddress p_iPAddress := PX_TRANSPORT_LAYER_ADDRESS, + in template (value) PortNumber p_portNumber, + in template (omit) UserLocationInformationTNGF.iE_Extensions p_iE_Extensions := omit + ) := { + tNAP_ID := p_tNAP_ID, + iPAddress := p_iPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template m_userLocationInformationTNGF + + template (value) UserLocationInformationTNGF.iE_Extensions m_userLocationInformationTNGF_id_TAI( + in template (value) TAI p_tAI + ) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template m_userLocationInformationTNGF_id_TAI + + template (omit) UserLocationInformationTWIF m_userLocationInformationTWIF( + in template (value) TWAP_ID p_tWAP_ID, + in template (value) TransportLayerAddress p_iPAddress := PX_TRANSPORT_LAYER_ADDRESS, + in template (value) PortNumber p_portNumber, + in template (omit) UserLocationInformationTWIF.iE_Extensions p_iE_Extensions := omit + ) := { + tWAP_ID := p_tWAP_ID, + iPAddress := p_iPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template m_userLocationInformationTWIF + + template (value) UserLocationInformationTWIF.iE_Extensions m_userLocationInformationTWIF_id_TAI( + in template (value) TAI p_tAI + ) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template m_userLocationInformationTWIF_id_TAI + + template (value) UserLocationInformationW_AGF m_userLocationInformationW_AGF_globalLine_ID( + in template (value) GlobalLine_ID p_globalLine_ID + ) := { + globalLine_ID := p_globalLine_ID + } // End of template m_userLocationInformationW_AGF_globalLine_ID + + template (value) UserLocationInformationW_AGF m_userLocationInformationW_AGF_hFCNode_ID( + in template (value) HFCNode_ID p_hFCNode_ID + ) := { + hFCNode_ID := p_hFCNode_ID + } // End of template m_userLocationInformationW_AGF_hFCNode_ID + + template (value) UserLocationInformationW_AGF m_userLocationInformationW_AGF_choice_Extensions( + in template (value) UserLocationInformationW_AGF.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_userLocationInformationW_AGF_choice_Extensions + + template (value) UserLocationInformationW_AGF.choice_Extensions m_userLocationInformationW_AGF_id_GlobalCable_ID( + in template (value) GlobalCable_ID p_globalCable_ID + ) := { + id := id_GlobalCable_ID, + criticality := ignore, + value_ := { GlobalCable_ID := p_globalCable_ID } + } // End of template m_userLocationInformationW_AGF_id_GlobalCable_ID + + template (value) UserLocationInformationW_AGF.choice_Extensions m_userLocationInformationW_AGF_id_HFCNode_ID_new( + in template (value) HFCNode_ID_new p_hFCNode_ID_new + ) := { + id := id_HFCNode_ID_new, + criticality := ignore, + value_ := { HFCNode_ID_new := p_hFCNode_ID_new } + } // End of template m_userLocationInformationW_AGF_id_HFCNode_ID_new + + template (value) UserLocationInformationW_AGF.choice_Extensions m_userLocationInformationW_AGF_id_GlobalCable_ID_new( + in template (value) GlobalCable_ID_new p_globalCable_ID_new + ) := { + id := id_GlobalCable_ID_new, + criticality := ignore, + value_ := { GlobalCable_ID_new := p_globalCable_ID_new } + } // End of template m_userLocationInformationW_AGF_id_GlobalCable_ID_new + + + + template (omit) UserLocationInformationNR m_userLocationInformationNR( + in template (value) NR_CGI p_nR_CGI, + in template (value) TAI p_tAI, + in template (omit) TimeStamp p_timeStamp := omit, + in template (omit) UserLocationInformationNR.iE_Extensions p_iE_Extensions := omit + ) := { + nR_CGI := p_nR_CGI, + tAI := p_tAI, + timeStamp := p_timeStamp, + iE_Extensions := p_iE_Extensions + } // End of template m_userLocationInformationNR + + template (value) UserLocationInformationNR.iE_Extensions m_userLocationInformationNR_id_PSCellInformation( + in template (value) NGRAN_CGI p_nGRAN_CGI + ) := { + { + id := id_PSCellInformation, + criticality := ignore, + extensionValue := { NGRAN_CGI := p_nGRAN_CGI } + } + } // End of template m_userLocationInformationNR_id_PSCellInformation + + template (value) UserLocationInformationNR.iE_Extensions m_userLocationInformationNR_id_NID( + in template (value) NID p_nID + ) := { + { + id := id_NID, + criticality := reject, + extensionValue := { NID := p_nID } + } + } // End of template m_userLocationInformationNR_id_NID + + template (value) UserLocationInformationNR.iE_Extensions m_userLocationInformationNR_id_NRNTNTAIInformation( + in template (value) NRNTNTAIInformation p_nRNTNTAIInformation + ) := { + { + id := id_NRNTNTAIInformation, + criticality := ignore, + extensionValue := { NRNTNTAIInformation := p_nRNTNTAIInformation } + } + } // End of template m_userLocationInformationNR_id_NRNTNTAIInformation + + template (omit) UserPlaneSecurityInformation m_userPlaneSecurityInformation( + in template (value) SecurityResult p_securityResult, + in template (value) SecurityIndication p_securityIndication, + in template (omit) UserPlaneSecurityInformation.iE_Extensions p_iE_Extensions := omit + ) := { + securityResult := p_securityResult, + securityIndication := p_securityIndication, + iE_Extensions := p_iE_Extensions + } // End of template m_userPlaneSecurityInformation + + template (omit) VolumeTimedReport_Item m_volumeTimedReport_Item( + in template (value) VolumeTimedReport_Item.startTimeStamp p_startTimeStamp, + in template (value) VolumeTimedReport_Item.endTimeStamp p_endTimeStamp, + in template (value) VolumeTimedReport_Item.usageCountUL p_usageCountUL, + in template (value) VolumeTimedReport_Item.usageCountDL p_usageCountDL, + in template (omit) VolumeTimedReport_Item.iE_Extensions p_iE_Extensions := omit + ) := { + startTimeStamp := p_startTimeStamp, + endTimeStamp := p_endTimeStamp, + usageCountUL := p_usageCountUL, + usageCountDL := p_usageCountDL, + iE_Extensions := p_iE_Extensions + } // End of template m_volumeTimedReport_Item + + template (value) W_AGF_ID m_w_AGF_ID_w_AGF_ID( + in template (value) W_AGF_ID.w_AGF_ID p_w_AGF_ID + ) := { + w_AGF_ID := p_w_AGF_ID + } // End of template m_w_AGF_ID_w_AGF_ID + + template (value) W_AGF_ID m_w_AGF_ID_choice_Extensions( + in template (value) W_AGF_ID.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_w_AGF_ID_choice_Extensions + + template (value) WarningAreaList m_warningAreaList_eUTRA_CGIListForWarning( + in template (value) EUTRA_CGIListForWarning p_eUTRA_CGIListForWarning + ) := { + eUTRA_CGIListForWarning := p_eUTRA_CGIListForWarning + } // End of template m_warningAreaList_eUTRA_CGIListForWarning + + template (value) WarningAreaList m_warningAreaList_nR_CGIListForWarning( + in template (value) NR_CGIListForWarning p_nR_CGIListForWarning + ) := { + nR_CGIListForWarning := p_nR_CGIListForWarning + } // End of template m_warningAreaList_nR_CGIListForWarning + + template (value) WarningAreaList m_warningAreaList_tAIListForWarning( + in template (value) TAIListForWarning p_tAIListForWarning + ) := { + tAIListForWarning := p_tAIListForWarning + } // End of template m_warningAreaList_tAIListForWarning + + template (value) WarningAreaList m_warningAreaList_emergencyAreaIDList( + in template (value) EmergencyAreaIDList p_emergencyAreaIDList + ) := { + emergencyAreaIDList := p_emergencyAreaIDList + } // End of template m_warningAreaList_emergencyAreaIDList + + template (value) WarningAreaList m_warningAreaList_choice_Extensions( + in template (value) WarningAreaList.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template m_warningAreaList_choice_Extensions + + template (omit) WLANMeasurementConfiguration m_wLANMeasurementConfiguration( + in template (value) WLANMeasConfig p_wlanMeasConfig, + in template (omit) WLANMeasConfigNameList p_wlanMeasConfigNameList := omit, + in template (omit) WLANMeasurementConfiguration.wlan_rssi p_wlan_rssi := omit, + in template (omit) WLANMeasurementConfiguration.wlan_rtt p_wlan_rtt := omit, + in template (omit) WLANMeasurementConfiguration.iE_Extensions p_iE_Extensions := omit + ) := { + wlanMeasConfig := p_wlanMeasConfig, + wlanMeasConfigNameList := p_wlanMeasConfigNameList, + wlan_rssi := p_wlan_rssi, + wlan_rtt := p_wlan_rtt, + iE_Extensions := p_iE_Extensions + } // End of template m_wLANMeasurementConfiguration + + template (omit) WLANMeasConfigNameItem m_wLANMeasConfigNameItem( + in template (value) WLANName p_wLANName, + in template (omit) WLANMeasConfigNameItem.iE_Extensions p_iE_Extensions := omit + ) := { + wLANName := p_wLANName, + iE_Extensions := p_iE_Extensions + } // End of template m_wLANMeasConfigNameItem + + template (value) WLANMeasConfig m_wLANMeasConfig(in WLANMeasConfig p_value := setup) := p_value; + + template (omit) WUS_Assistance_Information m_wUS_Assistance_Information( + in template (value) PagingProbabilityInformation p_pagingProbabilityInformation, + in template (omit) WUS_Assistance_Information.iE_Extensions p_iE_Extensions := omit + ) := { + pagingProbabilityInformation := p_pagingProbabilityInformation, + iE_Extensions := p_iE_Extensions + } // End of template m_wUS_Assistance_Information + + template (omit) XnExtTLA_Item m_xnExtTLA_Item( + in template (omit) TransportLayerAddress p_iPsecTLA := omit, + in template (omit) XnGTP_TLAs p_gTP_TLAs := omit, + in template (omit) XnExtTLA_Item.iE_Extensions p_iE_Extensions := omit + ) := { + iPsecTLA := p_iPsecTLA, + gTP_TLAs := p_gTP_TLAs, + iE_Extensions := p_iE_Extensions + } // End of template m_xnExtTLA_Item + + template (value) XnExtTLA_Item.iE_Extensions m_xnExtTLA_Item_id_SCTP_TLAs( + in template (value) SCTP_TLAs p_sCTP_TLAs + ) := { + { + id := id_SCTP_TLAs, + criticality := ignore, + extensionValue := { SCTP_TLAs := p_sCTP_TLAs } + } + } // End of template m_xnExtTLA_Item_id_SCTP_TLAs + + template (omit) XnTNLConfigurationInfo m_xnTNLConfigurationInfo( + in template (value) XnTLAs p_xnTransportLayerAddresses, + in template (omit) XnExtTLAs p_xnExtendedTransportLayerAddresses := omit, + in template (omit) XnTNLConfigurationInfo.iE_Extensions p_iE_Extensions := omit + ) := { + xnTransportLayerAddresses := p_xnTransportLayerAddresses, + xnExtendedTransportLayerAddresses := p_xnExtendedTransportLayerAddresses, + iE_Extensions := p_iE_Extensions + } // End of template m_xnTNLConfigurationInfo + + } // End of group send + + group Receive { + + template (present) AdditionalDLUPTNLInformationForHOItem mw_additionalDLUPTNLInformationForHOItem( + template (present) UPTransportLayerInformation p_additionalDL_NGU_UP_TNLInformation := ?, + template (present) QosFlowListWithDataForwarding p_additionalQosFlowSetupResponseList := ?, + template UPTransportLayerInformation p_additionalDLForwardingUPTNLInformation := *, + template AdditionalDLUPTNLInformationForHOItem.iE_Extensions p_iE_Extensions := * + ) := { + additionalDL_NGU_UP_TNLInformation := p_additionalDL_NGU_UP_TNLInformation, + additionalQosFlowSetupResponseList := p_additionalQosFlowSetupResponseList, + additionalDLForwardingUPTNLInformation := p_additionalDLForwardingUPTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_additionalDLUPTNLInformationForHOItem + + template (present) AdditionalDLUPTNLInformationForHOItem.iE_Extensions mw_additionalDLUPTNLInformationForHOItem_uPTransportLayerInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_AdditionalRedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_additionalDLUPTNLInformationForHOItem_iE_Extensions + + template (present) AdditionalQosFlowInformation mw_additionalQosFlowInformation(template (present) AdditionalQosFlowInformation p_value := ?) := p_value; + + template (present) AllocationAndRetentionPriority mw_allocationAndRetentionPriority( + template (present) PriorityLevelARP p_priorityLevelARP := ?, + template (present) Pre_emptionCapability p_pre_emptionCapability := ?, + template (present) Pre_emptionVulnerability p_pre_emptionVulnerability := ?, + template AllocationAndRetentionPriority.iE_Extensions p_iE_Extensions := * + ) := { + priorityLevelARP := p_priorityLevelARP, + pre_emptionCapability := p_pre_emptionCapability, + pre_emptionVulnerability := p_pre_emptionVulnerability, + iE_Extensions := p_iE_Extensions + } // End of template mw_allocationAndRetentionPriority + + template (present) AllowedNSSAI_Item mw_allowedNSSAI_Item( + template (present) S_NSSAI p_s_NSSAI := ?, + template AllowedNSSAI_Item.iE_Extensions p_iE_Extensions := * + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_allowedNSSAI_Item + + template (present) Allowed_PNI_NPN_Item mw_allowed_PNI_NPN_Item( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) Allowed_PNI_NPN_Item.pNI_NPN_restricted p_pNI_NPN_restricted := ?, + template (present) Allowed_CAG_List_per_PLMN p_allowed_CAG_List_per_PLMN := ?, + template Allowed_PNI_NPN_Item.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + pNI_NPN_restricted := p_pNI_NPN_restricted, + allowed_CAG_List_per_PLMN := p_allowed_CAG_List_per_PLMN, + iE_Extensions := p_iE_Extensions + } // End of template mw_allowed_PNI_NPN_Item + + template (present) AlternativeQoSParaSetIndex mw_alternativeQoSParaSetIndex(template (present) integer p_value := ?) := p_value; + + template (present) AlternativeQoSParaSetNotifyIndex mw_alternativeQoSParaSetNotifyIndex(template (present) integer p_value := ?) := p_value; + + template (present) AlternativeQoSParaSetItem mw_alternativeQoSParaSetItem( + template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ?, + template BitRate p_guaranteedFlowBitRateDL := *, + template BitRate p_guaranteedFlowBitRateUL := *, + template PacketDelayBudget p_packetDelayBudget := *, + template PacketErrorRate p_packetErrorRate := *, + template AlternativeQoSParaSetItem.iE_Extensions p_iE_Extensions := * + ) := { + alternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex, + guaranteedFlowBitRateDL := p_guaranteedFlowBitRateDL, + guaranteedFlowBitRateUL := p_guaranteedFlowBitRateUL, + packetDelayBudget := p_packetDelayBudget, + packetErrorRate := p_packetErrorRate, + iE_Extensions := p_iE_Extensions + } // End of template mw_alternativeQoSParaSetItem + + template (present) AMFName mw_aMFName(template (present) AMFName p_value := ?) := p_value; + + template (present) AMFNameVisibleString mw_aMFNameVisibleString(template (present) AMFNameVisibleString p_value := ?) := p_value; + + template (present) AMFNameUTF8String mw_aMFNameUTF8String(template (present) AMFNameUTF8String p_value := ?) := p_value; + + template (present) AMFPagingTarget mw_aMFPagingTarget_globalRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) := { + globalRANNodeID := p_globalRANNodeID + } // End of template mw_aMFPagingTarget_globalRANNodeID + + template (present) AMFPagingTarget mw_aMFPagingTarget_tAI( + template (present) TAI p_tAI := ? + ) := { + tAI := p_tAI + } // End of template mw_aMFPagingTarget_tAI + + template (present) AMFPagingTarget mw_aMFPagingTarget_ext( + template (present) AMFPagingTarget.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_aMFPagingTarget_ext + + template (present) AMF_TNLAssociationSetupItem mw_aMF_TNLAssociationSetupItem( + template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?, + template AMF_TNLAssociationSetupItem.iE_Extensions p_iE_Extensions := * + ) := { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + iE_Extensions := p_iE_Extensions + } // End of template mw_aMF_TNLAssociationSetupItem + + template (present) AMF_TNLAssociationToAddItem mw_aMF_TNLAssociationToAddItem( + template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?, + template (present) TNLAddressWeightFactor p_tNLAddressWeightFactor := ?, + template TNLAssociationUsage p_tNLAssociationUsage := *, + template AMF_TNLAssociationToAddItem.iE_Extensions p_iE_Extensions := * + ):= { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + tNLAssociationUsage := p_tNLAssociationUsage, + tNLAddressWeightFactor := p_tNLAddressWeightFactor, + iE_Extensions := p_iE_Extensions + } // End of template mw_aMF_TNLAssociationToAddItem + + template (present) AMF_TNLAssociationToRemoveItem mw_aMF_TNLAssociationToRemoveItem( + template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?, + template AMF_TNLAssociationToRemoveItem.iE_Extensions p_iE_Extensions := * + ) := { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + iE_Extensions := p_iE_Extensions + } // End of template mw_aMF_TNLAssociationToRemoveItem + + template (present) AMF_TNLAssociationToUpdateItem mw_aMF_TNLAssociationToUpdateItem( + template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?, + template TNLAssociationUsage p_tNLAssociationUsage := *, + template TNLAddressWeightFactor p_tNLAddressWeightFactor := *, + template AMF_TNLAssociationToUpdateItem.iE_Extensions p_iE_Extensions := * + ) := { + aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress, + tNLAssociationUsage := p_tNLAssociationUsage, + tNLAddressWeightFactor := p_tNLAddressWeightFactor, + iE_Extensions := p_iE_Extensions + } // End of template mw_aMF_TNLAssociationToUpdateItem + + template AreaOfInterest mw_areaOfInterest( + template AreaOfInterestTAIList p_areaOfInterestTAIList := *, + template AreaOfInterestCellList p_areaOfInterestCellList := *, + template AreaOfInterestRANNodeList p_areaOfInterestRANNodeList := *, + template AreaOfInterest.iE_Extensions p_iE_Extensions := * + ) := { + areaOfInterestTAIList := p_areaOfInterestTAIList, + areaOfInterestCellList := p_areaOfInterestCellList, + areaOfInterestRANNodeList := p_areaOfInterestRANNodeList, + iE_Extensions := p_iE_Extensions + } // End of template mw_areaOfInterest + + template (present) AreaOfInterestCellItem mw_areaOfInterestCellItem( + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template AreaOfInterestCellItem.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CGI := p_nGRAN_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_areaOfInterestCellItem + + template (present) AreaOfInterestItem mw_areaOfInterestItem( + template (present) AreaOfInterest p_areaOfInterest := ?, + template (present) LocationReportingReferenceID p_locationReportingReferenceID := ?, + template AreaOfInterestItem.iE_Extensions p_iE_Extensions := * + ) := { + areaOfInterest := p_areaOfInterest, + locationReportingReferenceID := p_locationReportingReferenceID, + iE_Extensions := p_iE_Extensions + } // End of template mw_areaOfInterestItem + + template (present) AreaOfInterestRANNodeItem mw_areaOfInterestRANNodeItem( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template AreaOfInterestRANNodeItem.iE_Extensions p_iE_Extensions := * + ):= { + globalRANNodeID := p_globalRANNodeID, + iE_Extensions := p_iE_Extensions + } // End of template mw_areaOfInterestRANNodeItem + + template (present) AreaOfInterestTAIItem mw_areaOfInterestTAIItem( + template (present) TAI p_tAI := ?, + template AreaOfInterestTAIItem.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_areaOfInterestTAIItem + + template AssistanceDataForPaging mw_assistanceDataForPaging( + template AssistanceDataForRecommendedCells p_assistanceDataForRecommendedCells := *, + template PagingAttemptInformation p_pagingAttemptInformation := *, + template AssistanceDataForPaging.iE_Extensions p_iE_Extensions := * + ) := { + assistanceDataForRecommendedCells := p_assistanceDataForRecommendedCells, + pagingAttemptInformation := p_pagingAttemptInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_assistanceDataForPaging + + template (present) AssistanceDataForPaging.iE_Extensions mw_assistanceDataForPaging_NPN_PagingAssistanceInformation( + template (present) NPN_PagingAssistanceInformation p_nPN_PagingAssistanceInformation := ? + ) := { + { + id := id_NPN_PagingAssistanceInformation, + criticality := ignore, + extensionValue := { NPN_PagingAssistanceInformation := p_nPN_PagingAssistanceInformation } + } + } // End of template mw_assistanceDataForPaging_NPN_PagingAssistanceInformation + + template (present) AssistanceDataForPaging.iE_Extensions mw_assistanceDataForPaging_pagingAssisDataforCEcapabUE( + template (present) PagingAssisDataforCEcapabUE p_pagingAssisDataforCEcapabUE := ? + ) := { + { + id := id_PagingAssisDataforCEcapabUE, + criticality := ignore, + extensionValue := { PagingAssisDataforCEcapabUE := p_pagingAssisDataforCEcapabUE } + } + } // End of template mw_assistanceDataForPaging_pagingAssisDataforCEcapabUE + + template (present) AssistanceDataForPaging.iE_Extensions mw_assistanceDataForPaging_full( + template (present) NPN_PagingAssistanceInformation p_nPN_PagingAssistanceInformation := ?, + template (present) PagingAssisDataforCEcapabUE p_pagingAssisDataforCEcapabUE := ? + ) := { + { + id := id_NPN_PagingAssistanceInformation, + criticality := ignore, + extensionValue := { NPN_PagingAssistanceInformation := p_nPN_PagingAssistanceInformation } + }, + { + id := id_PagingAssisDataforCEcapabUE, + criticality := ignore, + extensionValue := { PagingAssisDataforCEcapabUE := p_pagingAssisDataforCEcapabUE } + } + } // End of template mw_assistanceDataForPaging_full + + template (present) AssistanceDataForRecommendedCells mw_assistanceDataForRecommendedCells( + template (present) RecommendedCellsForPaging p_recommendedCellsForPaging := ?, + template AssistanceDataForRecommendedCells.iE_Extensions p_iE_Extensions := * + ) := { + recommendedCellsForPaging := p_recommendedCellsForPaging, + iE_Extensions := p_iE_Extensions + } // End of template mw_assistanceDataForRecommendedCells + + template (present) AssociatedMBSQosFlowSetupRequestItem mw_associatedMBSQosFlowSetupRequestItem( + template (present) QosFlowIdentifier p_mBS_QosFlowIdentifier := ?, + template (present) QosFlowIdentifier p_associatedUnicastQosFlowIdentifier := ?, + template AssociatedMBSQosFlowSetupRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_QosFlowIdentifier := p_mBS_QosFlowIdentifier, + associatedUnicastQosFlowIdentifier := p_associatedUnicastQosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template mw_associatedMBSQosFlowSetupRequestItem + + template (present) AssociatedMBSQosFlowSetuporModifyRequestItem mw_associatedMBSQosFlowSetuporModifyRequestItem( + template (present) QosFlowIdentifier p_mBS_QosFlowIdentifier := ?, + template (present) QosFlowIdentifier p_associatedUnicastQosFlowIdentifier := ?, + template AssociatedMBSQosFlowSetuporModifyRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_QosFlowIdentifier := p_mBS_QosFlowIdentifier, + associatedUnicastQosFlowIdentifier := p_associatedUnicastQosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template mw_associatedMBSQosFlowSetuporModifyRequestItem + + template (present) AssociatedQosFlowItem mw_associatedQosFlowItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template AssociatedQosFlowItem.qosFlowMappingIndication p_qosFlowMappingIndication := *, + template AssociatedQosFlowItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + qosFlowMappingIndication := p_qosFlowMappingIndication, + iE_Extensions := p_iE_Extensions + } // End of template mw_associatedQosFlowItem + + template (present) AssociatedQosFlowItem.iE_Extensions mw_associatedQosFlowItem_alternativeQoSParaSetIndex( + template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ? + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template mw_associatedQosFlowItem_alternativeQoSParaSetIndex + + template (present) AuthenticatedIndication mw_authenticatedIndication(template (present) AuthenticatedIndication p_value := true_) := p_value; + + template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_NR_cellBased( + template (present) CellBasedMDT_NR p_cellBased := ? + ) := { + cellBased := p_cellBased + } // End of template mw_areaScopeOfMDT_cellBased + + template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_tABased( + template (present) TABasedMDT p_tABased := ? + ) := { + tABased := p_tABased + } // End of template mw_areaScopeOfMDT_tABased + + template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_pLMNWide := { + pLMNWide := NULL + } // End of template mw_areaScopeOfMDT_pLMNWide + + template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_tAIBased( + template (present) TAIBasedMDT p_tAIBased := ? + ) := { + tAIBased := p_tAIBased + } // End of template mw_areaScopeOfMDT_tAIBased + + template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_ext( + template (present) AreaScopeOfMDT_NR.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_areaScopeOfMDT_ext + + template (present) AreaScopeOfNeighCellsItem mw_areaScopeOfNeighCellsItem( + template (present) NRFrequencyInfo p_nrFrequencyInfo := ?, + template PCIListForMDT p_pciListForMDT := *, + template AreaScopeOfNeighCellsItem.iE_Extensions p_iE_Extensions := * + ) := { + nrFrequencyInfo := p_nrFrequencyInfo, + pciListForMDT := p_pciListForMDT, + iE_Extensions := p_iE_Extensions + } // End of template mw_areaScopeOfNeighCellsItem + + template (present) AreaScopeOfQMC mw_areaScopeOfQMC_cellBased( + template (present) CellBasedQMC p_cellBased := ? + ) := { + cellBased := p_cellBased + } // End of template mw_areaScopeOfQMC_cellBased + + template (present) AreaScopeOfQMC mw_areaScopeOfQMC_tABased( + template (present) TABasedQMC p_tABased := ? + ) := { + tABased := p_tABased + } // End of template mw_areaScopeOfQMC_tABased + + template (present) AreaScopeOfQMC mw_areaScopeOfQMC_tAIBased( + template (present) TAIBasedQMC p_tAIBased := ? + ) := { + tAIBased := p_tAIBased + } // End of template mw_areaScopeOfQMC_tAIBased + + template (present) AreaScopeOfQMC mw_areaScopeOfQMC_pLMNAreaBased( + template (present) PLMNAreaBasedQMC p_pLMNAreaBased := ? + ) := { + pLMNAreaBased := p_pLMNAreaBased + } // End of template mw_areaScopeOfQMC_pLMNAreaBased + + template (present) AreaScopeOfQMC mw_areaScopeOfQMC_ext( + template (present) AreaScopeOfQMC.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_areaScopeOfQMC_ext + + template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_cellBased( + template (present) CellBasedMDT_EUTRA p_cellBased + ) := { + cellBased := p_cellBased + } // End of template mw_areaScopeOfMDT_EUTRA_cellBased + + template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_tABased( + template (present) TABasedMDT p_tABased + ) := { + tABased := p_tABased + } // End of template mw_areaScopeOfMDT_EUTRA_tABased + + template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_pLMNWide := { + pLMNWide := NULL + } // End of template mw_areaScopeOfMDT_EUTRA_pLMNWide + + template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_tAIBased( + template (present) TAIBasedMDT p_tAIBased + ) := { + tAIBased := p_tAIBased + } // End of template mw_areaScopeOfMDT_EUTRA_tAIBased + + template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_ext( + template (present) AreaScopeOfMDT_EUTRA.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_areaScopeOfMDT_EUTRA_ext + + template AvailableRANVisibleQoEMetrics mw_availableRANVisibleQoEMetrics( + template AvailableRANVisibleQoEMetrics.applicationLayerBufferLevelList p_applicationLayerBufferLevelList := *, + template AvailableRANVisibleQoEMetrics.playoutDelayForMediaStartup p_playoutDelayForMediaStartup := *, + template AvailableRANVisibleQoEMetrics.iE_Extensions p_iE_Extensions := * + ) := { + applicationLayerBufferLevelList := p_applicationLayerBufferLevelList, + playoutDelayForMediaStartup := p_playoutDelayForMediaStartup, + iE_Extensions := p_iE_Extensions + } // End of template mw_availableRANVisibleQoEMetrics + + template BeamMeasurementsReportConfiguration mw_beamMeasurementsReportConfiguration( + template BeamMeasurementsReportQuantity p_beamMeasurementsReportQuantity := *, + template MaxNrofRS_IndexesToReport p_maxNrofRS_IndexesToReport := *, + template BeamMeasurementsReportConfiguration.iE_Extensions p_iE_Extensions := * + ) := { + beamMeasurementsReportQuantity := p_beamMeasurementsReportQuantity, + maxNrofRS_IndexesToReport := p_maxNrofRS_IndexesToReport, + iE_Extensions := p_iE_Extensions + } // End of template mw_beamMeasurementsReportConfiguration + + template BeamMeasurementsReportQuantity mw_beamMeasurementsReportQuantity( + template BeamMeasurementsReportQuantity.rSRP p_rSRP := true_, + template BeamMeasurementsReportQuantity.rSRQ p_rSRQ := true_, + template BeamMeasurementsReportQuantity.sINR p_sINR := true_, + template BeamMeasurementsReportQuantity.iE_Extensions p_iE_Extensions := * + ) := { + rSRP := p_rSRP, + rSRQ := p_rSRQ, + sINR := p_sINR, + iE_Extensions := p_iE_Extensions + } // End of template mw_beamMeasurementsReportQuantity + + template (present) BitRate mw_bitRate (template (present) BitRate p_value := ?) := p_value; + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_cellIDCancelledEUTRA( + template (present) CellIDCancelledEUTRA p_cellIDCancelledEUTRA := ? + ) := { + cellIDCancelledEUTRA := p_cellIDCancelledEUTRA + } // End of template mw_broadcastCancelledAreaList_cellIDCancelledEUTRA + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_tAICancelledEUTRA( + template (present) TAICancelledEUTRA p_tAICancelledEUTRA := ? + ) := { + tAICancelledEUTRA := p_tAICancelledEUTRA + } // End of template mw_broadcastCancelledAreaList_tAICancelledEUTRA + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_emergencyAreaIDCancelledEUTRA( + template (present) EmergencyAreaIDCancelledEUTRA p_emergencyAreaIDCancelledEUTRA := ? + ) := { + emergencyAreaIDCancelledEUTRA := p_emergencyAreaIDCancelledEUTRA + } // End of template mw_broadcastCancelledAreaList_emergencyAreaIDCancelledEUTRA + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_cellIDCancelledNR( + template (present) CellIDCancelledNR p_cellIDCancelledNR := ? + ) := { + cellIDCancelledNR := p_cellIDCancelledNR + } // End of template mw_broadcastCancelledAreaList_cellIDCancelledNR + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_tAICancelledNR( + template (present) TAICancelledNR p_tAICancelledNR := ? + ) := { + tAICancelledNR := p_tAICancelledNR + } // End of template mw_broadcastCancelledAreaList_tAICancelledNR + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_emergencyAreaIDCancelledNR( + template (present) EmergencyAreaIDCancelledNR p_emergencyAreaIDCancelledNR := ? + ) := { + emergencyAreaIDCancelledNR := p_emergencyAreaIDCancelledNR + } // End of template mw_broadcastCancelledAreaList_ext + + template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_ext( + template (present) BroadcastCancelledAreaList.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_broadcastCancelledAreaList_ext + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_cellIDBroadcastEUTRA( + template (present) CellIDBroadcastEUTRA p_cellIDBroadcastEUTRA + ) := { + cellIDBroadcastEUTRA := p_cellIDBroadcastEUTRA + } // End of template mw_broadcastCompletedAreaList_cellIDCancelledEUTRA + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_tAIBroadcastEUTRA( + template (present) TAIBroadcastEUTRA p_tAIBroadcastEUTRA + ) := { + tAIBroadcastEUTRA := p_tAIBroadcastEUTRA + } // End of template mw_broadcastCompletedAreaList_tAIBroadcastEUTRA + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastEUTRA( + template (present) EmergencyAreaIDBroadcastEUTRA p_emergencyAreaIDBroadcastEUTRA + ) := { + emergencyAreaIDBroadcastEUTRA := p_emergencyAreaIDBroadcastEUTRA + } // End of template mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastEUTRA + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_cellIDBroadcastNR( + template (present) CellIDBroadcastNR p_cellIDBroadcastNR + ) := { + cellIDBroadcastNR := p_cellIDBroadcastNR + } // End of template mw_broadcastCompletedAreaList_cellIDBroadcastNR + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_tAIBroadcastNR( + template (present) TAIBroadcastNR p_tAIBroadcastNR + ) := { + tAIBroadcastNR := p_tAIBroadcastNR + } // End of template mw_broadcastCompletedAreaList_tAIBroadcastNR + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastNR( + template (present) EmergencyAreaIDBroadcastNR p_emergencyAreaIDBroadcastNR + ) := { + emergencyAreaIDBroadcastNR := p_emergencyAreaIDBroadcastNR + } // End of template mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastNR + + template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_ext( + template (present) BroadcastCompletedAreaList.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_broadcastCompletedAreaList_ext + + template (present) BroadcastPLMNItem mw_ie_broadcastPLMNItem( + template (present) PLMNIdentity p_plmnId := ?, + template (present) SliceSupportList p_ssl := ?, + template BroadcastPLMNItem.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_plmnId, + tAISliceSupportList := p_ssl, + iE_Extensions := p_iE_Extensions + } // End of template mw_ie_broadcastPLMNItem + + template (present) BluetoothMeasurementConfiguration mw_bluetoothMeasurementConfiguration( + template (present) BluetoothMeasConfig p_bluetoothMeasConfig := ?, + template BluetoothMeasConfigNameList p_bluetoothMeasConfigNameList := *, + template BluetoothMeasurementConfiguration.bt_rssi p_bt_rssi := *, + template BluetoothMeasurementConfiguration.iE_Extensions p_iE_Extensions := * + ) := { + bluetoothMeasConfig := p_bluetoothMeasConfig, + bluetoothMeasConfigNameList := p_bluetoothMeasConfigNameList, + bt_rssi := p_bt_rssi, + iE_Extensions := p_iE_Extensions + } // End of template mw_bluetoothMeasurementConfiguration + + template (present) BluetoothMeasConfigNameItem mw_bluetoothMeasConfigNameItem( + template (present) BluetoothName p_bluetoothName := ?, + template BluetoothMeasConfigNameItem.iE_Extensions p_iE_Extensions := * + ) := { + bluetoothName := p_bluetoothName, + iE_Extensions := p_iE_Extensions + } // End of template mw_bluetoothMeasConfigNameItem + + template (present) BluetoothMeasConfig mw_bluetoothMeasConfig(template (present) BluetoothMeasConfig p_value := setup) := p_value; + + template (present) CancelAllWarningMessages mw_cancelAllWarningMessages(template (present) CancelAllWarningMessages p_value := true_) := p_value; + + template (present) CancelledCellsInEAI_EUTRA_Item mw_cancelledCellsInEAI_EUTRA_Item( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?, + template CancelledCellsInEAI_EUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template mw_cancelledCellsInEAI_EUTRA_Item + + template (present) CancelledCellsInEAI_NR_Item mw_cancelledCellsInEAI_NR_Item( + template (present) NR_CGI p_nR_CGI := ?, + template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?, + template CancelledCellsInEAI_NR_Item.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template mw_cancelledCellsInEAI_NR_Item + + template (present) CancelledCellsInTAI_EUTRA_Item mw_cancelledCellsInTAI_EUTRA_Item( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?, + template CancelledCellsInTAI_EUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template mw_cancelledCellsInTAI_EUTRA_Item + + template (present) CancelledCellsInTAI_NR_Item mw_CancelledCellsInTAI_NR_Item( + template (present) NR_CGI p_nR_CGI := ?, + template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?, + template CancelledCellsInTAI_NR_Item.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template mw_CancelledCellsInTAI_NR_Item + + template (present) CandidateCellItem mw_candidateCellItem( + template (present) CandidateCell p_candidateCell := ?, + template CandidateCellItem.iE_Extensions p_iE_Extensions := * + ) := { + candidateCell := p_candidateCell, + iE_Extensions := p_iE_Extensions + } // End of template mw_candidateCellItem + + template (present) CandidateCell mw_candidateCell_candidateCGI( + template (present) CandidateCellID p_candidateCGI := ? + ) := { + candidateCGI := p_candidateCGI + } // End of template mw_candidateCell_candidateCGI + + template (present) CandidateCell mw_candidateCell_candidatePCI( + template (present) CandidatePCI p_candidatePCI := ? + ) := { + candidatePCI := p_candidatePCI + } // End of template mw_candidateCell_candidatePCI + + template (present) CandidateCell mw_candidateCell_ext( + template (present) CandidateCell.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_candidateCell_ext + + template (present) CandidatePCI mw_candidatePCI( + template (present) CandidatePCI.candidatePCI p_candidatePCI := ?, + template (present) CandidatePCI.candidateNRARFCN p_candidateNRARFCN := ?, + template CandidatePCI.iE_Extensions p_iE_Extensions := * + ) := { + candidatePCI := p_candidatePCI, + candidateNRARFCN := p_candidateNRARFCN, + iE_Extensions := p_iE_Extensions + } // End of template mw_candidatePCI + + template (present) Cause mw_cause_radioNetwork( + template (present) CauseRadioNetwork p_radioNetwork + ) := { + radioNetwork := p_radioNetwork + } // End of template mw_cause_radioNetwork + + template (present) Cause mw_cause_transport( + template (present) CauseTransport p_transport + ) := { + transport := p_transport + } // End of template mw_cause_transport + + template (present) Cause mw_cause_nas( + template (present) CauseNas p_nas + ) := { + nas := p_nas + } // End of template mw_cause_nas + + template (present) Cause mw_cause_protocol( + template (present) CauseProtocol p_protocol + ) := { + protocol := p_protocol + } // End of template mw_cause_protocol + + template (present) Cause mw_cause_misc( + template (present) CauseMisc p_misc + ) := { + misc := p_misc + } // End of template mw_cause_misc + + template (present) Cause mw_cause_ext( + template (present) Cause.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_cause_ext + + template (present) CauseMisc mw_causeMisc(template (present) CauseMisc p_value := ?) := p_value; + + template (present) CauseNas mw_causeNas(template (present) CauseNas p_value := ?) := p_value; + + template (present) CauseProtocol mw_causeProtocol(template (present) CauseProtocol p_value := ?) := p_value; + + template (present) CauseRadioNetwork mww_causeRadioNetwork(template (present) CauseRadioNetwork p_value := ?) := p_value; + + template (present) CauseTransport mw_causeTransport(template (present) CauseTransport p_value := ?) := p_value; + + template (present) Cell_CAGInformation mw_cell_CAGInformation( + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template (present) CellCAGList p_cellCAGList := ?, + template Cell_CAGInformation.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CGI := p_nGRAN_CGI, + cellCAGList := p_cellCAGList, + iE_Extensions := p_iE_Extensions + } // End of template mw_cell_CAGInformation + + template (present) CellIDBroadcastEUTRA_Item mw_cellIDBroadcastEUTRA_Item( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template CellIDBroadcastEUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellIDBroadcastEUTRA_Item + + template (present) CellIDBroadcastNR_Item mw_cellIDBroadcastNR_Item( + template (present) NR_CGI p_nR_CGI := ?, + template CellIDBroadcastNR_Item.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellIDBroadcastNR_Item + + template (present) CellIDCancelledEUTRA_Item mw_cellIDCancelledEUTRA_Item( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?, + template CellIDCancelledEUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellIDCancelledEUTRA_Item + + template (present) CellIDCancelledNR_Item mw_cellIDCancelledNR_Item( + template (present) NR_CGI p_nR_CGI := ?, + template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?, + template CellIDCancelledNR_Item.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + numberOfBroadcasts := p_numberOfBroadcasts, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellIDCancelledNR_Item + + template (present) CellIDListForRestart mw_cellIDListForRestart_eUTRA_CGIListforRestart( + template (present) EUTRA_CGIList p_eUTRA_CGIListforRestart := ? + ) := { + eUTRA_CGIListforRestart := p_eUTRA_CGIListforRestart + } // End of template mw_cellIDListForRestart_misc + + template (present) CellIDListForRestart mw_cellIDListForRestart_nR_CGIListforRestart( + template (present) NR_CGIList p_nR_CGIListforRestart := ? + ) := { + nR_CGIListforRestart := p_nR_CGIListforRestart + } // End of template mw_cellIDListForRestart_nR_CGIListforRestart + + template (present) CellIDListForRestart mw_cellIDListForRestart_ext( + template (present) CellIDListForRestart.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_cellIDListForRestart_ext + + template (present) CellSize mw_cellSize(template (present) CellSize p_value := ?) := p_value; + + template (present) CellType mw_cellType( + template (present) CellSize p_cellSize:= ?, + template CellType.iE_Extensions p_iE_Extensions := * + ) := { + cellSize := p_cellSize, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellType + + template (present) CEmodeBSupport_Indicator mw_cEmodeBSupport_Indicator(template (present) CEmodeBSupport_Indicator p_value := ?) := p_value; + + template (present) CEmodeBrestricted mw_cEmodeBrestricted(template (present) CEmodeBrestricted p_value := ?) := p_value; + + template CNAssistedRANTuning mw_cNAssistedRANTuning( + template ExpectedUEBehaviour p_expectedUEBehaviour := *, + template CNAssistedRANTuning.iE_Extensions p_iE_Extensions := * + ) := { + expectedUEBehaviour := p_expectedUEBehaviour, + iE_Extensions := p_iE_Extensions + } // End of template mw_cNAssistedRANTuning + + template (present) CNTypeRestrictionsForEquivalentItem mw_cNTypeRestrictionsForEquivalentItem( + template (present) PLMNIdentity p_plmnIdentity := ?, + template (present) CNTypeRestrictionsForEquivalentItem.cn_Type p_cn_Type := ?, + template CNTypeRestrictionsForEquivalentItem.iE_Extensions p_iE_Extensions := * + ) := { + plmnIdentity := p_plmnIdentity, + cn_Type := p_cn_Type, + iE_Extensions := p_iE_Extensions + } // End of template mw_cNTypeRestrictionsForEquivalentItem + + template (present) CNTypeRestrictionsForServing mw_cNTypeRestrictionsForServing(template (present) CNTypeRestrictionsForServing p_value := ?) := p_value; + + template (present) CompletedCellsInEAI_EUTRA_Item mw_completedCellsInEAI_EUTRA_Item( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template CompletedCellsInEAI_EUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_completedCellsInEAI_EUTRA_Item + + template (present) CompletedCellsInEAI_NR_Item mw_completedCellsInEAI_NR_Item( + template (present) NR_CGI p_nR_CGI := ?, + template CompletedCellsInEAI_NR_Item.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_completedCellsInEAI_NR_Item + + template (present) CompletedCellsInTAI_EUTRA_Item mw_completedCellsInTAI_EUTRA_Item( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template CompletedCellsInTAI_EUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_completedCellsInTAI_EUTRA_Item + + template (present) CompletedCellsInTAI_NR_Item mw_completedCellsInTAI_NR_Item( + template (present) NR_CGI p_nR_CGI := ?, + template CompletedCellsInTAI_NR_Item.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_completedCellsInTAI_NR_Item + + template (present) ConcurrentWarningMessageInd mw_concurrentWarningMessageInd(template (present) ConcurrentWarningMessageInd p_value := true_) := p_value; + + template (present) ConfidentialityProtectionIndication mw_confidentialityProtectionIndication(template (present) ConfidentialityProtectionIndication p_value := ?) := p_value; + + template (present) ConfidentialityProtectionResult mw_confidentialityProtectionResult(template (present) ConfidentialityProtectionResult p_value := ?) := p_value; + + template (present) ConfiguredTACIndication mw_configuredTACIndication(template (present) ConfiguredTACIndication p_value := true_) := p_value; + + template (present) CoreNetworkAssistanceInformationForInactive mw_coreNetworkAssistanceInformationForInactive( + template (present) UEIdentityIndexValue p_uEIdentityIndexValue := ?, + template (present) PeriodicRegistrationUpdateTimer p_periodicRegistrationUpdateTimer := ?, + template (present) TAIListForInactive p_tAIListForInactive := ?, + template PagingDRX p_uESpecificDRX := *, + template MICOModeIndication p_mICOModeIndication := *, + template ExpectedUEBehaviour p_expectedUEBehaviour := *, + template CoreNetworkAssistanceInformationForInactive.iE_Extensions p_iE_Extensions := * + ) := { + uEIdentityIndexValue := p_uEIdentityIndexValue, + uESpecificDRX := p_uESpecificDRX, + periodicRegistrationUpdateTimer := p_periodicRegistrationUpdateTimer, + mICOModeIndication := p_mICOModeIndication, + tAIListForInactive := p_tAIListForInactive, + expectedUEBehaviour := p_expectedUEBehaviour, + iE_Extensions := p_iE_Extensions + } // End of template mw_coreNetworkAssistanceInformationForInactive + + template (present) CoreNetworkAssistanceInformationForInactive.iE_Extensions mw_coreNetworkAssistanceInformationForInactive_paging( + template (present) EUTRA_PagingeDRXInformation p_eUTRA_PagingeDRXInformation := ?, + template (present) ExtendedUEIdentityIndexValue p_extendedUEIdentityIndexValue := ?, + template (present) UERadioCapabilityForPaging p_uERadioCapabilityForPaging := ?, + template (present) MicoAllPLMN p_micoAllPLMN := ? + ) := { + { + id := id_EUTRA_PagingeDRXInformation, + criticality := ignore, + extensionValue := { EUTRA_PagingeDRXInformation := p_eUTRA_PagingeDRXInformation } + }, + { + id := id_ExtendedUEIdentityIndexValue, + criticality := ignore, + extensionValue := { ExtendedUEIdentityIndexValue := p_extendedUEIdentityIndexValue } + }, + { + id := id_UERadioCapabilityForPaging, + criticality := ignore, + extensionValue := { UERadioCapabilityForPaging := p_uERadioCapabilityForPaging } + }, + { + id := id_MicoAllPLMN, + criticality := ignore, + extensionValue := { MicoAllPLMN := p_micoAllPLMN } + } + // TODO To be enhanced + } // End of template mw_coreNetworkAssistanceInformationForInactive_paging + + template (present) COUNTValueForPDCP_SN12 mw_cOUNTValueForPDCP_SN12( + template (present) COUNTValueForPDCP_SN12.pDCP_SN12 p_pDCP_SN12 := ?, + template (present) COUNTValueForPDCP_SN12.hFN_PDCP_SN12 p_hFN_PDCP_SN12 := ?, + template COUNTValueForPDCP_SN12.iE_Extensions p_iE_Extensions := * + ) := { + pDCP_SN12 := p_pDCP_SN12, + hFN_PDCP_SN12 := p_hFN_PDCP_SN12, + iE_Extensions := p_iE_Extensions + } // End of template mw_cOUNTValueForPDCP_SN12 + + template (present) COUNTValueForPDCP_SN18 mw_cOUNTValueForPDCP_SN18( + template (present) COUNTValueForPDCP_SN18.pDCP_SN18 p_pDCP_SN18 := ?, + template (present) COUNTValueForPDCP_SN18.hFN_PDCP_SN18 p_hFN_PDCP_SN18 := ?, + template COUNTValueForPDCP_SN18.iE_Extensions p_iE_Extensions := * + ) := { + pDCP_SN18 := p_pDCP_SN18, + hFN_PDCP_SN18 := p_hFN_PDCP_SN18, + iE_Extensions := p_iE_Extensions + } // End of template mw_cOUNTValueForPDCP_SN18 + + template (present) CPTransportLayerInformation mw_cPTransportLayerInformation_endpointIPAddress( + template (present) TransportLayerAddress p_endpointIPAddress := ? + ) := { + endpointIPAddress := p_endpointIPAddress + } // End of template mw_cPTransportLayerInformation_endpointIPAddress + + template (present) CPTransportLayerInformation mw_cPTransportLayerInformation_choice_Extensions( + template (present) CPTransportLayerInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_cPTransportLayerInformation_choice_Extensions + + template (present) CPTransportLayerInformation.choice_Extensions mw_cPTransportLayerInformation_ext( + template (present) EndpointIPAddressAndPort p_EndpointIPAddressAndPort := ? + ) := { + id := id_EndpointIPAddressAndPort, + criticality := reject, + value_ := { EndpointIPAddressAndPort := p_EndpointIPAddressAndPort } + } // End of template mw_cPTransportLayerInformation_ext + + template CriticalityDiagnostics mw_criticalityDiagnostics( + template ProcedureCode p_procedureCode := *, + template TriggeringMessage p_triggeringMessage := *, + template Criticality p_procedureCriticality := *, + template CriticalityDiagnostics_IE_List p_criticalityDiagnostics_IE_List := *, + template CriticalityDiagnostics.iE_Extensions p_iE_Extensions := * + ) := { + procedureCode := p_procedureCode, + triggeringMessage := p_triggeringMessage, + procedureCriticality := p_procedureCriticality, + iEsCriticalityDiagnostics := p_criticalityDiagnostics_IE_List, + iE_Extensions := p_iE_Extensions + } // End of template mw_criticalityDiagnostics + + template (present) CriticalityDiagnostics_IE_Item mw_criticalityDiagnostics_IE_Item( + template (present) Criticality p_iECriticality := ?, + template (present) ProtocolIE_ID p_iE_ID := ?, + template (present) TypeOfError p_typeOfError := ?, + template CriticalityDiagnostics_IE_Item.iE_Extensions p_iE_Extensions := * + ) := { + iECriticality := p_iECriticality, + iE_ID := p_iE_ID, + typeOfError := p_typeOfError, + iE_Extensions := p_iE_Extensions + } // End of template mw_criticalityDiagnostics_IE_Item + + template (present) CellBasedMDT_NR mw_cellBasedMDT_NR( + in template (present) CellIdListforMDT_NR p_cellIdListforMDT := ?, + in template CellBasedMDT_NR.iE_Extensions p_iE_Extensions := * + ) := { + cellIdListforMDT := p_cellIdListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellBasedMDT_NR + + template (present) CellBasedMDT_EUTRA mw_cellBasedMDT_EUTRA( + template (present) CellIdListforMDT_EUTRA p_cellIdListforMDT := ?, + template CellBasedMDT_EUTRA.iE_Extensions p_iE_Extensions := * + ) := { + cellIdListforMDT := p_cellIdListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellBasedMDT_EUTRA + + template (present) CellBasedQMC mw_cellBasedQMC( + template (present) CellIdListforQMC p_cellIdListforQMC := ?, + template CellBasedQMC.iE_Extensions p_iE_Extensions := * + ) := { + cellIdListforQMC := p_cellIdListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template mw_cellBasedQMC + + template (present) DataForwardingNotPossible mw_DataForwardingNotPossible(template (present) DataForwardingNotPossible p_value := data_forwarding_not_possible) := p_value; + + template (present) DataForwardingAccepted mw_dataForwardingAccepted(template (present) DataForwardingAccepted p_value := ?) := p_value; + + template (present) DataForwardingResponseDRBItem mw_dataForwardingResponseDRBItem( + template (present) DRB_ID p_dRB_ID := ?, + template UPTransportLayerInformation p_dLForwardingUP_TNLInformation := *, + template UPTransportLayerInformation p_uLForwardingUP_TNLInformation := *, + template DataForwardingResponseDRBItem.iE_Extensions p_iE_Extensions := * + ) := { + dRB_ID := p_dRB_ID, + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + uLForwardingUP_TNLInformation := p_uLForwardingUP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_dataForwardingResponseDRBItem + + template (present) DAPSRequestInfo mw_dAPSRequestInfo( + template (present) DAPSRequestInfo.dAPSIndicator p_dAPSIndicator := daps_ho_required, + template DAPSRequestInfo.iE_Extensions p_iE_Extensions := * + ) := { + dAPSIndicator := p_dAPSIndicator, + iE_Extensions := p_iE_Extensions + } // End of template mw_dAPSRequestInfo + + template (present) DAPSResponseInfoItem mw_dAPSResponseInfoItem( + template (present) DRB_ID p_dRB_ID := ?, + template (present) DAPSResponseInfo p_dAPSResponseInfo := ?, + template DAPSResponseInfoItem.iE_Extension p_iE_Extension := * + ) := { + dRB_ID := p_dRB_ID, + dAPSResponseInfo := p_dAPSResponseInfo, + iE_Extension := p_iE_Extension + } // End of template mw_dAPSResponseInfoItem + + template (present) DAPSResponseInfo mw_dAPSResponseInfo( + template (present) DAPSResponseInfo.dapsresponseindicator p_dapsresponseindicator := ?, + template DAPSResponseInfo.iE_Extensions p_iE_Extensions := * + ) := { + dapsresponseindicator := p_dapsresponseindicator, + iE_Extensions := p_iE_Extensions + } // End of template mw_dAPSResponseInfo + + template (present) DataForwardingResponseERABListItem mw_DataForwardingResponseERABListItem( + template (present) E_RAB_ID p_e_RAB_ID := ?, + template (present) UPTransportLayerInformation p_dLForwardingUP_TNLInformation := ?, + template DataForwardingResponseERABListItem.iE_Extensions p_iE_Extensions := * + ) := { + e_RAB_ID := p_e_RAB_ID, + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_DataForwardingResponseERABListItem + + template (present) DelayCritical mw_delayCritical(template (present) DelayCritical p_value := ?) := p_value; + + template (present) DL_CP_SecurityInformation mw_dL_CP_SecurityInformation( + template (present) DL_NAS_MAC p_dl_NAS_MAC := ?, + template DL_CP_SecurityInformation.iE_Extensions p_iE_Extensions := * + ) := { + dl_NAS_MAC := p_dl_NAS_MAC, + iE_Extensions := p_iE_Extensions + } // End of template mw_dL_CP_SecurityInformation + + template (present) DLForwarding mw_dLForwarding(template (present) DLForwarding p_value := dl_forwarding_proposed) := p_value; + + template (present) DL_NGU_TNLInformationReused mw_dL_NGU_TNLInformationReused(template (present) DL_NGU_TNLInformationReused p_value := true_) := p_value; + + template (present) DirectForwardingPathAvailability mw_directForwardingPathAvailability(template (present) DirectForwardingPathAvailability p_value := direct_path_available) := p_value; + + template (present) DRBsSubjectToStatusTransferItem mw_dRBsSubjectToStatusTransferItem( + in template (present) DRB_ID p_dRB_ID := ?, + in template (present) DRBStatusUL p_dRBStatusUL := ?, + in template (present) DRBStatusDL p_dRBStatusDL := ?, + in template DRBsSubjectToStatusTransferItem.iE_Extension p_iE_Extension := * + ) := { + dRB_ID := p_dRB_ID, + dRBStatusUL := p_dRBStatusUL, + dRBStatusDL := p_dRBStatusDL, + iE_Extension := p_iE_Extension + } // End of template mw_dRBsSubjectToStatusTransferItem + + template (present) DRBsSubjectToStatusTransferItem.iE_Extension mw_dRBsSubjectToStatusTransferItem_associatedQosFlowList( + template (present) AssociatedQosFlowList p_AssociatedQosFlowList := ? + ) := { + { + id := id_OldAssociatedQosFlowList_ULendmarkerexpected, + criticality := ignore, + extensionValue := { AssociatedQosFlowList := p_AssociatedQosFlowList } + } + } // End of template mw_dRBsSubjectToStatusTransferItem_associatedQosFlowList + + template (present) DRBStatusDL mw_dRBStatusDL_dRBStatusDL12( + template (present) DRBStatusDL12 p_dRBStatusDL12 := ? + ) := { + dRBStatusDL12 := p_dRBStatusDL12 + } // End of template mw_dRBStatusDL_dRBStatusDL12 + + template (present) DRBStatusDL mw_dRBStatusDL_dRBStatusDL18( + template (present) DRBStatusDL18 p_dRBStatusDL18 := ? + ) := { + dRBStatusDL18 := p_dRBStatusDL18 + } // End of template mw_dRBStatusDL_dRBStatusDL18 + + template (present) DRBStatusDL mw_dRBStatusDL_choice_Extensions( + template (present) DRBStatusDL.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_dRBStatusDL_choice_Extensions + + template (present) DRBStatusDL12 mw_dRBStatusDL12( + template (present) COUNTValueForPDCP_SN12 p_dL_COUNTValue := ?, + template DRBStatusDL12.iE_Extension p_iE_Extension := * + ) := { + dL_COUNTValue := p_dL_COUNTValue, + iE_Extension := p_iE_Extension + } // End of template mw_dRBStatusDL12 + + template (present) DRBStatusDL18 mw_dRBStatusDL18( + template (present) COUNTValueForPDCP_SN18 p_dL_COUNTValue := ?, + template DRBStatusDL18.iE_Extension p_iE_Extension := * + ) := { + dL_COUNTValue := p_dL_COUNTValue, + iE_Extension := p_iE_Extension + } // End of template mw_dRBStatusDL18 + + template (present) DRBStatusUL mw_dRBStatusUL_dRBStatusUL12( + template (present) DRBStatusUL12 p_dRBStatusUL12 := ? + ) := { + dRBStatusUL12 := p_dRBStatusUL12 + } // End of template mw_dRBStatusUL_dRBStatusUL12 + + template (present) DRBStatusUL mw_dRBStatusUL_dRBStatusUL18( + template (present) DRBStatusUL18 p_dRBStatusUL18 := ? + ) := { + dRBStatusUL18 := p_dRBStatusUL18 + } // End of template mw_dRBStatusUL_dRBStatusUL18 + + template (present) DRBStatusUL mw_dRBStatusUL_choice_Extensions( + template (present) DRBStatusUL.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_dRBStatusUL_choice_Extensions + + template (present) DRBStatusUL12 mw_dRBStatusUL12( + template (present) COUNTValueForPDCP_SN12 p_uL_COUNTValue := ?, + template DRBStatusUL12.receiveStatusOfUL_PDCP_SDUs p_receiveStatusOfUL_PDCP_SDUs := *, + template DRBStatusUL12.iE_Extension p_iE_Extension := * + ) := { + uL_COUNTValue := p_uL_COUNTValue, + receiveStatusOfUL_PDCP_SDUs := p_receiveStatusOfUL_PDCP_SDUs, + iE_Extension := p_iE_Extension + } // End of template mw_dRBStatusUL12 + + template (present) DRBStatusUL18 mw_dRBStatusUL18( + template (present) COUNTValueForPDCP_SN18 p_uL_COUNTValue := ?, + template DRBStatusUL18.receiveStatusOfUL_PDCP_SDUs p_receiveStatusOfUL_PDCP_SDUs := *, + template DRBStatusUL18.iE_Extension p_iE_Extension := * + ) := { + uL_COUNTValue := p_uL_COUNTValue, + receiveStatusOfUL_PDCP_SDUs := p_receiveStatusOfUL_PDCP_SDUs, + iE_Extension := p_iE_Extension + } // End of template mw_dRBStatusUL18 + + template (present) DRBsToQosFlowsMappingItem mw_dRBsToQosFlowsMappingItem( + template (present) DRB_ID p_dRB_ID := ?, + template (present) AssociatedQosFlowList p_associatedQosFlowList := ?, + template DRBsToQosFlowsMappingItem.iE_Extensions p_iE_Extensions := * + ) := { + dRB_ID := p_dRB_ID, + associatedQosFlowList := p_associatedQosFlowList, + iE_Extensions := p_iE_Extensions + } // End of template mw_dRBsToQosFlowsMappingItem + + template (present) DRBsToQosFlowsMappingItem.iE_Extensions mw_dRBsToQosFlowsMappingItem_dAPSRequestInfo( + template (present) DAPSRequestInfo p_dAPSRequestInfo := ? + ) := { + { + id := id_DAPSRequestInfo, + criticality := ignore, + extensionValue := { DAPSRequestInfo := p_dAPSRequestInfo } + } + } // End of template mw_dRBsToQosFlowsMappingItem_dAPSRequestInfo + + template (present) Dynamic5QIDescriptor mw_dynamic5QIDescriptor( + template (present) PriorityLevelQos p_priorityLevelQos := ?, + template (present) PacketDelayBudget p_packetDelayBudget := ?, + template (present) PacketErrorRate p_packetErrorRate := ?, + template FiveQI p_fiveQI := *, + template DelayCritical p_delayCritical := *, + template AveragingWindow p_averagingWindow := *, + template MaximumDataBurstVolume p_maximumDataBurstVolume := *, + template Dynamic5QIDescriptor.iE_Extensions p_iE_Extensions := * + ) := { + priorityLevelQos := p_priorityLevelQos, + packetDelayBudget := p_packetDelayBudget, + packetErrorRate := p_packetErrorRate, + fiveQI := p_fiveQI, + delayCritical := p_delayCritical, + // The above IE shall be present in case of GBR QoS flow + averagingWindow := p_averagingWindow, + // The above IE shall be present in case of GBR QoS flow + maximumDataBurstVolume := p_maximumDataBurstVolume, + iE_Extensions := p_iE_Extensions + } // End of template mw_dynamic5QIDescriptor + + template (present) Dynamic5QIDescriptor.iE_Extensions mw_dynamic5QIDescriptor_extendedPacketDelayBudget( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_ExtendedPacketDelayBudget, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_dynamic5QIDescriptor_extendedPacketDelayBudget + + template (present) Dynamic5QIDescriptor.iE_Extensions mw_dynamic5QIDescriptor_cNPacketDelayBudgetDL( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_CNPacketDelayBudgetDL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_dynamic5QIDescriptor_cNPacketDelayBudgetDL + + template (present) Dynamic5QIDescriptor.iE_Extensions mw_dynamic5QIDescriptor_cNPacketDelayBudgetUL( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_CNPacketDelayBudgetUL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_dynamic5QIDescriptor_cNPacketDelayBudgetUL + + template (present) EarlyMeasurement mw_earlyMeasurement(template (present) EarlyMeasurement p_value := true_) := p_value; + + template (present) EarlyStatusTransfer_TransparentContainer mw_earlyStatusTransfer_TransparentContainer( + template (present) ProcedureStageChoice p_procedureStage := ?, + template EarlyStatusTransfer_TransparentContainer.iE_Extensions p_iE_Extensions := * + ) := { + procedureStage := p_procedureStage, + iE_Extensions := p_iE_Extensions + } // End of template mw_earlyStatusTransfer_TransparentContainer + + template (present) ProcedureStageChoice mw_procedureStageChoice_firstDLCount( + template (present) FirstDLCount p_firstDLCount := ? + ) := { + first_dl_count := p_firstDLCount + } // End of template mw_procedureStageChoice_firstDLCount + + template (present) ProcedureStageChoice mw_procedureStageChoice_choice_Extensions( + template (present) ProcedureStageChoice.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_procedureStageChoice_choice_Extensions + + template (present) FirstDLCount mw_firstDLCount( + template (present) DRBsSubjectToEarlyStatusTransfer_List p_dRBsSubjectToEarlyStatusTransfer := ?, + template FirstDLCount.iE_Extension p_iE_Extension := * + ) := { + dRBsSubjectToEarlyStatusTransfer := p_dRBsSubjectToEarlyStatusTransfer, + iE_Extension := p_iE_Extension + } // End of template mw_firstDLCount + + template (present) DRBsSubjectToEarlyStatusTransfer_Item mw_dRBsSubjectToEarlyStatusTransfer_Item( + template (present) DRB_ID p_dRB_ID := ?, + template (present) DRBStatusDL p_firstDLCOUNT := ?, + template DRBsSubjectToEarlyStatusTransfer_Item.iE_Extension p_iE_Extension := * + ) := { + dRB_ID := p_dRB_ID, + firstDLCOUNT := p_firstDLCOUNT, + iE_Extension := p_iE_Extension + } // End of template mw_dRBsSubjectToEarlyStatusTransfer_Item + + template (present) EDT_Session mw_eDT_Session(template (present) EDT_Session p_value := true_) := p_value; + + template (present) EmergencyAreaIDBroadcastEUTRA_Item mw_emergencyAreaIDBroadcastEUTRA_Item( + template (present) EmergencyAreaID p_emergencyAreaID := ?, + template (present) CompletedCellsInEAI_EUTRA p_completedCellsInEAI_EUTRA := ?, + template EmergencyAreaIDBroadcastEUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + emergencyAreaID := p_emergencyAreaID, + completedCellsInEAI_EUTRA := p_completedCellsInEAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template mw_emergencyAreaIDBroadcastEUTRA_Item + + template (present) EmergencyAreaIDBroadcastNR_Item mw_emergencyAreaIDBroadcastNR_Item( + template (present) EmergencyAreaID p_emergencyAreaID := ?, + template (present) CompletedCellsInEAI_NR p_completedCellsInEAI_NR := ?, + template EmergencyAreaIDBroadcastNR_Item.iE_Extensions p_iE_Extensions := * + ) := { + emergencyAreaID := p_emergencyAreaID, + completedCellsInEAI_NR := p_completedCellsInEAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template mw_emergencyAreaIDBroadcastNR_Item + + template (present) EmergencyAreaIDCancelledEUTRA_Item mw_emergencyAreaIDCancelledEUTRA_Item( + template (present) EmergencyAreaID p_emergencyAreaID := ?, + template (present) CancelledCellsInEAI_EUTRA p_cancelledCellsInEAI_EUTRA := ?, + template EmergencyAreaIDCancelledEUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + emergencyAreaID := p_emergencyAreaID, + cancelledCellsInEAI_EUTRA := p_cancelledCellsInEAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template mw_emergencyAreaIDCancelledEUTRA_Item + + template (present) EmergencyAreaIDCancelledNR_Item mw_emergencyAreaIDCancelledNR_Item( + template (present) EmergencyAreaID p_emergencyAreaID := ?, + template (present) CancelledCellsInEAI_NR p_cancelledCellsInEAI_NR := ?, + template EmergencyAreaIDCancelledNR_Item.iE_Extensions p_iE_Extensions := * + ) := { + emergencyAreaID := p_emergencyAreaID, + cancelledCellsInEAI_NR := p_cancelledCellsInEAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template mw_emergencyAreaIDCancelledNR_Item + + template (present) EmergencyFallbackIndicator mw_emergencyFallbackIndicator( + template (present) EmergencyFallbackRequestIndicator p_emergencyFallbackRequestIndicator := ?, + template EmergencyServiceTargetCN p_emergencyServiceTargetCN := *, + template EmergencyFallbackIndicator.iE_Extensions p_iE_Extensions := * + ) := { + emergencyFallbackRequestIndicator := p_emergencyFallbackRequestIndicator, + emergencyServiceTargetCN := p_emergencyServiceTargetCN, + iE_Extensions := p_iE_Extensions + } // End of template mw_emergencyFallbackIndicator + + template (present) EmergencyFallbackRequestIndicator mw_emergencyFallbackRequestIndicator(template (present) EmergencyFallbackRequestIndicator p_value := emergency_fallback_requested) := p_value; + + template (present) EmergencyServiceTargetCN mw_emergencyServiceTargetCN(template (present) EmergencyServiceTargetCN p_value := ?) := p_value; + + template (present) ENB_ID mw_eNB_ID_macroENB_ID( + template (present) Bit20 p_macroENB_ID := ? + ) := { + macroENB_ID := p_macroENB_ID + } // End of template mw_eNB_ID_macroENB_ID + + template (present) ENB_ID mw_eNB_ID_homeENB_ID( + template (present) Bit28 p_homeENB_ID := ? + ) := { + homeENB_ID := p_homeENB_ID + } // End of template mw_eNB_ID_homeENB_ID + + template (present) ENB_ID mw_eNB_ID_short_macroENB_ID( + template (present) Bit18 p_short_macroENB_ID := ? + ) := { + short_macroENB_ID := p_short_macroENB_ID + } // End of template mw_eNB_ID_short_macroENB_ID + + template (present) ENB_ID mw_eNB_ID_long_macroENB_ID( + template (present) Bit21 p_long_macroENB_ID := ? + ) := { + long_macroENB_ID := p_long_macroENB_ID + } // End of template mw_eNB_ID_long_macroENB_ID + + template (present) ENB_ID mw_eNB_ID_choice_Extensions( + template (present) ENB_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_eNB_ID_choice_Extensions + + template (present) Enhanced_CoverageRestriction mw_enhanced_CoverageRestriction(template (present) Enhanced_CoverageRestriction p_value := restricted) := p_value; + + template (present) EndpointIPAddressAndPort mw_endpointIPAddressAndPort( + template (present) TransportLayerAddress p_endpointIPAddress := ?, + template (present) PortNumber p_portNumber := ?, + template EndpointIPAddressAndPort.iE_Extensions p_iE_Extensions := * + ) := { + endpointIPAddress := p_endpointIPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template mw_endpointIPAddressAndPort + + template (present) EndIndication mw_endIndication(template (present) EndIndication p_value := ?) := p_value; + + template (present) EPS_TAI mw_ePS_TAI( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) EPS_TAC p_ePS_TAC := ?, + template EPS_TAI.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + ePS_TAC := p_ePS_TAC, + iE_Extensions := p_iE_Extensions + } // End of template mw_ePS_TAI + + template (present) E_RABInformationItem mw_e_RABInformationItem( + template (present) E_RAB_ID p_e_RAB_ID := ?, + template (present) DLForwarding p_dLForwarding := ?, + template E_RABInformationItem.iE_Extensions p_iE_Extensions := * + ) := { + e_RAB_ID := p_e_RAB_ID, + dLForwarding := p_dLForwarding, + iE_Extensions := p_iE_Extensions + } // End of template mw_e_RABInformationItem + + template (present) E_RABInformationItem.iE_Extensions mw_e_RABInformationItem_id_SourceTNLAddrInfo( + template (present) TransportLayerAddress p_transportLayerAddress := ? + ) := { + { + id := id_SourceTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template mw_e_RABInformationItem_id_SourceTNLAddrInfo + + template (present) E_RABInformationItem.iE_Extensions mw_e_RABInformationItem_id_SourceNodeTNLAddrInfo( + template (present) TransportLayerAddress p_transportLayerAddress := ? + ) := { + { + id := id_SourceNodeTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template mw_e_RABInformationItem_id_SourceNodeTNLAddrInfo + + template (present) E_RABInformationItem.iE_Extensions mw_e_RABInformationItem_full( + template (present) TransportLayerAddress p_transportLayerAddress_id_SourceTNLAddrInfo := ?, + template (present) TransportLayerAddress p_transportLayerAddress_id_SourceNodeTNLAddrInfo := ? + ) := { + { + id := id_SourceTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress_id_SourceTNLAddrInfo } + }, + { + id := id_SourceNodeTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress_id_SourceNodeTNLAddrInfo } + } + } // End of template mw_e_RABInformationItem_full + + template (present) EUTRA_CGI mw_uUTRA_CGI( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) EUTRACellIdentity p_eUTRACellIdentity := ?, + template EUTRA_CGI.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + eUTRACellIdentity := p_eUTRACellIdentity, + iE_Extensions := p_iE_Extensions + } // End of template mw_uUTRA_CGI + + template (present) EUTRA_PagingeDRXInformation mw_eUTRA_PagingeDRXInformation( + template (present) EUTRA_Paging_eDRX_Cycle p_eUTRA_paging_eDRX_Cycle := ?, + template EUTRA_Paging_Time_Window p_eUTRA_paging_Time_Window := *, + template EUTRA_PagingeDRXInformation.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_paging_eDRX_Cycle := p_eUTRA_paging_eDRX_Cycle, + eUTRA_paging_Time_Window := p_eUTRA_paging_Time_Window, + iE_Extensions := p_iE_Extensions + } // End of template mw_eUTRA_PagingeDRXInformation + + template (present) EUTRA_Paging_eDRX_Cycle mw_eUTRA_Paging_eDRX_Cycle(template (present) EUTRA_Paging_eDRX_Cycle p_value := ?) := p_value; + + template (present) EUTRA_Paging_Time_Window mw_eUTRA_Paging_Time_Window(template (present) EUTRA_Paging_Time_Window p_value := ?) := p_value; + + template (present) EventType mw_eventType(template (present) EventType p_value := ?) := p_value; + + template (present) ExcessPacketDelayThresholdItem mw_excessPacketDelayThresholdItem( + template (present) FiveQI p_fiveQi := ?, + template (present) ExcessPacketDelayThresholdValue p_excessPacketDelayThresholdValue := ?, + template ExcessPacketDelayThresholdItem.iE_Extensions p_iE_Extensions := * + ) := { + fiveQi := p_fiveQi, + excessPacketDelayThresholdValue := p_excessPacketDelayThresholdValue, + iE_Extensions := p_iE_Extensions + } // End of template mw_excessPacketDelayThresholdItem + + template (present) ExcessPacketDelayThresholdValue mw_excessPacketDelayThresholdValue(template (present) ExcessPacketDelayThresholdValue p_value := ?) := p_value; + + template (present) ExpectedHOInterval mw_expectedHOInterval(template (present) ExpectedHOInterval p_value := ?) := p_value; + + template ExpectedUEActivityBehaviour mw_expectedUEActivityBehaviour( + template ExpectedActivityPeriod p_expectedActivityPeriod := *, + template ExpectedIdlePeriod p_expectedIdlePeriod := *, + template SourceOfUEActivityBehaviourInformation p_sourceOfUEActivityBehaviourInformation := *, + template ExpectedUEActivityBehaviour.iE_Extensions p_iE_Extensions := * + ) := { + expectedActivityPeriod := p_expectedActivityPeriod, + expectedIdlePeriod := p_expectedIdlePeriod, + sourceOfUEActivityBehaviourInformation := p_sourceOfUEActivityBehaviourInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_expectedUEActivityBehaviour + + template ExpectedUEBehaviour mw_expectedUEBehaviour( + template ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := *, + template ExpectedHOInterval p_expectedHOInterval := *, + template ExpectedUEMobility p_expectedUEMobility := *, + template ExpectedUEMovingTrajectory p_expectedUEMovingTrajectory:= *, + template ExpectedUEBehaviour.iE_Extensions p_iE_Extensions := * + ) := { + expectedUEActivityBehaviour := p_expectedUEActivityBehaviour, + expectedHOInterval := p_expectedHOInterval, + expectedUEMobility := p_expectedUEMobility, + expectedUEMovingTrajectory := p_expectedUEMovingTrajectory, + iE_Extensions := p_iE_Extensions + } // End of template m_expectedUEBehaviour + + template (present) ExpectedUEMobility mw_expectedUEMobility(template (present) ExpectedUEMobility p_value := ?) := p_value; + + template (present) ExpectedUEMovingTrajectoryItem mw_expectedUEMovingTrajectoryItem( + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template ExpectedUEMovingTrajectoryItem.timeStayedInCell p_timeStayedInCell := *, + template ExpectedUEMovingTrajectoryItem.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CGI := p_nGRAN_CGI, + timeStayedInCell := p_timeStayedInCell, + iE_Extensions := p_iE_Extensions + } // End of template mw_expectedUEMovingTrajectoryItem + + template Extended_AMFName mw_extended_AMFName( + template AMFNameVisibleString p_aMFNameVisibleString := *, + template AMFNameUTF8String p_aMFNameUTF8String := *, + template Extended_AMFName.iE_Extensions p_iE_Extensions := * + ) := { + aMFNameVisibleString := p_aMFNameVisibleString, + aMFNameUTF8String := p_aMFNameUTF8String, + iE_Extensions := p_iE_Extensions + } // End of template mw_extended_AMFName + + template Extended_RANNodeName mw_extended_RANNodeName( + template RANNodeNameVisibleString p_rANNodeNameVisibleString := *, + template RANNodeNameUTF8String p_rANNodeNameUTF8String := *, + template Extended_RANNodeName.iE_Extensions p_iE_Extensions := * + ) := { + rANNodeNameVisibleString := p_rANNodeNameVisibleString, + rANNodeNameUTF8String := p_rANNodeNameUTF8String, + iE_Extensions := p_iE_Extensions + } // End of template mw_extended_RANNodeName + + template (present) ExtendedRATRestrictionInformation mw_extendedRATRestrictionInformation( + template (present) ExtendedRATRestrictionInformation.primaryRATRestriction p_primaryRATRestriction := ?, + template (present) ExtendedRATRestrictionInformation.secondaryRATRestriction p_secondaryRATRestriction := ?, + template ExtendedRATRestrictionInformation.iE_Extensions p_iE_Extensions := * + ) := { + primaryRATRestriction := p_primaryRATRestriction, + secondaryRATRestriction := p_secondaryRATRestriction, + iE_Extensions := p_iE_Extensions + } // End of template mw_extendedRATRestrictionInformation + + template (present) EventTrigger mw_eventTrigger_outOfCoverage( + template (present) EventTrigger.outOfCoverage p_outOfCoverage := true_ + ) := { + outOfCoverage := p_outOfCoverage + } // End of template mw_eventTrigger_outOfCoverage + + template (present) EventTrigger mw_eventTrigger_eventL1LoggedMDTConfig( + template (present) EventL1LoggedMDTConfig p_eventL1LoggedMDTConfig := ? + ) := { + eventL1LoggedMDTConfig := p_eventL1LoggedMDTConfig + } // End of template mw_eventTrigger_eventL1LoggedMDTConfig + + template (present) EventTrigger mw_eventTrigger_choice_Extensions( + template (present) EventTrigger.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_eventTrigger_choice_Extensions + + template (present) EventL1LoggedMDTConfig mw_eventL1LoggedMDTConfig( + template (present) MeasurementThresholdL1LoggedMDT p_l1Threshold := ?, + template (present) Hysteresis p_hysteresis := ?, + template (present) TimeToTrigger p_timeToTrigger := ?, + template EventL1LoggedMDTConfig.iE_Extensions p_iE_Extensions := * + ) := { + l1Threshold := p_l1Threshold, + hysteresis := p_hysteresis, + timeToTrigger := p_timeToTrigger, + iE_Extensions := p_iE_Extensions + } // End of template mw_eventL1LoggedMDTConfig + + template (present) MeasurementThresholdL1LoggedMDT mw_measurementThresholdL1LoggedMDT_threshold_RSRP( + template (present) Threshold_RSRP p_threshold_RSRP := ? + ) := { + threshold_RSRP := p_threshold_RSRP + } // End of template mw_measurementThresholdL1LoggedMDT_threshold_RSRP + + template (present) MeasurementThresholdL1LoggedMDT mw_measurementThresholdL1LoggedMDT_threshold_RSRQ( + template (present) Threshold_RSRQ p_threshold_RSRQ := ? + ) := { + threshold_RSRQ := p_threshold_RSRQ + } // End of template mw_measurementThresholdL1LoggedMDT_threshold_RSRQ + + template (present) MeasurementThresholdL1LoggedMDT mw_measurementThresholdL1LoggedMDT_choice_Extensions( + template (present) MeasurementThresholdL1LoggedMDT.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_measurementThresholdL1LoggedMDT_choice_Extensions + + template (present) FailureIndication mw_failureIndication( + template (present) UERLFReportContainer p_uERLFReportContainer := ?, + template FailureIndication.iE_Extensions p_iE_Extensions := * + ) := { + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template mw_failureIndication + + template FiveG_ProSeAuthorized mw_FiveG_ProSeAuthorized( + template FiveGProSeDirectDiscovery p_fiveGProSeDirectDiscovery := *, + template FiveGProSeDirectCommunication p_fiveGProSeDirectCommunication := *, + template FiveGProSeLayer2UEtoNetworkRelay p_fiveGProSeLayer2UEtoNetworkRelay := *, + template FiveGProSeLayer3UEtoNetworkRelay p_fiveGProSeLayer3UEtoNetworkRelay := *, + template FiveGProSeLayer2RemoteUE p_fiveGProSeLayer2RemoteUE := *, + template FiveG_ProSeAuthorized.iE_Extensions p_iE_Extensions := * + ) := { + fiveGProSeDirectDiscovery := p_fiveGProSeDirectDiscovery, + fiveGProSeDirectCommunication := p_fiveGProSeDirectCommunication, + fiveGProSeLayer2UEtoNetworkRelay := p_fiveGProSeLayer2UEtoNetworkRelay, + fiveGProSeLayer3UEtoNetworkRelay := p_fiveGProSeLayer3UEtoNetworkRelay, + fiveGProSeLayer2RemoteUE := p_fiveGProSeLayer2RemoteUE, + iE_Extensions := p_iE_Extensions + } // End of template mw_FiveG_ProSeAuthorized + + template (present) FiveGProSeDirectDiscovery mw_fiveGProSeDirectDiscovery(template (present) FiveGProSeDirectDiscovery p_value := ?) := p_value; + + template (present) FiveGProSeDirectCommunication mw_fiveGProSeDirectCommunication(template (present) FiveGProSeDirectCommunication p_value := ?) := p_value; + + template (present) FiveGProSeLayer2UEtoNetworkRelay mw_fiveGProSeLayer2UEtoNetworkRelay(template (present) FiveGProSeLayer2UEtoNetworkRelay p_value := ?) := p_value; + + template (present) FiveGProSeLayer3UEtoNetworkRelay mw_fiveGProSeLayer3UEtoNetworkRelay(template (present) FiveGProSeLayer3UEtoNetworkRelay p_value := ?) := p_value; + + template (present) FiveGProSeLayer2RemoteUE mw_fiveGProSeLayer2RemoteUE(template (present) FiveGProSeLayer2RemoteUE p_value := ?) := p_value; + + template (present) FiveG_ProSePC5QoSParameters mw_fiveG_ProSePC5QoSParameters( + template (present) FiveGProSePC5QoSFlowList p_fiveGProSepc5QoSFlowList := ?, + template BitRate p_fiveGProSepc5LinkAggregateBitRates := *, + template FiveG_ProSePC5QoSParameters.iE_Extensions p_iE_Extensions := * + ) := { + fiveGProSepc5QoSFlowList := p_fiveGProSepc5QoSFlowList, + fiveGProSepc5LinkAggregateBitRates := p_fiveGProSepc5LinkAggregateBitRates, + iE_Extensions := p_iE_Extensions + } // End of template mw_fiveG_ProSePC5QoSParameters + + template (present) FiveGProSePC5QoSFlowItem mw_fiveGProSePC5QoSFlowItem( + template (present) FiveQI p_fiveGproSepQI := ?, + template FiveGProSePC5FlowBitRates p_fiveGproSepc5FlowBitRates := *, + template Range p_fiveGproSerange := *, + template FiveGProSePC5QoSFlowItem.iE_Extensions p_iE_Extensions := * + ) := { + fiveGproSepQI := p_fiveGproSepQI, + fiveGproSepc5FlowBitRates := p_fiveGproSepc5FlowBitRates, + fiveGproSerange := p_fiveGproSerange, + iE_Extensions := p_iE_Extensions + } // End of template mw_fiveGProSePC5QoSFlowItem + + template (present) FiveGProSePC5FlowBitRates mw_fiveGProSePC5FlowBitRates( + template (present) BitRate p_fiveGproSeguaranteedFlowBitRate := ?, + template (present) BitRate p_fiveGproSemaximumFlowBitRate := ?, + template FiveGProSePC5FlowBitRates.iE_Extensions p_iE_Extensions := * + ) := { + fiveGproSeguaranteedFlowBitRate := p_fiveGproSeguaranteedFlowBitRate, + fiveGproSemaximumFlowBitRate := p_fiveGproSemaximumFlowBitRate, + iE_Extensions := p_iE_Extensions + } // End of template mw_fiveGProSePC5FlowBitRates + + template (present) FiveG_S_TMSI mw_fiveG_S_TMSI( + template (present) AMFSetID p_aMFSetID := ?, + template (present) AMFPointer p_aMFPointer := ?, + template (present) FiveG_TMSI p_fiveG_TMSI := ?, + template FiveG_S_TMSI.iE_Extensions p_iE_Extensions := * + ) := { + aMFSetID := p_aMFSetID, + aMFPointer := p_aMFPointer, + fiveG_TMSI := p_fiveG_TMSI, + iE_Extensions := p_iE_Extensions + } // End of template mw_fiveG_S_TMSI + + template (present) ForbiddenAreaInformation_Item mw_forbiddenAreaInformation_Item( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) ForbiddenTACs p_forbiddenTACs := ?, + template ForbiddenAreaInformation_Item.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + forbiddenTACs := p_forbiddenTACs, + iE_Extensions := p_iE_Extensions + } // End of template mw_forbiddenAreaInformation_Item + + template (present) FromEUTRANtoNGRAN mw_fromEUTRANtoNGRAN( + template (present) IntersystemSONeNBID p_sourceeNBID := ?, + template (present) IntersystemSONNGRANnodeID p_targetNGRANnodeID := ?, + template FromEUTRANtoNGRAN.iE_Extensions p_iE_Extensions := * + ) := { + sourceeNBID := p_sourceeNBID, + targetNGRANnodeID := p_targetNGRANnodeID, + iE_Extensions := p_iE_Extensions + } // End of template mw_fromEUTRANtoNGRAN + + template (present) FromNGRANtoEUTRAN mw_fromNGRANtoEUTRAN( + template (present) IntersystemSONNGRANnodeID p_sourceNGRANnodeID := ?, + template (present) IntersystemSONeNBID p_targeteNBID := ?, + template FromNGRANtoEUTRAN.iE_Extensions p_iE_Extensions := * + ) := { + sourceNGRANnodeID := p_sourceNGRANnodeID, + targeteNBID := p_targeteNBID, + iE_Extensions := p_iE_Extensions + } // End of template mw_fromNGRANtoEUTRAN + + template (present) GBR_QosInformation mw_gBR_QosInformation( + template (present) BitRate p_maximumFlowBitRateDL := ?, + template (present) BitRate p_maximumFlowBitRateUL := ?, + template (present) BitRate p_guaranteedFlowBitRateDL := ?, + template (present) BitRate p_guaranteedFlowBitRateUL := ?, + template NotificationControl p_notificationControl := *, + template PacketLossRate p_maximumPacketLossRateDL := *, + template PacketLossRate p_maximumPacketLossRateUL := *, + template GBR_QosInformation.iE_Extensions p_iE_Extensions := * + ) := { + maximumFlowBitRateDL := p_maximumFlowBitRateDL, + maximumFlowBitRateUL := p_maximumFlowBitRateUL, + guaranteedFlowBitRateDL := p_guaranteedFlowBitRateDL, + guaranteedFlowBitRateUL := p_guaranteedFlowBitRateUL, + notificationControl := p_notificationControl, + maximumPacketLossRateDL := p_maximumPacketLossRateDL, + maximumPacketLossRateUL := p_maximumPacketLossRateUL, + iE_Extensions := p_iE_Extensions + } // End of template mw_gBR_QosInformation + + template (present) GBR_QosInformation.iE_Extensions mw_gBR_QosInformation_id_AlternativeQoSParaSetList( + template (present) AlternativeQoSParaSetList p_alternativeQoSParaSetList := ? + ) := { + { + id := id_AlternativeQoSParaSetList, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetList := p_alternativeQoSParaSetList} + } + } // End of template mw_gBR_QosInformation_id_AlternativeQoSParaSetList + + template (present) GlobalCable_ID_new mw_globalCable_ID_new( + template (present) GlobalCable_ID p_globalCable_ID := ?, + template (present) TAI p_tAI := ?, + template GlobalCable_ID_new.iE_Extensions p_iE_Extensions := * + ) := { + globalCable_ID := p_globalCable_ID, + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_globalCable_ID_new + + template (present) GlobalGNB_ID mw_ie_globalGnbId( + template (present) PLMNIdentity p_plmnId := ?, + template (present) bitstring p_gnbId := ?, + template GlobalGNB_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_plmnId,//'010001'O, + gNB_ID := { gNB_ID := p_gnbId/*'0000000000000000000000'B*/}, + iE_Extensions := p_iE_Extensions + } // End of template mw_ie_globalGnbId + + template (present) GlobalN3IWF_ID mw_globalN3IWF_ID( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) N3IWF_ID p_n3IWF_ID := ?, + template GlobalN3IWF_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + n3IWF_ID := p_n3IWF_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_globalN3IWF_ID + + template (present) GlobalLine_ID mw_globalLine_ID( + template (present) GlobalLineIdentity p_globalLineIdentity := ?, + template LineType p_lineType := *, + template GlobalLine_ID.iE_Extensions p_iE_Extensions := * + ) := { + globalLineIdentity := p_globalLineIdentity, + lineType := p_lineType, + iE_Extensions := p_iE_Extensions + } // End of template mw_globalLine_ID + + template (present) GlobalLine_ID.iE_Extensions mw_globalLine_ID_id_TAI(template TAI p_tAI := *) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template mw_globalLine_ID_id_TAI + + template (present) GlobalNgENB_ID mw_globalNgENB_ID( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) NgENB_ID p_ngENB_ID := ?, + template GlobalNgENB_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + ngENB_ID := p_ngENB_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_globalNgENB_ID + + template (present) GlobalRANNodeID mw_globalRANNodeID_globalGNB_ID( + template (present) GlobalGNB_ID p_globalGNB_ID := ? + ) := { + globalGNB_ID := p_globalGNB_ID + } // End of template mw_globalRANNodeID_globalGNB_ID + + template (present) GlobalRANNodeID mw_globalRANNodeID_globalNgENB_ID( + template (present) GlobalNgENB_ID p_globalNgENB_ID := ? + ) := { + globalNgENB_ID := p_globalNgENB_ID + } // End of template mw_globalRANNodeID_globalNgENB_ID + + template (present) GlobalRANNodeID mw_globalRANNodeID_globalN3IWF_ID( + template (present) GlobalN3IWF_ID p_globalN3IWF_ID := ? + ) := { + globalN3IWF_ID := p_globalN3IWF_ID + } // End of template mw_globalRANNodeID_globalN3IWF_ID + + template (present) GlobalRANNodeID mw_globalRANNodeID_choice_Extensions( + template (present) GlobalRANNodeID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_globalRANNodeID_choice_Extensions + + template (present) GlobalRANNodeID.choice_Extensions mw_globalRANNodeID_id_GlobalTNGF_ID( + template (present) GlobalTNGF_ID p_globalTNGF_ID := ? + ) := { + id := id_GlobalTNGF_ID, + criticality := reject, + value_ := { GlobalTNGF_ID := p_globalTNGF_ID } + } // End of template mw_globalRANNodeID_id_GlobalTNGF_ID + + template (present) GlobalRANNodeID.choice_Extensions mw_globalRANNodeID_id_GlobalTWIF_ID( + template (present) GlobalTNGF_ID p_globalTWIF_ID := ? + ) := { + id := id_GlobalTWIF_ID, + criticality := reject, + value_ := { GlobalTNGF_ID := p_globalTWIF_ID } + } // End of template mw_globalRANNodeID_id_GlobalTWIF_ID + + template (present) GlobalRANNodeID.choice_Extensions mw_globalRANNodeID_id_GlobalW_AGF_ID( + template (present) GlobalW_AGF_ID p_globalW_AGF_ID := ? + ) := { + id := id_GlobalW_AGF_ID, + criticality := reject, + value_ := { GlobalW_AGF_ID := p_globalW_AGF_ID } + } // End of template mw_globalRANNodeID_id_GlobalW_AGF_ID + + template (present) GlobalTNGF_ID mw_globalTNGF_ID( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) TNGF_ID p_tNGF_ID := ?, + template GlobalTNGF_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + tNGF_ID := p_tNGF_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_globalTNGF_ID + + template (present) GlobalTWIF_ID mw_globalTWIF_ID( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) TWIF_ID p_tWIF_ID := ?, + template GlobalTWIF_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + tWIF_ID := p_tWIF_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_globalTWIF_ID + + template (present) GlobalW_AGF_ID mw_GlobalW_AGF_ID( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) W_AGF_ID p_w_AGF_ID := ?, + template GlobalW_AGF_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + w_AGF_ID := p_w_AGF_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_GlobalW_AGF_ID + + template (present) GNB_ID mw_gNB_ID_gNB_ID( + template (present) GNB_ID.gNB_ID p_gNB_ID := ? + ) := { + gNB_ID := p_gNB_ID + } // End of template mw_gNB_ID_gNB_ID + + template (present) GNB_ID mw_gNB_ID_choice_Extensions( + template (present) GNB_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_gNB_ID_choice_Extensions + + template (present) GTPTunnel mw_gTPTunnel( + in template (present) TransportLayerAddress p_tla := ?, + in template (present) GTP_TEID p_gtp_teid := ?, + in template GTPTunnel.iE_Extensions p_iE_Extensions := * + ):= { + transportLayerAddress := p_tla, + gTP_TEID := p_gtp_teid, + iE_Extensions := p_iE_Extensions + } // End of template mw_gTPTunnel + + template (present) GUAMI mw_gUAMI( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) AMFRegionID p_aMFRegionID := ?, + template (present) AMFSetID p_aMFSetID := ?, + template (present) AMFPointer p_aMFPointer := ?, + template GUAMI.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + aMFRegionID := p_aMFRegionID, + aMFSetID := p_aMFSetID, + aMFPointer := p_aMFPointer, + iE_Extensions := p_iE_Extensions + } // End of template mw_gUAMI + + template (present) GUAMIType mw_gUAMIType(template (present) GUAMIType p_val := ?) := p_val; + + template HandoverCommandTransfer mw_handoverCommandTransfer( + template UPTransportLayerInformation p_dLForwardingUP_TNLInformation := *, + template QosFlowToBeForwardedList p_qosFlowToBeForwardedList := *, + template DataForwardingResponseDRBList p_dataForwardingResponseDRBList := *, + template HandoverCommandTransfer.iE_Extensions p_iE_Extensions := * + ) := { + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + qosFlowToBeForwardedList := p_qosFlowToBeForwardedList, + dataForwardingResponseDRBList := p_dataForwardingResponseDRBList, + iE_Extensions := p_iE_Extensions + } // End of template mw_handoverCommandTransfer + + template (present) HandoverCommandTransfer.iE_Extensions mw_handoverCommandTransfer_id_AdditionalDLForwardingUPTNLInformation( + template (present) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList := ? + ) := { + { + id := id_AdditionalDLForwardingUPTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template mw_handoverCommandTransfer_id_AdditionalDLForwardingUPTNLInformation + + template (present) HandoverCommandTransfer.iE_Extensions mw_handoverCommandTransfer_id_ULForwardingUP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_ULForwardingUP_TNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_handoverCommandTransfer_id_ULForwardingUP_TNLInformation + + template (present) HandoverCommandTransfer.iE_Extensions mw_handoverCommandTransfer_id_AdditionalULForwardingUPTNLInformation( + template (present) UPTransportLayerInformationList p_uPTransportLayerInformationList := ? + ) := { + { + id := id_AdditionalULForwardingUPTNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template mw_handoverCommandTransfer_id_AdditionalULForwardingUPTNLInformation + + template (present) HandoverCommandTransfer.iE_Extensions mw_handoverCommandTransfer_id_DataForwardingResponseERABList( + template (present) DataForwardingResponseERABList p_dataForwardingResponseERABList := ? + ) := { + { + id := id_DataForwardingResponseERABList, + criticality := ignore, + extensionValue := { DataForwardingResponseERABList := p_dataForwardingResponseERABList } + } + } // End of template mw_handoverCommandTransfer_id_DataForwardingResponseERABList + + template (present) HandoverCommandTransfer.iE_Extensions mw_handoverCommandTransfer_id_QosFlowFailedToSetupList( + template (present) QosFlowListWithCause p_qosFlowListWithCause := ? + ) := { + { + id := id_QosFlowFailedToSetupList, + criticality := ignore, + extensionValue := { QosFlowListWithCause := p_qosFlowListWithCause } + } + } // End of template mwhandoverCommandTransfer_id_QosFlowFailedToSetupList + + template (present) HandoverFlag mw_handoverFlag(template (present) HandoverFlag p_val := handover_preparation) := p_val; + + template (present) HandoverPreparationUnsuccessfulTransfer mw_mandoverPreparationUnsuccessfulTransfer( + template (present) Cause p_cause := ?, + template HandoverPreparationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_mandoverPreparationUnsuccessfulTransfer + + template (present) HandoverRequestAcknowledgeTransfer mw_handoverRequestAcknowledgeTransfer( + template (present) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := ?, + template (present) QosFlowListWithDataForwarding p_qosFlowSetupResponseList := ?, + template UPTransportLayerInformation p_dLForwardingUP_TNLInformation := *, + template SecurityResult p_securityResult := *, + template QosFlowListWithCause p_qosFlowFailedToSetupList := *, + template DataForwardingResponseDRBList p_dataForwardingResponseDRBList := *, + template HandoverRequestAcknowledgeTransfer.iE_Extensions p_iE_Extensions := * + ) := { + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + dLForwardingUP_TNLInformation := p_dLForwardingUP_TNLInformation, + securityResult := p_securityResult, + qosFlowSetupResponseList := p_qosFlowSetupResponseList, + qosFlowFailedToSetupList := p_qosFlowFailedToSetupList, + dataForwardingResponseDRBList := p_dataForwardingResponseDRBList, + iE_Extensions := p_iE_Extensions + } // End of template mw_handoverRequestAcknowledgeTransfer + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_AdditionalDLUPTNLInformationForHOList( + template (present) AdditionalDLUPTNLInformationForHOList p_additionalDLUPTNLInformationForHOList := ? + ) := { + { + id := id_AdditionalDLUPTNLInformationForHOList, + criticality := reject, + extensionValue := { AdditionalDLUPTNLInformationForHOList := p_additionalDLUPTNLInformationForHOList } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_AdditionalDLUPTNLInformationForHOList + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_ULForwardingUP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_ULForwardingUP_TNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_ULForwardingUP_TNLInformation + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_AdditionalULForwardingUPTNLInformation( + template (present) UPTransportLayerInformationList p_uPTransportLayerInformationList := ? + ) := { + { + id := id_AdditionalULForwardingUPTNLInformation, + criticality := reject, + extensionValue := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_AdditionalULForwardingUPTNLInformation + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_DataForwardingResponseERABList( + template (present) DataForwardingResponseERABList p_dataForwardingResponseERABList := ? + ) := { + { + id := id_DataForwardingResponseERABList, + criticality := ignore, + extensionValue := { DataForwardingResponseERABList := p_dataForwardingResponseERABList } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_DataForwardingResponseERABList + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_RedundantDL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_RedundantDL_NGU_UP_TNLInformation + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_UsedRSNInformation( + template (present) RedundantPDUSessionInformation p_redundantPDUSessionInformation := ? + ) := { + { + id := id_UsedRSNInformation, + criticality := ignore, + extensionValue := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_UsedRSNInformation + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_GlobalRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_GlobalRANNodeID + + template (present) HandoverRequestAcknowledgeTransfer.iE_Extensions mw_handoverRequestAcknowledgeTransfer_id_MBS_SupportIndicator( + template (present) MBS_SupportIndicator p_mBS_SupportIndicator := ? + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template mw_handoverRequestAcknowledgeTransfer_id_MBS_SupportIndicator + + template HandoverRequiredTransfer mw_handoverRequiredTransfer( + template DirectForwardingPathAvailability p_directForwardingPathAvailability := *, + template HandoverRequiredTransfer.iE_Extensions p_iE_Extensions := * + ) := { + directForwardingPathAvailability := p_directForwardingPathAvailability, + iE_Extensions := p_iE_Extensions + } // End of template mw_handoverRequiredTransfer + + template (present) HandoverResourceAllocationUnsuccessfulTransfer mw_handoverResourceAllocationUnsuccessfulTransfer( + template (present) Cause p_cause := ?, + template CriticalityDiagnostics p_criticalityDiagnostics := *, + template HandoverResourceAllocationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template mw_handoverResourceAllocationUnsuccessfulTransfer + + template (present) HandoverType mw_handoverType(template (present) HandoverType p_value := ?) := p_value; + + template (present) HFCNode_ID_new mw_hFCNode_ID_new( + template (present) HFCNode_ID p_hFCNode_ID := ?, + template (present) TAI p_tAI := ?, + template HFCNode_ID_new.iE_Extensions p_iE_Extensions := * + ) := { + hFCNode_ID := p_hFCNode_ID, + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_hFCNode_ID_new + + template (present) HOReport mw_hOReport( + template (present) HOReport.handoverReportType p_handoverReportType := ?, + template (present) Cause p_handoverCause := ?, + template (present) NGRAN_CGI p_sourcecellCGI := ?, + template (present) NGRAN_CGI p_targetcellCGI := ?, + template NGRAN_CGI p_reestablishmentcellCGI := ?, + template Bit16 p_sourcecellC_RNTI := *, + template EUTRA_CGI p_targetcellinE_UTRAN := *, + template MobilityInformation p_mobilityInformation := *, + template UERLFReportContainer p_uERLFReportContainer := *, + template HOReport.iE_Extensions p_iE_Extensions := * + ) := { + handoverReportType := p_handoverReportType, + handoverCause := p_handoverCause, + sourcecellCGI := p_sourcecellCGI, + targetcellCGI := p_targetcellCGI, + reestablishmentcellCGI := p_reestablishmentcellCGI, + // The above IE shall be present if the Handover Report Type IE is set to the value "HO to wrong cell" + sourcecellC_RNTI := p_sourcecellC_RNTI, + targetcellinE_UTRAN := p_targetcellinE_UTRAN, + // The above IE shall be present if the Handover Report Type IE is set to the value "Inter System ping_pong" + mobilityInformation := p_mobilityInformation, + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template mw_hOReport + + template (present) IAB_Authorized mw_iAB_Authorized(template (present) IAB_Authorized p_value := ?) := p_value; + + template (present) IAB_Supported mw_iAB_Supported(template (present) IAB_Supported p_value := true_) := p_value; + + template (present) IABNodeIndication mw_iABNodeIndication(template (present) IABNodeIndication p_value := true_) := p_value; + + template (present) IMSVoiceSupportIndicator mw_iMSVoiceSupportIndicator(template (present) IMSVoiceSupportIndicator p_value := ?) := p_value; + + template (present) InfoOnRecommendedCellsAndRANNodesForPaging mw_infoOnRecommendedCellsAndRANNodesForPaging( + template (present) RecommendedCellsForPaging p_recommendedCellsForPaging := ?, + template (present) RecommendedRANNodesForPaging p_recommendRANNodesForPaging := ?, + template InfoOnRecommendedCellsAndRANNodesForPaging.iE_Extensions p_iE_Extensions := * + ) := { + recommendedCellsForPaging := p_recommendedCellsForPaging, + recommendRANNodesForPaging := p_recommendRANNodesForPaging, + iE_Extensions := p_iE_Extensions + } // End of template mw_infoOnRecommendedCellsAndRANNodesForPaging + + template (present) IntegrityProtectionIndication mw_integrityProtectionIndication(template (present) IntegrityProtectionIndication p_value := ?) := p_value; + + template (present) IntegrityProtectionResult mw_integrityProtectionResult(template (present) IntegrityProtectionResult p_value := ?) := p_value; + + template (present) ImmediateMDTNr mw_immediateMDTNr( + template (present) MeasurementsToActivate p_measurementsToActivate := ?, + template M1Configuration p_m1Configuration := *, + template M4Configuration p_m4Configuration := *, + template M5Configuration p_m5Configuration := *, + template M6Configuration p_m6Configuration := *, + template M7Configuration p_m7Configuration := *, + template BluetoothMeasurementConfiguration p_bluetoothMeasurementConfiguration := *, + template WLANMeasurementConfiguration p_wLANMeasurementConfiguration := *, + template MDT_Location_Info p_mDT_Location_Info := *, + template SensorMeasurementConfiguration p_sensorMeasurementConfiguration := *, + template ImmediateMDTNr.iE_Extensions p_iE_Extensions := * + ) := { + measurementsToActivate := p_measurementsToActivate, + m1Configuration := p_m1Configuration, + // The above IE shall be present if the Measurements to Activate IE has the first bit set to “1” + m4Configuration := p_m4Configuration, + // The above IE shall be present if the Measurements to Activate IE has the third bit set to “1” + m5Configuration := p_m5Configuration, + // The above IE shall be present if the Measurements to Activate IE has the fourth bit set to “1” + m6Configuration := p_m6Configuration, + // The above IE shall be present if the Measurements to Activate IE has the fifth bit set to “1” + m7Configuration := p_m7Configuration, + // The above IE shall be present if the Measurements to Activate IE has the sixth bit set to “1” + bluetoothMeasurementConfiguration := p_bluetoothMeasurementConfiguration, + wLANMeasurementConfiguration := p_wLANMeasurementConfiguration, + mDT_Location_Info := p_mDT_Location_Info, + sensorMeasurementConfiguration := p_sensorMeasurementConfiguration, + iE_Extensions := p_iE_Extensions + } // End of template mw_immediateMDTNr + + template InterSystemFailureIndication mw_interSystemFailureIndication( + template UERLFReportContainer p_uERLFReportContainer := *, + template InterSystemFailureIndication.iE_Extensions p_iE_Extensions := * + ) := { + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template mw_interSystemFailureIndication + + template (present) IntersystemSONConfigurationTransfer mw_intersystemSONConfigurationTransfer( + template (present) IntersystemSONTransferType p_transferType := ?, + template (present) IntersystemSONInformation p_intersystemSONInformation := ?, + template IntersystemSONConfigurationTransfer.iE_Extensions p_iE_Extensions := * + ) := { + transferType := p_transferType, + intersystemSONInformation := p_intersystemSONInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemSONConfigurationTransfer + + template (present) IntersystemSONTransferType mw_intersystemSONTransferType_fromEUTRANtoNGRAN( + template (present) FromEUTRANtoNGRAN p_fromEUTRANtoNGRAN := ? + ) := { + fromEUTRANtoNGRAN := p_fromEUTRANtoNGRAN + } // End of template mw_intersystemSONTransferType_fromEUTRANtoNGRAN + + template (present) IntersystemSONTransferType mw_intersystemSONTransferType_fromNGRANtoEUTRAN( + template (present) FromNGRANtoEUTRAN p_fromNGRANtoEUTRAN := ? + ) := { + fromNGRANtoEUTRAN := p_fromNGRANtoEUTRAN + } // End of template mw_intersystemSONTransferType_fromNGRANtoEUTRAN + + template (present) IntersystemSONTransferType mw_intersystemSONTransferType_choice_Extensions( + template (present) IntersystemSONTransferType.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_intersystemSONTransferType_choice_Extensions + + template (present) IntersystemSONeNBID mw_intersystemSONeNBID( + template (present) GlobalENB_ID p_globaleNBID := ?, + template (present) EPS_TAI p_selectedEPSTAI := ?, + template IntersystemSONeNBID.iE_Extensions p_iE_Extensions := * + ) := { + globaleNBID := p_globaleNBID, + selectedEPSTAI := p_selectedEPSTAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemSONeNBID + + template (present) IntersystemSONNGRANnodeID mw_intersystemSONNGRANnodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) TAI p_selectedTAI := ?, + template IntersystemSONNGRANnodeID.iE_Extensions p_iE_Extensions := * + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemSONNGRANnodeID + + template (present) IntersystemSONInformation mw_intersystemSONInformation_intersystemSONInformationReport( + in template (present) IntersystemSONInformationReport p_intersystemSONInformationReport := ? + ) := { + intersystemSONInformationReport := p_intersystemSONInformationReport + } // End of template mw_intersystemSONInformation_intersystemSONInformationReport + + template (present) IntersystemSONInformation mw_intersystemSONInformation_choice_Extensions( + template (present) IntersystemSONInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_intersystemSONInformation_choice_Extensions + + template (present) IntersystemSONInformation.choice_Extensions mw_intersystemSONInformation_id_IntersystemSONInformationRequest( + template (present) IntersystemSONInformationRequest p_intersystemSONInformationRequest := ? + ) := { + id := id_IntersystemSONInformationRequest, + criticality := ignore, + value_ := { IntersystemSONInformationRequest := p_intersystemSONInformationRequest } + } // End of template mw_intersystemSONInformation_id_IntersystemSONInformationRequest + + template (present) IntersystemSONInformation.choice_Extensions mw_intersystemSONInformation_id_IntersystemSONInformationReply( + template (present) IntersystemSONInformationReply p_intersystemSONInformationReply := ? + ) := { + id := id_IntersystemSONInformationReply, + criticality := ignore, + value_ := { IntersystemSONInformationReply := p_intersystemSONInformationReply } + } // End of template mw_intersystemSONInformation_id_IntersystemSONInformationReply + + template (present) IntersystemSONInformationRequest mw_intersystemSONInformationRequest_nGRAN_CellActivation( + template (present) IntersystemCellActivationRequest p_nGRAN_CellActivation := ? + ) := { + nGRAN_CellActivation := p_nGRAN_CellActivation + } // End of template mw_intersystemSONInformationRequest_nGRAN_CellActivation + + template (present) IntersystemSONInformationRequest mw_intersystemSONInformationRequest_resourceStatus( + template (present) IntersystemResourceStatusRequest p_resourceStatus := ? + ) := { + resourceStatus := p_resourceStatus + } // End of template mw_intersystemSONInformationRequest_resourceStatus + + template (present) IntersystemSONInformationRequest mw_intersystemSONInformationRequest_choice_Extensions( + template (present) IntersystemSONInformationRequest.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_intersystemSONInformationRequest_choice_Extensions + + template (present) IntersystemCellActivationRequest mw_intersystemCellActivationRequest( + template (present) IntersystemCellActivationRequest.activationID p_activationID := ?, + template (present) CellsToActivateList p_cellsToActivateList := ?, + template IntersystemCellActivationRequest.iE_Extensions p_iE_Extensions := * + ) := { + activationID := p_activationID, + cellsToActivateList := p_cellsToActivateList, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemCellActivationRequest + + template (present) IntersystemResourceStatusRequest mw_intersystemResourceStatusRequest( + template (present) ReportingSystem p_reportingSystem := ?, + template (present) ReportCharacteristics p_reportCharacteristics := ?, + template (present) ReportType p_reportType := ?, + template IntersystemResourceStatusRequest.iE_Extensions p_iE_Extensions := * + ) := { + reportingSystem := p_reportingSystem, + reportCharacteristics := p_reportCharacteristics, + reportType := p_reportType, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemResourceStatusRequest + + template (present) ReportingSystem mw_reportingSystem_eUTRAN( + template (present) EUTRAN_ReportingSystemIEs p_eUTRAN := ? + ) := { + eUTRAN := p_eUTRAN + } // End of template mw_reportingSystem_eUTRAN + + template (present) ReportingSystem mw_reportingSystem_nGRAN( + template (present) NGRAN_ReportingSystemIEs p_nGRAN := ? + ) := { + nGRAN := p_nGRAN + } // End of template mw_reportingSystem_nGRAN + + template (present) ReportingSystem mw_reportingSystem_choice_Extensions( + template (present) ReportingSystem.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_reportingSystem_choice_Extensions + + template (present) EUTRAN_ReportingSystemIEs mw_eUTRAN_ReportingSystemIEs( + template (present) EUTRAN_CellToReportList p_eUTRAN_CellToReportList := ?, + template EUTRAN_ReportingSystemIEs.iE_Extensions p_iE_Extensions := * + ) := { + eUTRAN_CellToReportList := p_eUTRAN_CellToReportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_eUTRAN_ReportingSystemIEs + + template (present) NGRAN_ReportingSystemIEs mw_nGRAN_ReportingSystemIEs( + template (present) NGRAN_CellToReportList p_nGRAN_CellToReportList := ?, + template NGRAN_ReportingSystemIEs.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CellToReportList := p_nGRAN_CellToReportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGRAN_ReportingSystemIEs + + template (present) EUTRAN_CellToReportItem mw_eUTRAN_CellToReportItem( + template (present) EUTRA_CGI p_eCGI := ?, + template EUTRAN_CellToReportItem.iE_Extensions p_iE_Extensions := * + ) := { + eCGI := p_eCGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_eUTRAN_CellToReportItem + + template (present) NGRAN_CellToReportItem mw_nGRAN_CellToReportItem( + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template NGRAN_CellToReportItem.iE_Extensions p_iE_Extensions := * + ):= { + nGRAN_CGI := p_nGRAN_CGI, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGRAN_CellToReportItem + + template (present) ReportType mw_reportType_eventBasedReporting( + template (present) EventBasedReportingIEs p_eventBasedReporting := ? + ) := { + eventBasedReporting := p_eventBasedReporting + } // End of template mw_reportType_eventBasedReporting + + template (present) ReportType mw_reportType_periodicReporting( + template (present) PeriodicReportingIEs p_periodicReporting := ? + ) := { + periodicReporting := p_periodicReporting + } // End of template mw_reportType_periodicReporting + + template (present) ReportType mw_reportType_choice_Extensions( + template (present) ReportType.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_reportType_choice_Extensions + + template (present) NumberOfMeasurementReportingLevels mw_numberOfMeasurementReportingLevels(template (present) NumberOfMeasurementReportingLevels p_value := ?) := p_value; + + template (present) PeriodicReportingIEs mw_PeriodicReportingIEs( + template (present) ReportingPeriodicity p_reportingPeriodicity := ?, + template PeriodicReportingIEs.iE_Extensions p_iE_Extensions := * + ) := { + reportingPeriodicity := p_reportingPeriodicity, + iE_Extensions := p_iE_Extensions + } // End of template mw_PeriodicReportingIEs + + template (present) ReportingPeriodicity mw_reportingPeriodicity(template (present) ReportingPeriodicity p_value := ?) := p_value; + + template (present) IntersystemSONInformationReply mw_intersystemSONInformationReply_nGRAN_CellActivation( + template (present) IntersystemCellActivationReply p_nGRAN_CellActivation := ? + ) := { + nGRAN_CellActivation := p_nGRAN_CellActivation + } // End of template mw_intersystemSONInformationReply_nGRAN_CellActivation + + template (present) IntersystemSONInformationReply mw_intersystemSONInformationReply_resourceStatus( + template (present) IntersystemResourceStatusReply p_resourceStatus := ? + ) := { + resourceStatus := p_resourceStatus + } // End of template mw_intersystemSONInformationReply_resourceStatus + + template (present) IntersystemSONInformationReply mw_intersystemSONInformationReply_choice_Extensions( + template (present) IntersystemSONInformationReply.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_intersystemSONInformationReply_choice_Extensions + + template (present) IntersystemCellActivationReply mw_intersystemCellActivationReply( + template (present) ActivatedCellList p_activatedCellList := ?, + template (present) IntersystemCellActivationReply.activation_ID p_activation_ID := ?, + template IntersystemCellActivationReply.iE_Extensions p_iE_Extensions := * + ) := { + activatedCellList := p_activatedCellList, + activation_ID := p_activation_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemCellActivationReply + + template (present) IntersystemResourceStatusReply mw_intersystemResourceStatusReply( + template (present) ReportingSystem p_reportingsystem := ?, + template IntersystemResourceStatusReply.iE_Extensions p_iE_Extensions := * + ) := { + reportingsystem := p_reportingsystem, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemResourceStatusReply + + template (present) IntersystemSONInformationReport mw_intersystemSONInformationReport_hOReportInformation( + template (present) InterSystemHOReport p_hOReportInformation := ? + ) := { + hOReportInformation := p_hOReportInformation + } // End of template mw_intersystemSONInformationReport_hOReportInformation + + template (present) IntersystemSONInformationReport mw_intersystemSONInformationReport_failureIndicationInformation( + template (present) InterSystemFailureIndication p_failureIndicationInformation := ? + ) := { + failureIndicationInformation := p_failureIndicationInformation + } // End of template mw_intersystemSONInformationReport_failureIndicationInformation + + template (present) IntersystemSONInformationReport mw_intersystemSONInformationReport_choice_Extensions( + template (present) IntersystemSONInformationReport.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_intersystemSONInformationReport_choice_Extensions + + template (present) IntersystemSONInformationReport.choice_Extensions mw_intersystemSONInformationReport_id_EnergySavingIndication( + template (present) IntersystemCellStateIndication p_intersystemCellStateIndication := ? + ) := { + id := id_EnergySavingIndication, + criticality := ignore, + value_ := { IntersystemCellStateIndication := p_intersystemCellStateIndication } + } // End of template mw_intersystemSONInformationReport_id_EnergySavingIndication + + template (present) IntersystemSONInformationReport.choice_Extensions mw_intersystemSONInformationReport_id_IntersystemResourceStatusUpdate( + template (present) IntersystemResourceStatusReport p_intersystemResourceStatusReport := ? + ) := { + id := id_IntersystemResourceStatusUpdate, + criticality := ignore, + value_ := { IntersystemResourceStatusReport := p_intersystemResourceStatusReport } + } // End of template mw_intersystemSONInformationReport_id_IntersystemResourceStatusUpdate + + template (present) NotificationCell_Item mw_notificationCell_Item( + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template (present) NotificationCell_Item.notifyFlag p_notifyFlag := ?, + template NotificationCell_Item.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CGI := p_nGRAN_CGI, + notifyFlag := p_notifyFlag, + iE_Extensions := p_iE_Extensions + } // End of template mw_notificationCell_Item + + template (present) IntersystemResourceStatusReport mw_intersystemResourceStatusReport( + template (present) ResourceStatusReportingSystem p_reportingSystem := ?, + template IntersystemResourceStatusReport.iE_Extensions p_iE_Extensions := * + ) := { + reportingSystem := p_reportingSystem, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemResourceStatusReport + + template (present) ResourceStatusReportingSystem mw_resourceStatusReportingSystemt_eUTRAN_ReportingStatus( + template (present) EUTRAN_ReportingStatusIEs p_eUTRAN_ReportingStatus := ? + ) := { + eUTRAN_ReportingStatus := p_eUTRAN_ReportingStatus + } // End of template mw_resourceStatusReportingSystem_eUTRAN_ReportingStatus + + template (present) ResourceStatusReportingSystem mw_resourceStatusReportingSystemt_nGRAN_ReportingStatus( + template (present) NGRAN_ReportingStatusIEs p_nGRAN_ReportingStatus := ? + ) := { + nGRAN_ReportingStatus := p_nGRAN_ReportingStatus + } // End of template mw_resourceStatusReportingSystem_nGRAN_ReportingStatus + + template (present) ResourceStatusReportingSystem mw_resourceStatusReportingSystem_choice_Extensions( + template (present) ResourceStatusReportingSystem.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_resourceStatusReportingSystem_choice_Extensions + + template (present) EUTRAN_ReportingStatusIEs mw_eUTRAN_ReportingStatusIEs( + template (present) EUTRAN_CellReportList p_eUTRAN_CellReportList := ?, + template EUTRAN_ReportingStatusIEs.iE_Extensions p_iE_Extensions := * + ) := { + eUTRAN_CellReportList := p_eUTRAN_CellReportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_eUTRAN_ReportingStatusIEs + + template (present) EUTRAN_CellReportItem mw_eUTRAN_CellReportItem ( + template (present) EUTRA_CGI p_eCGI, + template (present) EUTRAN_CompositeAvailableCapacityGroup p_eUTRAN_CompositeAvailableCapacityGroup := ?, + template EUTRAN_NumberOfActiveUEs p_eUTRAN_NumberOfActiveUEs := *, + template NGRAN_NoofRRCConnections p_eUTRAN_NoofRRCConnections := *, + template EUTRAN_RadioResourceStatus p_eUTRAN_RadioResourceStatus := *, + template EUTRAN_CellReportItem.iE_Extensions p_iE_Extensions := * + ):= { + eCGI := p_eCGI, + eUTRAN_CompositeAvailableCapacityGroup := p_eUTRAN_CompositeAvailableCapacityGroup, + eUTRAN_NumberOfActiveUEs := p_eUTRAN_NumberOfActiveUEs, + eUTRAN_NoofRRCConnections := p_eUTRAN_NoofRRCConnections, + eUTRAN_RadioResourceStatus := p_eUTRAN_RadioResourceStatus, + iE_Extensions := p_iE_Extensions + } // End of template mw_eUTRAN_ReportingStatusIEs + + template (present) EUTRAN_CompositeAvailableCapacityGroup mw_EUTRAN_CompositeAvailableCapacityGroup( + template (present) CompositeAvailableCapacity p_dL_CompositeAvailableCapacity := ?, + template (present) CompositeAvailableCapacity p_uL_CompositeAvailableCapacity := ?, + template EUTRAN_CompositeAvailableCapacityGroup.iE_Extensions p_iE_Extensions := * + ) := { + dL_CompositeAvailableCapacity := p_dL_CompositeAvailableCapacity, + uL_CompositeAvailableCapacity := p_uL_CompositeAvailableCapacity, + iE_Extensions := p_iE_Extensions + } // End of template mw_EUTRAN_CompositeAvailableCapacityGroup + + template (present) CompositeAvailableCapacity mw_compositeAvailableCapacity( + template (present) CompositeAvailableCapacity.capacityValue p_capacityValue := ?, + template CompositeAvailableCapacity.cellCapacityClassValue p_cellCapacityClassValue := *, + template CompositeAvailableCapacity.iE_Extensions p_iE_Extensions := * + ) := { + cellCapacityClassValue := p_cellCapacityClassValue, + capacityValue := p_capacityValue, + iE_Extensions := p_iE_Extensions + } // End of template mw_compositeAvailableCapacity + + template (present) EUTRAN_RadioResourceStatus mw_eUTRAN_RadioResourceStatus( + template (present) EUTRAN_RadioResourceStatus.dL_GBR_PRB_usage p_dL_GBR_PRB_usage := ?, + template (present) EUTRAN_RadioResourceStatus.uL_GBR_PRB_usage p_uL_GBR_PRB_usage := ?, + template (present) EUTRAN_RadioResourceStatus.dL_non_GBR_PRB_usage p_dL_non_GBR_PRB_usage := ?, + template (present) EUTRAN_RadioResourceStatus.uL_non_GBR_PRB_usage p_uL_non_GBR_PRB_usage := ?, + template (present) EUTRAN_RadioResourceStatus.dL_Total_PRB_usage p_dL_Total_PRB_usage := ?, + template (present) EUTRAN_RadioResourceStatus.uL_Total_PRB_usage p_uL_Total_PRB_usage := ?, + template EUTRAN_RadioResourceStatus.dL_scheduling_PDCCH_CCE_usage p_dL_scheduling_PDCCH_CCE_usage := *, + template EUTRAN_RadioResourceStatus.uL_scheduling_PDCCH_CCE_usage p_uL_scheduling_PDCCH_CCE_usage := *, + template EUTRAN_RadioResourceStatus.iE_Extensions p_iE_Extensions := * + ) := { + dL_GBR_PRB_usage := p_dL_GBR_PRB_usage, + uL_GBR_PRB_usage := p_uL_GBR_PRB_usage, + dL_non_GBR_PRB_usage := p_dL_non_GBR_PRB_usage, + uL_non_GBR_PRB_usage := p_uL_non_GBR_PRB_usage, + dL_Total_PRB_usage := p_dL_Total_PRB_usage, + uL_Total_PRB_usage := p_uL_Total_PRB_usage, + dL_scheduling_PDCCH_CCE_usage := p_dL_scheduling_PDCCH_CCE_usage, + uL_scheduling_PDCCH_CCE_usage := p_uL_scheduling_PDCCH_CCE_usage, + iE_Extensions := p_iE_Extensions + } // End of template mw_eUTRAN_RadioResourceStatus + + template (present) NGRAN_ReportingStatusIEs mw_nGRAN_ReportingStatusIEs( + template (present) NGRAN_CellReportList p_nGRAN_CellReportList := ?, + template NGRAN_ReportingStatusIEs.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CellReportList := p_nGRAN_CellReportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGRAN_ReportingStatusIEs + + template (present) NGRAN_CellReportItem mw_nGRAN_CellReportItem( + template (present) NGRAN_CGI p_nGRAN_CGI, + template (present) EUTRAN_CompositeAvailableCapacityGroup p_nGRAN_CompositeAvailableCapacityGroup := ?, + template NGRAN_NumberOfActiveUEs p_nGRAN_NumberOfActiveUEs := *, + template NGRAN_NoofRRCConnections p_nGRAN_NoofRRCConnections := *, + template NGRAN_RadioResourceStatus p_nGRAN_RadioResourceStatus := *, + template NGRAN_CellReportItem.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CGI := p_nGRAN_CGI, + nGRAN_CompositeAvailableCapacityGroup := p_nGRAN_CompositeAvailableCapacityGroup, + nGRAN_NumberOfActiveUEs := p_nGRAN_NumberOfActiveUEs, + nGRAN_NoofRRCConnections := p_nGRAN_NoofRRCConnections, + nGRAN_RadioResourceStatus := p_nGRAN_RadioResourceStatus, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGRAN_CellReportItem + + template (present) NGRAN_RadioResourceStatus mw_nGRAN_RadioResourceStatus( + template (present) NGRAN_RadioResourceStatus.dL_GBR_PRB_usage_for_MIMO p_dL_GBR_PRB_usage_for_MIMO := ?, + template (present) NGRAN_RadioResourceStatus.uL_GBR_PRB_usage_for_MIMO p_uL_GBR_PRB_usage_for_MIMO := ?, + template (present) NGRAN_RadioResourceStatus.dL_non_GBR_PRB_usage_for_MIMO p_dL_non_GBR_PRB_usage_for_MIMO := ?, + template (present) NGRAN_RadioResourceStatus.uL_non_GBR_PRB_usage_for_MIMO p_uL_non_GBR_PRB_usage_for_MIMO := ?, + template (present) NGRAN_RadioResourceStatus.dL_Total_PRB_usage_for_MIMO p_dL_Total_PRB_usage_for_MIMO := ?, + template (present) NGRAN_RadioResourceStatus.uL_Total_PRB_usage_for_MIMO p_uL_Total_PRB_usage_for_MIMO := ?, + template NGRAN_RadioResourceStatus.iE_Extensions p_iE_Extensions := * + ) := { + dL_GBR_PRB_usage_for_MIMO := p_dL_GBR_PRB_usage_for_MIMO, + uL_GBR_PRB_usage_for_MIMO := p_uL_GBR_PRB_usage_for_MIMO, + dL_non_GBR_PRB_usage_for_MIMO := p_dL_non_GBR_PRB_usage_for_MIMO, + uL_non_GBR_PRB_usage_for_MIMO := p_uL_non_GBR_PRB_usage_for_MIMO, + dL_Total_PRB_usage_for_MIMO := p_dL_Total_PRB_usage_for_MIMO, + uL_Total_PRB_usage_for_MIMO := p_uL_Total_PRB_usage_for_MIMO, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGRAN_RadioResourceStatus + + template (present) InterSystemHOReport mw_interSystemHOReport( + template (present) InterSystemHandoverReportType p_handoverReportType := ?, + template InterSystemHOReport.iE_Extensions p_iE_Extensions := * + ) := { + handoverReportType := p_handoverReportType, + iE_Extensions := p_iE_Extensions + } // End of template mw_interSystemHOReport + + template (present) InterSystemHandoverReportType mw_interSystemHandoverReportType_tooearlyIntersystemHO( + template (present) TooearlyIntersystemHO p_tooearlyIntersystemHO := ? + ) := { + tooearlyIntersystemHO := p_tooearlyIntersystemHO + } // End of template mw_interSystemHandoverReportType_tooearlyIntersystemHO + + template (present) InterSystemHandoverReportType mw_interSystemHandoverReportType_intersystemUnnecessaryHO( + template (present) IntersystemUnnecessaryHO p_intersystemUnnecessaryHO := ? + ) := { + intersystemUnnecessaryHO := p_intersystemUnnecessaryHO + } // End of template mw_interSystemHandoverReportType_intersystemUnnecessaryHO + + template (present) InterSystemHandoverReportType mw_interSystemHandoverReportType_choice_Extensions( + template (present) InterSystemHandoverReportType.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_interSystemHandoverReportType_choice_Extensions + + template (present) IntersystemUnnecessaryHO mw_intersystemUnnecessaryHO( + template (present) NGRAN_CGI p_sourcecellID := ?, + template (present) EUTRA_CGI p_targetcellID := ?, + template (present) IntersystemUnnecessaryHO.earlyIRATHO p_earlyIRATHO := ?, + template (present) CandidateCellList p_candidateCellList := ?, + template IntersystemUnnecessaryHO.iE_Extensions p_iE_Extensions := * + ) := { + sourcecellID := p_sourcecellID, + targetcellID := p_targetcellID, + earlyIRATHO := p_earlyIRATHO, + candidateCellList := p_candidateCellList, + iE_Extensions := p_iE_Extensions + } // End of template mw_intersystemUnnecessaryHO + + template (present) LAI mw_lai( + template (present) PLMNIdentity p_pLMNidentity := ?, + template (present) LAC p_lAC := ?, + template LAI.iE_Extensions p_iE_Extensions := * + ) := { + pLMNidentity := p_pLMNidentity, + lAC := p_lAC, + iE_Extensions := p_iE_Extensions + } // End of template mw_lai + + template (present) LastVisitedCellInformation mw_interSystemHandoverReportType_nGRANCell( + template (present) LastVisitedNGRANCellInformation p_nGRANCell := ? + ) := { + nGRANCell := p_nGRANCell + } // End of template mw_interSystemHandoverReportType_nGRANCell + + template (present) LastVisitedCellInformation mw_interSystemHandoverReportType_eUTRANCell( + template (present) LastVisitedEUTRANCellInformation p_eUTRANCell := ? + ) := { + eUTRANCell := p_eUTRANCell + } // End of template mw_interSystemHandoverReportType_eUTRANCell + + template (present) LastVisitedCellInformation mw_interSystemHandoverReportType_uTRANCell( + template (present) LastVisitedUTRANCellInformation p_uTRANCell := ? + ) := { + uTRANCell := p_uTRANCell + } // End of template mw_interSystemHandoverReportType_uTRANCell + + template (present) LastVisitedCellInformation mw_interSystemHandoverReportType_gERANCell( + template (present) LastVisitedGERANCellInformation p_gERANCell := ? + ) := { + gERANCell := p_gERANCell + } // End of template mw_interSystemHandoverReportType_gERANCell + + template (present) LastVisitedCellInformation mw_lastVisitedCellInformation_choice_Extensions( + template (present) LastVisitedCellInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_lastVisitedCellInformation_choice_Extensions + + template (present) LastVisitedCellItem mw_lastVisitedCellItem( + template (present) LastVisitedCellInformation p_lastVisitedCellInformation := ?, + template LastVisitedCellItem.iE_Extensions p_iE_Extensions := * + ) := { + lastVisitedCellInformation := p_lastVisitedCellInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_lastVisitedCellItem + + template (present) LastVisitedNGRANCellInformation mw_lastVisitedNGRANCellInformation( + template (present) NGRAN_CGI p_globalCellID := ?, + template (present) CellType p_cellType := ?, + template (present) TimeUEStayedInCell p_timeUEStayedInCell := ?, + template TimeUEStayedInCellEnhancedGranularity p_timeUEStayedInCellEnhancedGranularity := *, + template Cause p_hOCauseValue := *, + template LastVisitedNGRANCellInformation.iE_Extensions p_iE_Extensions := * + ) := { + globalCellID := p_globalCellID, + cellType := p_cellType, + timeUEStayedInCell := p_timeUEStayedInCell, + timeUEStayedInCellEnhancedGranularity := p_timeUEStayedInCellEnhancedGranularity, + hOCauseValue := p_hOCauseValue, + iE_Extensions := p_iE_Extensions + } // End of template mw_lastVisitedNGRANCellInformation + + template (present) LastVisitedNGRANCellInformation.iE_Extensions mw_lastVisitedNGRANCellInformation_id_LastVisitedPSCellList( + template (present) LastVisitedPSCellList p_lastVisitedPSCellList := ? + ) := { + { + id := id_LastVisitedPSCellList, + criticality := ignore, + extensionValue := { LastVisitedPSCellList := p_lastVisitedPSCellList } + } + } // End of template mw_lastVisitedNGRANCellInformation_id_LastVisitedPSCellList + + template (present) LastVisitedPSCellInformation mw_LastVisitedPSCellInformation( + template (present) NGRAN_CGI p_pSCellID := ?, + template (present) LastVisitedPSCellInformation.timeStay p_timeStay := ?, + template LastVisitedPSCellInformation.iE_Extensions p_iE_Extensions := * + ) := { + pSCellID := p_pSCellID, + timeStay := p_timeStay, + iE_Extensions := p_iE_Extensions + } // End of template mw_LastVisitedPSCellInformation + + template (present) LineType mw_lineType(template (present) LineType p_value := pon) := p_value; + + template (present) LocationReportingAdditionalInfo mw_locationReportingAdditionalInfo(template (present) LocationReportingAdditionalInfo p_value := includePSCell) := p_value; + + template (present) LocationReportingRequestType mw_locationReportingRequestType( + template (present) EventType p_eventType := ?, + template (present) ReportArea p_reportArea := ?, + template AreaOfInterestList p_areaOfInterestList := *, + template LocationReportingReferenceID p_locationReportingReferenceIDToBeCancelled := *, + template LocationReportingRequestType.iE_Extensions p_iE_Extensions := * + ) := { + eventType := p_eventType, + reportArea := p_reportArea, + areaOfInterestList := p_areaOfInterestList, + locationReportingReferenceIDToBeCancelled := p_locationReportingReferenceIDToBeCancelled, + // The above IE shall be present if the event type is set to “stop reporting UE presence in the area of interest” + iE_Extensions := p_iE_Extensions + } // End of template mw_locationReportingRequestType + + template (present) LocationReportingRequestType.iE_Extensions mw_locationReportingRequestType_id_LocationReportingAdditionalInfo( + template (present) LocationReportingAdditionalInfo p_locationReportingAdditionalInfo := ? + ) := { + { + id := id_LocationReportingAdditionalInfo, + criticality := ignore, + extensionValue := { LocationReportingAdditionalInfo := p_locationReportingAdditionalInfo } + } + } // End of template mw_locationReportingRequestType_id_LocationReportingAdditionalInfo + + template (present) LoggedMDTNr mw_loggedMDTNr( + template (present) LoggingInterval p_loggingInterval := ?, + template (present) LoggingDuration p_loggingDuration := ?, + template (present) LoggedMDTTrigger p_loggedMDTTrigger := ?, + template BluetoothMeasurementConfiguration p_bluetoothMeasurementConfiguration := *, + template WLANMeasurementConfiguration p_wLANMeasurementConfiguration := *, + template SensorMeasurementConfiguration p_sensorMeasurementConfiguration := *, + template AreaScopeOfNeighCellsList p_areaScopeOfNeighCellsList := *, + template LoggedMDTNr.iE_Extensions p_iE_Extensions := * + ) := { + loggingInterval := p_loggingInterval, + loggingDuration := p_loggingDuration, + loggedMDTTrigger := p_loggedMDTTrigger, + bluetoothMeasurementConfiguration := p_bluetoothMeasurementConfiguration, + wLANMeasurementConfiguration := p_wLANMeasurementConfiguration, + sensorMeasurementConfiguration := p_sensorMeasurementConfiguration, + areaScopeOfNeighCellsList := p_areaScopeOfNeighCellsList, + iE_Extensions := p_iE_Extensions + } // End of template mw_loggedMDTNr + + template (present) LoggingInterval mw_loggingInterval(template (present) LoggingInterval p_value := ?) := p_value; + + template (present) LoggingDuration mw_loggingDuration(template (present) LoggingDuration p_value := ?) := p_value; + + template (present) Links_to_log mw_Links_to_log(template (present) Links_to_log p_value := ?) := p_value; + + template (present) LoggedMDTTrigger mw_loggedMDTTrigger_gERANCell( + template (present) EventTrigger p_eventTrigger := ? + ) := { + eventTrigger := p_eventTrigger + } // End of template mw_loggedMDTTrigger_gERANCell + + template (present) LoggedMDTTrigger mw_loggedMDTTrigger_choice_Extensions( + template (present) LoggedMDTTrigger.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_loggedMDTTrigger_choice_Extensions + + template (present) LTEM_Indication mw_lTEM_Indication(template (present) LTEM_Indication p_value := lte_m) := p_value; + + template LTEV2XServicesAuthorized mw_lTEV2XServicesAuthorized( + template VehicleUE p_vehicleUE := *, + template PedestrianUE p_pedestrianUE:= *, + template LTEV2XServicesAuthorized.iE_Extensions p_iE_Extensions := * + ) := { + vehicleUE := p_vehicleUE, + pedestrianUE := p_pedestrianUE, + iE_Extensions := p_iE_Extensions + } // End of template mw_lTEV2XServicesAuthorized + + template (present) LTEUESidelinkAggregateMaximumBitrate mw_lTEUESidelinkAggregateMaximumBitrate( + template (present) BitRate p_uESidelinkAggregateMaximumBitRate := ?, + template LTEUESidelinkAggregateMaximumBitrate.iE_Extensions p_iE_Extensions := * + ) := { + uESidelinkAggregateMaximumBitRate := p_uESidelinkAggregateMaximumBitRate, + iE_Extensions := p_iE_Extensions + } // End of template mw_lTEUESidelinkAggregateMaximumBitrate + + template (present) MaximumIntegrityProtectedDataRate mw_maximumIntegrityProtectedDataRate(template (present) MaximumIntegrityProtectedDataRate p_value := ?) := p_value; + + template (present) MBS_DataForwardingResponseMRBItem mw_mBS_DataForwardingResponseMRBItem( + template (present) MRB_ID p_mRB_ID := ?, + template (present) UPTransportLayerInformation p_dL_Forwarding_UPTNLInformation := ?, + template MRB_ProgressInformation p_mRB_ProgressInformation := *, + template MBS_DataForwardingResponseMRBItem.iE_Extensions p_iE_Extensions := * + ) := { + mRB_ID := p_mRB_ID, + dL_Forwarding_UPTNLInformation := p_dL_Forwarding_UPTNLInformation, + mRB_ProgressInformation := p_mRB_ProgressInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_DataForwardingResponseMRBItem + + template (present) MBS_MappingandDataForwardingRequestItem mw_mBS_MappingandDataForwardingRequestItem( + template (present) MRB_ID p_mRB_ID := ?, + template (present) MBS_QoSFlowList p_mBS_QoSFlowList := ?, + template MRB_ProgressInformation p_mRB_ProgressInformation := *, + template MBS_MappingandDataForwardingRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + mRB_ID := p_mRB_ID, + mBS_QoSFlowList := p_mBS_QoSFlowList, + mRB_ProgressInformation := p_mRB_ProgressInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_MappingandDataForwardingRequestItem + + template (present) MRB_ProgressInformation mw_mRB_ProgressInformation_pDCP_SN_Length12( + template (present) MRB_ProgressInformation.pDCP_SN_Length12 p_pDCP_SN_Length12 := ? + ) := { + pDCP_SN_Length12 := p_pDCP_SN_Length12 + } // End of template mw_mRB_ProgressInformation_pDCP_SN_Length12 + + template (present) MRB_ProgressInformation mw_mRB_ProgressInformation_pDCP_SN_Length18( + template (present) MRB_ProgressInformation.pDCP_SN_Length18 p_pDCP_SN_Length18 := ? + ) := { + pDCP_SN_Length18 := p_pDCP_SN_Length18 + } // End of template m_mRB_ProgressInformation_pDCP_SN_Length18 + + template (present) MRB_ProgressInformation mw_mRB_ProgressInformation_choice_Extensions( + template (present) MRB_ProgressInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_mRB_ProgressInformation_choice_Extensions + + template (present) MBS_QoSFlowsToBeSetupItem mw_mBS_QoSFlowsToBeSetupItem( + template (present)QosFlowIdentifier p_mBSqosFlowIdentifier := ?, + template (present)QosFlowLevelQosParameters p_mBSqosFlowLevelQosParameters := ?, + template MBS_QoSFlowsToBeSetupItem.iE_Extensions p_iE_Extensions := * + ) := { + mBSqosFlowIdentifier := p_mBSqosFlowIdentifier, + mBSqosFlowLevelQosParameters := p_mBSqosFlowLevelQosParameters, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_QoSFlowsToBeSetupItem + + template (present) MBS_ServiceArea mw_mBS_ServiceArea_locationindependent( + template (present) MBS_ServiceAreaInformation p_locationindependent := ? + ) := { + locationindependent := p_locationindependent + } // End of template mw_mBS_ServiceArea_locationindependent + + template (present) MBS_ServiceArea mw_mBS_ServiceArea_locationdependent( + template (present) MBS_ServiceAreaInformationList p_locationdependent := ? + ) := { + locationdependent := p_locationdependent + } // End of template mw_mBS_ServiceArea_locationdependent + + template (present) MBS_ServiceArea mw_mBS_ServiceArea_choice_Extensions( + template (present) MBS_ServiceArea.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_mBS_ServiceArea_choice_Extensions + + template (present) MBS_ServiceAreaInformationItem mw_mBS_ServiceAreaInformationItem( + template (present) MBS_AreaSessionID p_mBS_AreaSessionID := ?, + template (present) MBS_ServiceAreaInformation p_mBS_ServiceAreaInformation := ?, + template MBS_ServiceAreaInformationItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_AreaSessionID := p_mBS_AreaSessionID, + mBS_ServiceAreaInformation := p_mBS_ServiceAreaInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_ServiceAreaInformationItem + + template MBS_ServiceAreaInformation mw_mBS_ServiceAreaInformation( + template MBS_ServiceAreaCellList p_mBS_ServiceAreaCellList := *, + template MBS_ServiceAreaTAIList p_mBS_ServiceAreaTAIList := *, + template MBS_ServiceAreaInformation.iE_Extensions p_iE_Extensions := * + ) := { + mBS_ServiceAreaCellList := p_mBS_ServiceAreaCellList, + mBS_ServiceAreaTAIList := p_mBS_ServiceAreaTAIList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_ServiceAreaInformation + + template (present) MBS_SessionID mw_mBS_SessionID( + template (present) TMGI p_tMGI := ?, + template NID p_nID := *, + template MBS_SessionID.iE_Extensions p_iE_Extensions := * + ) := { + tMGI := p_tMGI, + nID := p_nID, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_SessionID + + template (present) MBSSessionFailedtoSetupItem mw_mBSSessionFailedtoSetupItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template (present) Cause p_cause := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template MBSSessionFailedtoSetupItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionFailedtoSetupItem + + template (present) MBS_ActiveSessionInformation_SourcetoTargetItem mw_mBS_ActiveSessionInformation_SourcetoTargetItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template (present) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template MBS_ServiceArea p_mBS_ServiceArea := *, + template MBS_MappingandDataForwardingRequestList p_mBS_MappingandDataForwardingRequestList := *, + template MBS_ActiveSessionInformation_SourcetoTargetItem.iE_Extensions p_iE_Extensions := * + ):= { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + mBS_ServiceArea := p_mBS_ServiceArea, + mBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList, + mBS_MappingandDataForwardingRequestList := p_mBS_MappingandDataForwardingRequestList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_ActiveSessionInformation_SourcetoTargetItem + + template (present) MBS_ActiveSessionInformation_TargettoSourceItem mw_mBS_ActiveSessionInformation_TargettoSourceItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MBS_DataForwardingResponseMRBList p_mBS_DataForwardingResponseMRBList := *, + template MBS_ActiveSessionInformation_TargettoSourceItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_DataForwardingResponseMRBList := p_mBS_DataForwardingResponseMRBList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_ActiveSessionInformation_TargettoSourceItem + + template (present) MBSSessionSetupOrModFailureTransfer mw_mBSSessionSetupOrModFailureTransfer( + template (present) Cause p_cause := ?, + template CriticalityDiagnostics p_criticalityDiagnostics := *, + template MBSSessionSetupOrModFailureTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionSetupOrModFailureTransfer + + template (present) MBSSessionSetupResponseItem mw_mBSSessionSetupResponseItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template MBSSessionSetupResponseItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionSetupResponseItem + + template (present) MBSSessionSetupOrModRequestTransfer mw_mBSSessionSetupOrModRequestTransfer( + template (present) MBSSessionSetupOrModRequestTransfer.protocolIEs p_protocolIEs := ? + ) := { + protocolIEs := p_protocolIEs + } // End of template mw_mBSSessionSetupOrModRequestTransfer + + template (present) MBSSessionSetupOrModRequestTransfer mw_mBSSessionSetupOrModRequestTransfer_options( + template (present) MBS_SessionTNLInfo5GC p_mBS_SessionTNLInfo5GC := ?, + template (present) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList := ?, + template (present) MBS_SessionFSAIDList p_mBS_SessionFSAIDList := ? + ) := { + protocolIEs := { + { + id := id_MBS_SessionTNLInfo5GC, + criticality := reject, + value_ := { MBS_SessionTNLInfo5GC := p_mBS_SessionTNLInfo5GC } + }, + { + id := id_MBS_QoSFlowsToBeSetupModList, + criticality := reject, + value_ := { MBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList } + }, + { + id := id_MBS_SessionFSAIDList, + criticality := ignore, + value_ := { MBS_SessionFSAIDList := p_mBS_SessionFSAIDList } + } + } + } // End of template mw_mBSSessionSetupOrModRequestTransfer_options + + template MBSSessionReleaseResponseTransfer mw_mBSSessionReleaseResponseTransfer( + template MBS_SessionTNLInfoNGRAN p_mBS_SessionTNLInfoNGRAN := *, + template MBSSessionReleaseResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionTNLInfoNGRAN := p_mBS_SessionTNLInfoNGRAN, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionReleaseResponseTransfer + + template MBSSessionSetupOrModResponseTransfer mw_mBSSessionSetupOrModResponseTransfer( + template MBS_SessionTNLInfoNGRAN p_mBS_SessionTNLInfoNGRAN := *, + template MBSSessionSetupOrModResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionTNLInfoNGRAN := p_mBS_SessionTNLInfoNGRAN, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionSetupOrModResponseTransfer + + template (present) MBS_SupportIndicator mw_mBS_SupportIndicator(template (present) MBS_SupportIndicator p_value := true_) := p_value; + + template (present) MBS_SessionTNLInfo5GC mw_mBS_SessionTNLInfo5GC_locationindependent( + template (present) SharedNGU_MulticastTNLInformation p_locationindependent := ? + ) := { + locationindependent := p_locationindependent + } // End of template mw_mBS_SessionTNLInfo5GC_locationindependent + + template (present) MBS_SessionTNLInfo5GC mw_mBS_SessionTNLInfo5GC_locationdependent( + template (present) MBS_SessionTNLInfo5GCList p_locationdependent := ? + ) := { + locationdependent := p_locationdependent + } // End of template mw_mBS_SessionTNLInfo5GC_locationdependent + + template (present) MBS_SessionTNLInfo5GC mw_mBS_SessionTNLInfo5GC_choice_Extensions( + template (present) MBS_SessionTNLInfo5GC.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_mBS_SessionTNLInfo5GC_choice_Extensions + + + template (present) MBS_SessionTNLInfo5GCItem mw_mBS_SessionTNLInfo5GCItem( + template (present) MBS_AreaSessionID p_mBS_AreaSessionID := ?, + template (present) SharedNGU_MulticastTNLInformation p_sharedNGU_MulticastTNLInformation := ?, + template MBS_SessionTNLInfo5GCItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_MulticastTNLInformation := p_sharedNGU_MulticastTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_SessionTNLInfo5GCItem + + template (present) MBS_SessionTNLInfoNGRAN mw_mBS_SessionTNLInfoNGRAN_locationindependent( + template (present) UPTransportLayerInformation p_locationindependent := ? + ) := { + locationindependent := p_locationindependent + } // End of template mw_mBS_SessionTNLInfoNGRAN_locationindependent + + template (present) MBS_SessionTNLInfoNGRAN mw_mBS_SessionTNLInfoNGRAN_locationdependent( + template (present) MBS_SessionTNLInfoNGRANList p_locationdependent := ? + ) := { + locationdependent := p_locationdependent + } // End of template mw_mBS_SessionTNLInfoNGRAN_locationdependent + + template (present) MBS_SessionTNLInfoNGRAN mw_mBS_SessionTNLInfoNGRAN_choice_Extensions( + template (present) MBS_SessionTNLInfoNGRAN.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_mBS_SessionTNLInfoNGRAN_choice_Extensions + + template (present) MBS_SessionTNLInfoNGRANItem mw_mBS_SessionTNLInfoNGRANItem( + template (present) MBS_AreaSessionID p_mBS_AreaSessionID := ?, + template UPTransportLayerInformation p_sharedNGU_UnicastTNLInformation := *, + template MBS_SessionTNLInfoNGRANItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_UnicastTNLInformation := p_sharedNGU_UnicastTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_SessionTNLInfoNGRANItem + + template (present) MBS_DistributionReleaseRequestTransfer mw_mBS_DistributionReleaseRequestTransfer( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template (present) Cause p_cause := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template UPTransportLayerInformation p_sharedNGU_UnicastTNLInformation := *, + template MBS_DistributionReleaseRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_UnicastTNLInformation := p_sharedNGU_UnicastTNLInformation, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_DistributionReleaseRequestTransfer + + template (present) MBS_DistributionSetupRequestTransfer mw_mBS_DistributionSetupRequestTransfer( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template UPTransportLayerInformation p_sharedNGU_UnicastTNLInformation := *, + template MBS_DistributionSetupRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_UnicastTNLInformation := p_sharedNGU_UnicastTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_DistributionSetupRequestTransfer + + template (present) MBS_DistributionSetupResponseTransfer mw_mBS_DistributionSetupResponseTransfer( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template (present) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList := ?, + template (present) MBSSessionStatus p_mBSSessionStatus := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template MBS_SessionTNLInfo5GCItem p_sharedNGU_MulticastTNLInformation := *, + template MBS_ServiceArea p_mBS_ServiceArea := *, + template MBS_DistributionSetupResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + sharedNGU_MulticastTNLInformation := p_sharedNGU_MulticastTNLInformation, + mBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList, + mBSSessionStatus := p_mBSSessionStatus, + mBS_ServiceArea := p_mBS_ServiceArea, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_DistributionSetupResponseTransfer + + template (present) MBS_DistributionSetupUnsuccessfulTransfer mw_mBS_DistributionSetupUnsuccessfulTransfer( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template (present) Cause p_cause := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template CriticalityDiagnostics p_criticalityDiagnostics := *, + template MBS_DistributionSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBS_DistributionSetupUnsuccessfulTransfer + + template (present) MBSSessionSetupRequestItem mw_mBSSessionSetupRequestItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template AssociatedMBSQosFlowSetupRequestList p_associatedMBSQosFlowSetupRequestList := *, + template MBSSessionSetupRequestItem.iE_Extensions p_iE_Extensions := * + ):= { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + associatedMBSQosFlowSetupRequestList := p_associatedMBSQosFlowSetupRequestList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionSetupRequestItem + + template (present) MBSSessionSetuporModifyRequestItem mw_mBSSessionSetuporModifyRequestItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MBS_AreaSessionID p_mBS_AreaSessionID := *, + template AssociatedMBSQosFlowSetuporModifyRequestList p_associatedMBSQosFlowSetuporModifyRequestList := *, + template QosFlowListWithCause p_mBS_QosFlowToReleaseList := *, + template MBSSessionSetuporModifyRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + mBS_AreaSessionID := p_mBS_AreaSessionID, + associatedMBSQosFlowSetuporModifyRequestList := p_associatedMBSQosFlowSetuporModifyRequestList, + mBS_QosFlowToReleaseList := p_mBS_QosFlowToReleaseList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionSetuporModifyRequestItem + + template (present) MBSSessionToReleaseItem mw_mBSSessionToReleaseItem( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template (present) Cause p_cause := ?, + template MBSSessionToReleaseItem.iE_Extensions p_iE_Extensions := * + ):= { + mBS_SessionID := p_mBS_SessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_mBSSessionToReleaseItem + + template (present) MBSSessionStatus mw_mBSSessionStatus(template (present) MBSSessionStatus p_value := ?) := p_value; + + template (present) MicoAllPLMN mw_micoAllPLMN(template (present) MicoAllPLMN p_value := true_) := p_value; + + template (present) MICOModeIndication mw_mICOModeIndication(template (present) MICOModeIndication p_value := true_) := p_value; + + template (present) MobilityRestrictionList mw_mobilityRestrictionList( + template (present) PLMNIdentity p_servingPLMN := ?, + template EquivalentPLMNs p_equivalentPLMNs := *, + template RATRestrictions p_rATRestrictions := *, + template ForbiddenAreaInformation p_forbiddenAreaInformation := *, + template ServiceAreaInformation p_serviceAreaInformation := *, + template MobilityRestrictionList.iE_Extensions p_iE_Extensions := * + ) := { + servingPLMN := p_servingPLMN, + equivalentPLMNs := p_equivalentPLMNs, + rATRestrictions := p_rATRestrictions, + forbiddenAreaInformation := p_forbiddenAreaInformation, + serviceAreaInformation := p_serviceAreaInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_mobilityRestrictionList + + template (present) MobilityRestrictionList.iE_Extensions mw_mobilityRestrictionList_id_LastEUTRAN_PLMNIdentity( + template (present) PLMNIdentity p_pLMNIdentity := ? + ) := { + { + id := id_LastEUTRAN_PLMNIdentity, + criticality := ignore, + extensionValue := { PLMNIdentity := p_pLMNIdentity } + } + } // End of template mw_mobilityRestrictionList_id_LastEUTRAN_PLMNIdentity + + template (present) MobilityRestrictionList.iE_Extensions mw_mobilityRestrictionList_id_CNTypeRestrictionsForServing( + template (present) CNTypeRestrictionsForServing p_cNTypeRestrictionsForServing := ? + ) := { + { + id := id_CNTypeRestrictionsForServing, + criticality := ignore, + extensionValue := { CNTypeRestrictionsForServing := p_cNTypeRestrictionsForServing } + } + } // End of template mw_mobilityRestrictionList_id_CNTypeRestrictionsForServing + + template (present) MobilityRestrictionList.iE_Extensions mw_mobilityRestrictionList_id_CNTypeRestrictionsForEquivalent( + template (present) CNTypeRestrictionsForEquivalent p_cNTypeRestrictionsForEquivalent := ? + ) := { + { + id := id_CNTypeRestrictionsForEquivalent, + criticality := ignore, + extensionValue := { CNTypeRestrictionsForEquivalent := p_cNTypeRestrictionsForEquivalent } + } + } // End of template mw_mobilityRestrictionList_id_CNTypeRestrictionsForEquivalent + + template (present) MobilityRestrictionList.iE_Extensions mw_mobilityRestrictionList_id_NPN_MobilityInformation( + template (present) NPN_MobilityInformation p_nPN_MobilityInformation := ? + ) := { + { + id := id_NPN_MobilityInformation, + criticality := reject, + extensionValue := { NPN_MobilityInformation := p_nPN_MobilityInformation } + } + } // End of template mw_mobilityRestrictionList_id_NPN_MobilityInformation + + template (present) MDT_AlignmentInfo mw_mDT_AlignmentInfo_s_basedMDT( + template (present) NGRANTraceID p_s_basedMDT := ? + ) := { + s_basedMDT := p_s_basedMDT + } // End of template mw_mDT_AlignmentInfo_s_basedMDT + + template (present) MDT_AlignmentInfo mw_mDT_AlignmentInfo_choice_Extensions( + template (present) MDT_AlignmentInfo.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_mDT_AlignmentInfo_choice_Extensions + + template MDT_Configuration mw_mDT_Configuration( + template MDT_Configuration_NR p_mdt_Config_NR := *, + template MDT_Configuration_EUTRA p_mdt_Config_EUTRA := *, + template MDT_Configuration.iE_Extensions p_iE_Extensions := * + ) := { + mdt_Config_NR := p_mdt_Config_NR, + mdt_Config_EUTRA := p_mdt_Config_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template mw_mDT_Configuration + + template (present) MDT_Configuration_NR mw_mDT_Configuration_NR( + template (present) MDT_Activation p_mdt_Activation := ?, + template (present) AreaScopeOfMDT_NR p_areaScopeOfMDT := ?, + template (present) MDTModeNr p_mDTModeNr := ?, + template MDTPLMNList p_signallingBasedMDTPLMNList := *, + template MDT_Configuration_NR.iE_Extensions p_iE_Extensions := * + ) := { + mdt_Activation := p_mdt_Activation, + areaScopeOfMDT := p_areaScopeOfMDT, + mDTModeNr := p_mDTModeNr, + signallingBasedMDTPLMNList := p_signallingBasedMDTPLMNList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mDT_Configuration_NR + + template (present) MDT_Configuration_EUTRA mw_mDT_Configuration_EUTRA( + template (present) MDT_Activation p_mdt_Activation := ?, + template (present) AreaScopeOfMDT_EUTRA p_areaScopeOfMDT := ?, + template (present) MDTModeEutra p_mDTMode := ?, + template MDTPLMNList p_signallingBasedMDTPLMNList := *, + template MDT_Configuration_EUTRA.iE_Extensions p_iE_Extensions := * + ) := { + mdt_Activation := p_mdt_Activation, + areaScopeOfMDT := p_areaScopeOfMDT, + mDTMode := p_mDTMode, + signallingBasedMDTPLMNList := p_signallingBasedMDTPLMNList, + iE_Extensions := p_iE_Extensions + } // End of template mw_mDT_Configuration_EUTRA + + template (present) MDT_Activation mw_mDT_Activation(template (present) MDT_Activation p_value := ?) := p_value; + + template (present) MDTModeNr mw_mDTModeNro_immediateMDTNr( + template (present) ImmediateMDTNr p_immediateMDTNr := ? + ) := { + immediateMDTNr := p_immediateMDTNr + } // End of template mw_mDTModeNr_immediateMDTNr + + template (present) MDTModeNr mw_mDTModeNro_loggedMDTNr( + template (present) LoggedMDTNr p_loggedMDTNr := ? + ) := { + loggedMDTNr := p_loggedMDTNr + } // End of template mw_mDTModeNr_loggedMDTNr + + template (present) MDTModeNr mw_mDTModeNr_choice_Extensions( + template (present) MDTModeNr.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_mDTModeNr_choice_Extensions + + template (present) MulticastSessionActivationRequestTransfer mw_multicastSessionActivationRequestTransfer( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MulticastSessionActivationRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + iE_Extensions := p_iE_Extensions + } // End of template mw_multicastSessionActivationRequestTransfer + + template (present) MulticastSessionDeactivationRequestTransfer mw_multicastSessionDeactivationRequestTransfer( + template (present) MBS_SessionID p_mBS_SessionID := ?, + template MulticastSessionDeactivationRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + mBS_SessionID := p_mBS_SessionID, + iE_Extensions := p_iE_Extensions + } // End of template mw_multicastSessionDeactivationRequestTransfer + + template (present) MulticastSessionUpdateRequestTransfer mw_multicastSessionUpdateRequestTransfer( + template (present) MulticastSessionUpdateRequestTransfer.protocolIEs p_protocolIEs := ? + ) := { + protocolIEs := p_protocolIEs + } // End of template mw_multicastSessionUpdateRequestTransfer + + template (present) MulticastSessionUpdateRequestTransfer.protocolIEs mw_multicastSessionUpdateRequestTransfer_id_MBS_SessionID( + template (present) MBS_SessionID p_mBS_SessionID := ? + ) := { + { + id := id_MBS_SessionID, + criticality := reject, + value_ := { MBS_SessionID := p_mBS_SessionID } + } + } // End of template mw_multicastSessionUpdateRequestTransfer_id_MBS_SessionID + + template (present) MulticastSessionUpdateRequestTransfer.protocolIEs mw_multicastSessionUpdateRequestTransfer_id_MBS_ServiceArea( + template (present) MBS_ServiceArea p_mBS_ServiceArea := ? + ) := { + { + id := id_MBS_ServiceArea, + criticality := reject, + value_ := { MBS_ServiceArea := p_mBS_ServiceArea } + } + } // End of template mw_multicastSessionUpdateRequestTransfer_id_MBS_ServiceArea + + template (present) MulticastSessionUpdateRequestTransfer.protocolIEs mw_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowsToBeSetupModList( + template (present) MBS_QoSFlowsToBeSetupList p_mBS_QoSFlowsToBeSetupList := ? + ) := { + { + id := id_MBS_QoSFlowsToBeSetupModList, + criticality := reject, + value_ := { MBS_QoSFlowsToBeSetupList := p_mBS_QoSFlowsToBeSetupList } + } + } // End of template mw_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowsToBeSetupModList + + template (present) MulticastSessionUpdateRequestTransfer.protocolIEs mw_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowToReleaseList( + template (present) QosFlowListWithCause p_qosFlowListWithCause := ? + ) := { + { + id := id_MBS_QoSFlowToReleaseList, + criticality := reject, + value_ := { QosFlowListWithCause := p_qosFlowListWithCause } + } + } // End of template mw_multicastSessionUpdateRequestTransfer_id_MBS_QoSFlowToReleaseList + + template (present) MulticastSessionUpdateRequestTransfer.protocolIEs mw_multicastSessionUpdateRequestTransfer_id_MBS_SessionTNLInfo5GC( + template (present) MBS_SessionTNLInfo5GC p_mBS_SessionTNLInfo5GC := ? + ) := { + { + id := id_MBS_SessionTNLInfo5GC, + criticality := reject, + value_ := { MBS_SessionTNLInfo5GC := p_mBS_SessionTNLInfo5GC } + } + } // End of template mw_multicastSessionUpdateRequestTransfer_id_MBS_SessionTNLInfo5GC + + template (present) MulticastGroupPagingAreaItem mw_multicastGroupPagingAreaItem( + template (present) MulticastGroupPagingArea p_multicastGroupPagingArea := ?, + template UE_PagingList p_uE_PagingList := *, + template MulticastGroupPagingAreaItem.iE_Extensions p_iE_Extensions := * + ) := { + multicastGroupPagingArea := p_multicastGroupPagingArea, + uE_PagingList := p_uE_PagingList, + iE_Extensions := p_iE_Extensions + } // End of template mw_multicastGroupPagingAreaItem + + template (present) MulticastGroupPagingArea mw_multicastGroupPagingArea( + template (present) MBS_AreaTAIList p_mBS_AreaTAIList := ?, + template MulticastGroupPagingArea.iE_Extensions p_iE_Extensions := * + ) := { + mBS_AreaTAIList := p_mBS_AreaTAIList, + iE_Extensions := p_iE_Extensions + } // End of template mw_multicastGroupPagingArea + + template (present) UE_PagingItem mw_uE_PagingItem( + template (present) UEIdentityIndexValue p_uEIdentityIndexValue := ?, + template PagingDRX p_pagingDRX := *, + template UE_PagingItem.iE_Extensions p_iE_Extensions := * + ) := { + uEIdentityIndexValue := p_uEIdentityIndexValue, + pagingDRX := p_pagingDRX, + iE_Extensions := p_iE_Extensions + } // End of template mw_uE_PagingItem + + template (present) M1Configuration mw_m1Configuration( + template (present) M1ReportingTrigger p_m1reportingTrigger := ?, + template M1ThresholdEventA2 p_m1thresholdEventA2 := *, + template M1PeriodicReporting p_m1periodicReporting := *, + template M1Configuration.iE_Extensions p_iE_Extensions := * + ) := { + m1reportingTrigger := p_m1reportingTrigger, + m1thresholdEventA2 := p_m1thresholdEventA2, + // The above IE shall be present if the M1 Reporting Trigger IE is set to “A2event_triggered” or “A2event_triggered periodic” + m1periodicReporting := p_m1periodicReporting, + // The above IE shall be present if the M1 Reporting Trigger IE is set to “periodic” or “A2event_triggered periodic” + iE_Extensions := p_iE_Extensions + } // End of template mw_m1Configuration + + template (present) M1Configuration.iE_Extensions mw_m1Configuration_id_IncludeBeamMeasurementsIndication( + template (present) IncludeBeamMeasurementsIndication p_includeBeamMeasurementsIndication := ? + ) := { + { + id := id_IncludeBeamMeasurementsIndication, + criticality := ignore, + extensionValue := { IncludeBeamMeasurementsIndication := p_includeBeamMeasurementsIndication } + } + } // End of template mw_m1Configuration_id_IncludeBeamMeasurementsIndication + + template (present) M1Configuration.iE_Extensions mw_m1Configuration_id_BeamMeasurementsReportConfiguration( + template (present) BeamMeasurementsReportConfiguration p_beamMeasurementsReportConfiguration := ? + ) := { + { + id := id_BeamMeasurementsReportConfiguration, + criticality := ignore, + extensionValue := { BeamMeasurementsReportConfiguration := p_beamMeasurementsReportConfiguration } + } + } // End of template mw_m1Configuration_id_BeamMeasurementsReportConfiguration + + template (present) IncludeBeamMeasurementsIndication mw_includeBeamMeasurementsIndication(template (present) IncludeBeamMeasurementsIndication p_value := true_) := p_value; + + template (present) M1ReportingTrigger mw_m1ReportingTrigger(template (present) M1ReportingTrigger p_value := ?) := p_value; + + template (present) M1ThresholdEventA2 mw_m1ThresholdEventA2( + template (present) M1ThresholdType p_m1ThresholdType := ?, + template M1ThresholdEventA2.iE_Extensions p_iE_Extensions := * + ) := { + m1ThresholdType := p_m1ThresholdType, + iE_Extensions := p_iE_Extensions + } // End of template mw_m1ThresholdEventA2 + + template (present) M1ThresholdType mw_m1ThresholdType_threshold_RSRP( + template (present) Threshold_RSRP p_threshold_RSRP := ? + ) := { + threshold_RSRP := p_threshold_RSRP + } // End of template mw_m1ThresholdType_threshold_RSRP + + template (present) M1ThresholdType mw_m1ThresholdType_threshold_RSRQ( + template (present) Threshold_RSRQ p_threshold_RSRQ := ? + ) := { + threshold_RSRQ := p_threshold_RSRQ + } // End of template mw_m1ThresholdType_threshold_RSRQ + + template (present) M1ThresholdType mw_m1ThresholdType_threshold_SINR( + template (present) Threshold_SINR p_threshold_SINR := ? + ) := { + threshold_SINR := p_threshold_SINR + } // End of template mw_m1ThresholdType_threshold_SINR + + template (present) M1ThresholdType mw_m1ThresholdType_choice_Extensions( + template (present) M1ThresholdType.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_m1ThresholdType_choice_Extensions + + template (present) M1PeriodicReporting mw_m1PeriodicReporting( + template (present) ReportIntervalMDT p_reportInterval := ?, + template (present) ReportAmountMDT p_reportAmount := ?, + template M1PeriodicReporting.iE_Extensions p_iE_Extensions := * + ) := { + reportInterval := p_reportInterval, + reportAmount := p_reportAmount, + iE_Extensions := p_iE_Extensions + } // End of template mw_m1PeriodicReporting + + template (present) M1PeriodicReporting.iE_Extensions mw_m1PeriodicReporting_id_ExtendedReportIntervalMDT( + template (present) ExtendedReportIntervalMDT p_extendedReportIntervalMDT := ? + ) := { + { + id := id_ExtendedReportIntervalMDT, + criticality := ignore, + extensionValue := { ExtendedReportIntervalMDT := p_extendedReportIntervalMDT } + } + } // End of template mw_m1PeriodicReporting_id_ExtendedReportIntervalMDT + + template (present) M4Configuration mw_m4Configuration( + template (present) M4period p_m4period := ?, + template (present) Links_to_log p_m4_links_to_log := ?, + template M4Configuration.iE_Extensions p_iE_Extensions := * + ) := { + m4period := p_m4period, + m4_links_to_log := p_m4_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template mw_m4Configuration + + template (present) M4Configuration.iE_Extensions mw_m4Configuration_id_M4ReportAmount( + template (present) M4ReportAmountMDT p_m4ReportAmountMDT := ? + ) := { + { + id := id_ExtendedReportIntervalMDT, + criticality := ignore, + extensionValue := { M4ReportAmountMDT := p_m4ReportAmountMDT } + } + } // End of template mw_m4Configuration_id_M4ReportAmount + + template (present) M4ReportAmountMDT mw_m4ReportAmountMDT(template (present) M4ReportAmountMDT p_value := ?) := p_value; + + template (present) M4period mw_m4period(template (present) M4period p_value := ?) := p_value; + + template (present) M5Configuration mw_m5Configuration( + template (present) M5period p_m5period := ?, + template (present) Links_to_log p_m5_links_to_log := ?, + template M5Configuration.iE_Extensions p_iE_Extensions := * + ) := { + m5period := p_m5period, + m5_links_to_log := p_m5_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template mw_m5Configuration + + template (present) M5Configuration.iE_Extensions mw_m5Configuration_id_M5ReportAmount( + template (present) M5ReportAmountMDT p_m5ReportAmountMDT := ? + ) := { + { + id := id_M5ReportAmount, + criticality := ignore, + extensionValue := { M5ReportAmountMDT := p_m5ReportAmountMDT } + } + } // End of template mw_m5Configuration_id_M5ReportAmount + + template (present) M5ReportAmountMDT mw_m5ReportAmountMDT(template (present) M5ReportAmountMDT p_value := ?) := p_value; + + template (present) M5period mw_m5period(template (present) M5period p_value := ?) := p_value; + + template (present) M6Configuration mw_m6Configuration( + template (present) M6report_Interval p_m6report_Interval := ?, + template (present) Links_to_log p_m6_links_to_log := ?, + template M6Configuration.iE_Extensions p_iE_Extensions := * + ) := { + m6report_Interval := p_m6report_Interval, + m6_links_to_log := p_m6_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template mw_m6Configuration + + template (present) M6Configuration.iE_Extensions mw_m6Configuration_id_M6ReportAmount( + template (present) M6ReportAmountMDT p_m6ReportAmountMDT := ? + ) := { + { + id := id_M6ReportAmount, + criticality := ignore, + extensionValue := { M6ReportAmountMDT := p_m6ReportAmountMDT } + } + } // End of template mw_m6Configuration_id_M6ReportAmount + + template (present) M6Configuration.iE_Extensions mw_m6Configuration_id_ExcessPacketDelayThresholdConfiguration( + template (present) ExcessPacketDelayThresholdConfiguration p_excessPacketDelayThresholdConfiguration := ? + ) := { + { + id := id_ExcessPacketDelayThresholdConfiguration, + criticality := ignore, + extensionValue := { ExcessPacketDelayThresholdConfiguration := p_excessPacketDelayThresholdConfiguration } + } + } // End of template mw_m6Configuration_id_ExcessPacketDelayThresholdConfiguration + + template (present) M6ReportAmountMDT mw_m6ReportAmountMDT(template (present) M6ReportAmountMDT p_value := ?) := p_value; + + template (present) M6report_Interval mw_m6report_Interval(template (present) M6report_Interval p_value := ?) := p_value; + + template (present) M7Configuration mw_m7Configuration( + template (present) M7period p_m7period := ?, + template (present) Links_to_log p_m7_links_to_log := ?, + template M7Configuration.iE_Extensions p_iE_Extensions := * + ) := { + m7period := p_m7period, + m7_links_to_log := p_m7_links_to_log, + iE_Extensions := p_iE_Extensions + } // End of template mw_m7Configuration + + template (present) M7Configuration.iE_Extensions mw_m7Configuration_id_M7ReportAmount( + template (present) M7ReportAmountMDT p_m7ReportAmountMDT := ? + ) := { + { + id := id_M7ReportAmount, + criticality := ignore, + extensionValue := { M7ReportAmountMDT := p_m7ReportAmountMDT } + } + } // End of template mw_m7Configuration_id_M7ReportAmount + + template (present) M7ReportAmountMDT mw_m7ReportAmountMDT(template (present) M7ReportAmountMDT p_value := ?) := p_value; + + template (present) MDT_Location_Info mw_mDT_Location_Info( + template (present) MDT_Location_Information p_mDT_Location_Information := ?, + template MDT_Location_Info.iE_Extensions p_iE_Extensions := * + ) := { + mDT_Location_Information := p_mDT_Location_Information, + iE_Extensions := p_iE_Extensions + } // End of template mw_mDT_Location_Info + + template (present) N3IWF_ID mw_n3IWF_ID_n3IWF_ID( + template (present) N3IWF_ID.n3IWF_ID p_n3IWF_ID := ? + ) := { + n3IWF_ID := p_n3IWF_ID + } // End of template mw_n3IWF_ID_n3IWF_ID + + template (present) N3IWF_ID mw_n3IWF_ID_choice_Extensions( + template (present) N3IWF_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_n3IWF_ID_choice_Extensions + + template (present) NB_IoT_DefaultPagingDRX mw_nB_IoT_DefaultPagingDRX(template (present) NB_IoT_DefaultPagingDRX p_value := ?) := p_value; + + template (present) NB_IoT_PagingDRX mw_nB_IoT_PagingDRX(template (present) NB_IoT_PagingDRX p_value := ?) := p_value; + + template (present) NB_IoT_Paging_eDRXCycle mw_nB_IoT_Paging_eDRXCycle(template (present) NB_IoT_Paging_eDRXCycle p_value := ?) := p_value; + + template (present) NB_IoT_Paging_TimeWindow mw_nB_IoT_Paging_TimeWindow(template (present) NB_IoT_Paging_TimeWindow p_value := ?) := p_value; + + template (present) NB_IoT_Paging_eDRXInfo mw_nB_IoT_Paging_eDRXInfo( + template (present) NB_IoT_Paging_eDRXCycle p_nB_IoT_Paging_eDRXCycle := ?, + template NB_IoT_Paging_TimeWindow p_nB_IoT_Paging_TimeWindow := *, + template NB_IoT_Paging_eDRXInfo.iE_Extensions p_iE_Extensions := * + ) := { + nB_IoT_Paging_eDRXCycle := p_nB_IoT_Paging_eDRXCycle, + nB_IoT_Paging_TimeWindow := p_nB_IoT_Paging_TimeWindow, + iE_Extensions := p_iE_Extensions + } // End of template mw_nB_IoT_Paging_eDRXInfo + + template (present) NewSecurityContextInd mw_newSecurityContextInd(template (present) NewSecurityContextInd p_value := true_) := p_value; + + template (present) NextPagingAreaScope mw_nextPagingAreaScope(template (present) NextPagingAreaScope p_value := ?) := p_value; + + template (present) NGAPIESupportInformationRequestItem mw_nGAPIESupportInformationRequestItem( + template (present) ProtocolIE_ID p_ngap_ProtocolIE_Id := ?, + template NGAPIESupportInformationRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + ngap_ProtocolIE_Id := p_ngap_ProtocolIE_Id, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGAPIESupportInformationRequestItem + + template (present) NGAPIESupportInformationResponseItem mw_nGAPIESupportInformationResponseItem( + template (present) ProtocolIE_ID p_ngap_ProtocolIE_Id := ?, + template (present) NGAPIESupportInformationResponseItem.ngap_ProtocolIESupportInfo p_ngap_ProtocolIESupportInfo := ?, + template (present) NGAPIESupportInformationResponseItem.ngap_ProtocolIEPresenceInfo p_ngap_ProtocolIEPresenceInfo := ?, + template NGAPIESupportInformationResponseItem.iE_Extensions p_iE_Extensions := * + ) := { + ngap_ProtocolIE_Id := p_ngap_ProtocolIE_Id, + ngap_ProtocolIESupportInfo := p_ngap_ProtocolIESupportInfo, + ngap_ProtocolIEPresenceInfo := p_ngap_ProtocolIEPresenceInfo, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGAPIESupportInformationResponseItem + + template (present) NgENB_ID mw_ngENB_ID_macroNgENB_ID( + template (present) NgENB_ID.macroNgENB_ID p_macroNgENB_ID := ? + ) := { + macroNgENB_ID := p_macroNgENB_ID + } // End of template mw_ngENB_ID_macroNgENB_ID + + template (present) NgENB_ID mw_ngENB_ID_shortMacroNgENB_ID( + template (present) NgENB_ID.shortMacroNgENB_ID p_shortMacroNgENB_ID := ? + ) := { + shortMacroNgENB_ID := p_shortMacroNgENB_ID + } // End of template mw_ngENB_ID_shortMacroNgENB_ID + + template (present) NgENB_ID mw_ngENB_ID_longMacroNgENB_ID( + template (present) NgENB_ID.longMacroNgENB_ID p_longMacroNgENB_ID := ? + ) := { + longMacroNgENB_ID := p_longMacroNgENB_ID + } // End of template mw_ngENB_ID_longMacroNgENB_ID + + template (present) NgENB_ID mw_ngENB_ID_choice_Extensions( + template (present) NgENB_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_ngENB_ID_choice_Extensions + + template (present) NotifySourceNGRANNode mw_notifySourceNGRANNode(template (present) NotifySourceNGRANNode p_value := ?) := p_value; + + template (present) NGRAN_CGI mw_ngENB_ID_nR_CGI( + template (present) NR_CGI p_nR_CGI + ) := { + nR_CGI := p_nR_CGI + } // End of template mw_ngENB_ID_nR_CGI + + template (present) NGRAN_CGI mw_ngENB_ID_eUTRA_CGI( + template (present) EUTRA_CGI p_eUTRA_CGI := ? + ) := { + eUTRA_CGI := p_eUTRA_CGI + } // End of template mw_ngENB_ID_eUTRA_CGI + + template (present) NGRAN_CGI mw_nGRAN_CGI_choice_Extensions( + template (present) NGRAN_CGI.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_nGRAN_CGI_choice_Extensions + + template (present) NGRAN_TNLAssociationToRemoveItem mw_nGRAN_TNLAssociationToRemoveItem( + template (present) CPTransportLayerInformation p_tNLAssociationTransportLayerAddress := ?, + template CPTransportLayerInformation p_tNLAssociationTransportLayerAddressAMF := *, + template NGRAN_TNLAssociationToRemoveItem.iE_Extensions p_iE_Extensions := * + ) := { + tNLAssociationTransportLayerAddress := p_tNLAssociationTransportLayerAddress, + tNLAssociationTransportLayerAddressAMF := p_tNLAssociationTransportLayerAddressAMF, + iE_Extensions := p_iE_Extensions + } // End of template mw_nGRAN_TNLAssociationToRemoveItem + + template (present) NonDynamic5QIDescriptor mw_nonDynamic5QIDescriptor( + template (present) FiveQI p_fiveQI := ?, + template PriorityLevelQos p_priorityLevelQos := *, + template AveragingWindow p_averagingWindow := *, + template MaximumDataBurstVolume p_maximumDataBurstVolume := *, + template NonDynamic5QIDescriptor.iE_Extensions p_iE_Extensions := * + ) := { + fiveQI := p_fiveQI, + priorityLevelQos := p_priorityLevelQos, + averagingWindow := p_averagingWindow, + maximumDataBurstVolume := p_maximumDataBurstVolume, + iE_Extensions := p_iE_Extensions + } // End of template mw_nonDynamic5QIDescriptor + + template (present) NonDynamic5QIDescriptor.iE_Extensions mw_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetDL( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_CNPacketDelayBudgetDL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetDL + + template (present) NonDynamic5QIDescriptor.iE_Extensions mw_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetUL( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_CNPacketDelayBudgetUL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_nonDynamic5QIDescriptor_id_CNPacketDelayBudgetUL + + template (present) NotificationCause mw_notificationCause(template (present) NotificationCause p_value := ?) := p_value; + + template (present) NotificationControl mw_notificationControl(template (present) NotificationControl p_value := ?) := p_value; + + template (present) NPN_AccessInformation mw_nPN_AccessInformation_pNI_NPN_Access_Information( + template (present) CellCAGList p_pNI_NPN_Access_Information := ? + ) := { + pNI_NPN_Access_Information := p_pNI_NPN_Access_Information + } // End of template mw_nPN_AccessInformation_pNI_NPN_Access_Information + + template (present) NPN_AccessInformation mw_nPN_AccessInformation_choice_Extensions( + template (present) NPN_AccessInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_nPN_AccessInformation_choice_Extensions + + template (present) NPN_MobilityInformation mw_nPN_MobilityInformation_sNPN_MobilityInformation( + template (present) SNPN_MobilityInformation p_sNPN_MobilityInformation := ? + ) := { + sNPN_MobilityInformation := p_sNPN_MobilityInformation + } // End of template mw_nPN_MobilityInformation_sNPN_MobilityInformation + + template (present) NPN_MobilityInformation mw_nPN_MobilityInformation_pNI_NPN_MobilityInformation( + template (present) PNI_NPN_MobilityInformation p_pNI_NPN_MobilityInformation := ? + ) := { + pNI_NPN_MobilityInformation := p_pNI_NPN_MobilityInformation + } // End of template mw_nPN_MobilityInformation_pNI_NPN_MobilityInformation + + template (present) NPN_MobilityInformation mw_nPN_MobilityInformation_choice_Extensions( + template (present) NPN_MobilityInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_nPN_MobilityInformation_choice_Extensions + + template (present) NPN_PagingAssistanceInformation mw_nPN_PagingAssistanceInformation_pNI_NPN_PagingAssistance( + template (present) Allowed_PNI_NPN_List p_pNI_NPN_PagingAssistance := ? + ) := { + pNI_NPN_PagingAssistance := p_pNI_NPN_PagingAssistance + } // End of template mw_nPN_PagingAssistanceInformation_pNI_NPN_PagingAssistance + + template (present) NPN_PagingAssistanceInformation mw_nPN_PagingAssistanceInformation_choice_Extensions( + template (present) NPN_PagingAssistanceInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_nPN_PagingAssistanceInformation_choice_Extensions + + template (present) NPN_Support mw_nPN_Support_sNPN( + template (present) NID p_sNPN := ? + ) := { + sNPN := p_sNPN + } // End of template mw_nPN_Support_sNPN + + template (present) NPN_Support mw_nPN_Support_choice_Extensions( + template (present) NPN_Support.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_nPN_Support_choice_Extensions + + template (present) NR_CGI mw_nR_CGI( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) NRCellIdentity p_nRCellIdentity := ?, + template NR_CGI.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + nRCellIdentity := p_nRCellIdentity, + iE_Extensions := p_iE_Extensions + } // End of template mw_nR_CGI + + template (present) NR_PagingeDRXInformation mw_NR_PagingeDRXInformation( + template (present) NR_Paging_eDRX_Cycle p_nR_paging_eDRX_Cycle := ?, + template NR_Paging_Time_Window p_nR_paging_Time_Window := *, + template NR_PagingeDRXInformation.iE_Extensions p_iE_Extensions := * + ) := { + nR_paging_eDRX_Cycle := p_nR_paging_eDRX_Cycle, + nR_paging_Time_Window := p_nR_paging_Time_Window, + iE_Extensions := p_iE_Extensions + } // End of template mw_NR_PagingeDRXInformation + + template (present) NR_Paging_eDRX_Cycle mw_nR_Paging_eDRX_Cycle(template (present) NR_Paging_eDRX_Cycle p_value := ?) := p_value; + + template (present) NR_Paging_Time_Window mw_nR_Paging_Time_Window(template (present) NR_Paging_Time_Window p_value := ?) := p_value; + + template (present) NRNTNTAIInformation mw_nRNTNTAIInformation( + template (present) PLMNIdentity p_servingPLMN := ?, + template (present) TACListInNRNTN p_tACListInNRNTN := ?, + template TAC p_uELocationDerivedTACInNRNTN := *, + template NRNTNTAIInformation.iE_Extensions p_iE_Extensions := * + ) := { + servingPLMN := p_servingPLMN, + tACListInNRNTN := p_tACListInNRNTN, + uELocationDerivedTACInNRNTN := p_uELocationDerivedTACInNRNTN, + iE_Extensions := p_iE_Extensions + } // End of template mw_nRNTNTAIInformation + + template (present) NRFrequencyBandItem mw_nRFrequencyBandItem( + template (present) NRFrequencyBand p_nr_frequency_band := ?, + template NRFrequencyBandItem.iE_Extension p_iE_Extension := * + ) := { + nr_frequency_band := p_nr_frequency_band, + iE_Extension := p_iE_Extension + } // End of template mw_nRFrequencyBandItem + + template (present) NRFrequencyInfo mw_nRFrequencyInfo( + template (present) NRARFCN p_nrARFCN := ?, + template (present) NRFrequencyBand_List p_frequencyBand_List, + template NRFrequencyInfo.iE_Extension p_iE_Extension := * + ) := { + nrARFCN := p_nrARFCN, + frequencyBand_List := p_frequencyBand_List, + iE_Extension := p_iE_Extension + } // End of template mw_nRFrequencyInfo + + template (present) NRV2XServicesAuthorized mw_nRV2XServicesAuthorized( + template VehicleUE p_vehicleUE := *, + template PedestrianUE p_pedestrianUE := *, + template NRV2XServicesAuthorized.iE_Extensions p_iE_Extensions := * + ) := { + vehicleUE := p_vehicleUE, + pedestrianUE := p_pedestrianUE, + iE_Extensions := p_iE_Extensions + } // End of template mw_nRV2XServicesAuthorized + + template (present) VehicleUE mw_vehicleUE(template (present) VehicleUE p_value := ?) := p_value; + + template (present) PedestrianUE mw_pedestrianUE(template (present) PedestrianUE p_value := ?) := p_value; + + template (present) NRUESidelinkAggregateMaximumBitrate mw_nRUESidelinkAggregateMaximumBitrate( + template (present) BitRate p_uESidelinkAggregateMaximumBitRate := ?, + template NRUESidelinkAggregateMaximumBitrate.iE_Extensions p_iE_Extensions := * + ) := { + uESidelinkAggregateMaximumBitRate := p_uESidelinkAggregateMaximumBitRate, + iE_Extensions := p_iE_Extensions + } // End of template mw_nRUESidelinkAggregateMaximumBitrate + + template (present) OnboardingSupport mw_onboardingSupport(template (present) OnboardingSupport p_value := true_) := p_value; + + template (present) OverloadAction mw_overloadAction(template (present) OverloadAction p_value := ?) := p_value; + + template (present) OverloadResponse mw_overloadResponse_overloadAction( + template (present) OverloadAction p_overloadAction := ? + ) := { + overloadAction := p_overloadAction + } // End of template mw_overloadResponse_overloadAction + + template (present) OverloadResponse mw_overloadResponse_choice_Extensions( + template (present) OverloadResponse.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_overloadResponse_choice_Extensions + + + template (present) OverloadStartNSSAIItem mw_overloadStartNSSAIItem( + template (present) SliceOverloadList p_sliceOverloadList := ?, + template OverloadResponse p_sliceOverloadResponse := *, + template TrafficLoadReductionIndication p_sliceTrafficLoadReductionIndication := *, + template OverloadStartNSSAIItem.iE_Extensions p_iE_Extensions := * + ) := { + sliceOverloadList := p_sliceOverloadList, + sliceOverloadResponse := p_sliceOverloadResponse, + sliceTrafficLoadReductionIndication := p_sliceTrafficLoadReductionIndication, + iE_Extensions := p_iE_Extensions + } // End of template mw_overloadStartNSSAIItem + + template (present) PacketErrorRate mw_PacketErrorRate( + template (present) PacketErrorRate.pERScalar p_pERScalar := ?, + template (present) PacketErrorRate.pERExponent p_pERExponent := ?, + template PacketErrorRate.iE_Extensions p_iE_Extensions := * + ) := { + pERScalar := p_pERScalar, + pERExponent := p_pERExponent, + iE_Extensions := p_iE_Extensions + } // End of template mw_PacketErrorRate + + template (present) PagingAssisDataforCEcapabUE mw_pagingAssisDataforCEcapabUE( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template (present) CoverageEnhancementLevel p_coverageEnhancementLevel := ?, + template PagingAssisDataforCEcapabUE.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + coverageEnhancementLevel := p_coverageEnhancementLevel, + iE_Extensions := p_iE_Extensions + } // End of template mw_pagingAssisDataforCEcapabUE + + template (present) PagingAttemptInformation mw_pagingAttemptInformation( + template (present) PagingAttemptCount p_pagingAttemptCount := ?, + template (present) IntendedNumberOfPagingAttempts p_intendedNumberOfPagingAttempts := ?, + template NextPagingAreaScope p_nextPagingAreaScope := *, + template PagingAttemptInformation.iE_Extensions p_iE_Extensions := * + ) := { + pagingAttemptCount := p_pagingAttemptCount, + intendedNumberOfPagingAttempts := p_intendedNumberOfPagingAttempts, + nextPagingAreaScope := p_nextPagingAreaScope, + iE_Extensions := p_iE_Extensions + } // End of template mw_pagingAttemptInformation + + template (present) PagingCause mw_pagingCause(template (present) PagingCause p_value := voice) := p_value; + + template (present) PagingCauseIndicationForVoiceService mw_pagingCauseIndicationForVoiceService(template (present) PagingCauseIndicationForVoiceService p_value := ?) := p_value; + + template (present) PagingDRX mw_pagingDRX(template (present) PagingDRX p_value := ?) := p_value; + + template (present) PagingOrigin mw_pagingOrigin(template (present) PagingOrigin p_value := ?) := p_value; + + template (present) PagingPriority mw_pagingPriority(template (present) PagingPriority p_value := ?) := p_value; + + template (present) PagingProbabilityInformation mw_pagingProbabilityInformation(template (present) PagingProbabilityInformation p_value := ?) := p_value; + + template PathSwitchRequestAcknowledgeTransfer mw_PathSwitchRequestAcknowledgeTransfer( + template UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := *, + template SecurityIndication p_securityIndication := *, + template PathSwitchRequestAcknowledgeTransfer.iE_Extensions p_iE_Extensions := * + ) := { + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + securityIndication := p_securityIndication, + iE_Extensions := p_iE_Extensions + } // End of template mw_PathSwitchRequestAcknowledgeTransfer + + template (present) PathSwitchRequestAcknowledgeTransfer.iE_Extensions mw_pathSwitchRequestAcknowledgeTransfer_id_AdditionalNGU_UP_TNLInformation( + template (present) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList := ? + ) := { + { + id := id_AdditionalNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template mw_pathSwitchRequestAcknowledgeTransfer_id_AdditionalNGU_UP_TNLInformation + + template (present) PathSwitchRequestAcknowledgeTransfer.iE_Extensions mw_pathSwitchRequestAcknowledgeTransfer_id_RedundantUL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pathSwitchRequestAcknowledgeTransfer_id_RedundantUL_NGU_UP_TNLInformation + + template (present) PathSwitchRequestAcknowledgeTransfer.iE_Extensions mw_pathSwitchRequestAcknowledgeTransfer_id_AdditionalRedundantNGU_UP_TNLInformation( + template (present) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList := ? + ) := { + { + id := id_AdditionalRedundantNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template mw_pathSwitchRequestAcknowledgeTransfer_id_AdditionalRedundantNGU_UP_TNLInformation + + template (present) PathSwitchRequestAcknowledgeTransfer.iE_Extensions mw_pathSwitchRequestAcknowledgeTransfer_id_QosFlowParametersList( + template (present) QosFlowParametersList p_qosFlowParametersList := ? + ) := { + { + id := id_QosFlowParametersList, + criticality := ignore, + extensionValue := { QosFlowParametersList := p_qosFlowParametersList } + } + } // End of template mw_pathSwitchRequestAcknowledgeTransfer_id_QosFlowParametersList + + template (present) PathSwitchRequestSetupFailedTransfer mw_pathSwitchRequestSetupFailedTransfer( + template (present) Cause p_cause := ?, + template PathSwitchRequestSetupFailedTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pathSwitchRequestSetupFailedTransfer + + template (present) PathSwitchRequestTransfer mw_pathSwitchRequestTransfer( + template (present) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := ?, + template (present) QosFlowAcceptedList p_qosFlowAcceptedList := ?, + template DL_NGU_TNLInformationReused p_dL_NGU_TNLInformationReused := *, + template UserPlaneSecurityInformation p_userPlaneSecurityInformation := *, + template PathSwitchRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + dL_NGU_TNLInformationReused := p_dL_NGU_TNLInformationReused, + userPlaneSecurityInformation := p_userPlaneSecurityInformation, + qosFlowAcceptedList := p_qosFlowAcceptedList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pathSwitchRequestTransfer + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransferr_id_AdditionalDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList := ? + ) := { + { + id := id_AdditionalDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template mw_pathSwitchRequestTransferr_id_AdditionalDLQosFlowPerTNLInformation + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransferr_id_RedundantDL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pathSwitchRequestTransferr_id_RedundantDL_NGU_UP_TNLInformation + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransferr_id_RedundantDL_NGU_TNLInformationReused( + template (present) DL_NGU_TNLInformationReused p_dL_NGU_TNLInformationReused := ? + ) := { + { + id := id_RedundantDL_NGU_TNLInformationReused, + criticality := ignore, + extensionValue := { DL_NGU_TNLInformationReused := p_dL_NGU_TNLInformationReused } + } + } // End of template mw_pathSwitchRequestTransferr_id_RedundantDL_NGU_TNLInformationReused + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransferr_id_AdditionalRedundantDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList := ? + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template mw_pathSwitchRequestTransferr_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransferr_id_UsedRSNInformation( + template (present) RedundantPDUSessionInformation p_redundantPDUSessionInformation := ? + ) := { + { + id := id_UsedRSNInformation, + criticality := ignore, + extensionValue := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template mw_pathSwitchRequestTransferr_id_UsedRSNInformation + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransferr_id_GlobalRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template mw_pathSwitchRequestTransferr_id_GlobalRANNodeID + + template (present) PathSwitchRequestTransfer.iE_Extensions mw_pathSwitchRequestTransfer_id_MBS_SupportIndicator( + template (present) MBS_SupportIndicator p_mBS_SupportIndicator := ? + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template mw_pathSwitchRequestTransfer_id_MBS_SupportIndicator + + template (present) PathSwitchRequestUnsuccessfulTransfer mw_pathSwitchRequestUnsuccessfulTransfer( + template (present) Cause p_cause := ?, + template PathSwitchRequestUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pathSwitchRequestUnsuccessfulTransfer + + template (present) PC5QoSParameters mw_pC5QoSParameters( + template (present) PC5QoSFlowList p_pc5QoSFlowList := ?, + template BitRate p_pc5LinkAggregateBitRates := *, + template PC5QoSParameters.iE_Extensions p_iE_Extensions := * + ) := { + pc5QoSFlowList := p_pc5QoSFlowList, + pc5LinkAggregateBitRates := p_pc5LinkAggregateBitRates, + iE_Extensions := p_iE_Extensions + } // End of template mw_pC5QoSParameters + + template (present) PC5QoSFlowItem mw_pC5QoSFlowItem( + template (present) FiveQI p_pQI := ?, + template PC5FlowBitRates p_pc5FlowBitRates := *, + template Range p_range := *, + template PC5QoSFlowItem.iE_Extensions p_iE_Extensions := * + ) := { + pQI := p_pQI, + pc5FlowBitRates := p_pc5FlowBitRates, + range := p_range, + iE_Extensions := p_iE_Extensions + } // End of template mw_pC5QoSFlowItem + + template (present) PC5FlowBitRates mw_pC5FlowBitRates( + template (present) BitRate p_guaranteedFlowBitRate := ?, + template (present) BitRate p_maximumFlowBitRate := ?, + template PC5FlowBitRates.iE_Extensions p_iE_Extensions := * + ) := { + guaranteedFlowBitRate := p_guaranteedFlowBitRate, + maximumFlowBitRate := p_maximumFlowBitRate, + iE_Extensions := p_iE_Extensions + } // End of template mw_pC5FlowBitRates + + template (present) PrivacyIndicator mw_privacyIndicator(template (present) PrivacyIndicator p_value := ?) := p_value; + + template (present) PDUSessionAggregateMaximumBitRate mw_pDUSessionAggregateMaximumBitRate( + template (present) BitRate p_pDUSessionAggregateMaximumBitRateDL := ?, + template (present) BitRate p_pDUSessionAggregateMaximumBitRateUL := ?, + template PDUSessionAggregateMaximumBitRate.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionAggregateMaximumBitRateDL := p_pDUSessionAggregateMaximumBitRateDL, + pDUSessionAggregateMaximumBitRateUL := p_pDUSessionAggregateMaximumBitRateUL, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionAggregateMaximumBitRate + + template (present) PDUSessionResourceAdmittedItem mw_pDUSessionResourceAdmittedItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceAdmittedItem.handoverRequestAcknowledgeTransfer p_handoverRequestAcknowledgeTransfer := ?, + template PDUSessionResourceAdmittedItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + handoverRequestAcknowledgeTransfer := p_handoverRequestAcknowledgeTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceAdmittedItem + + template (present) PDUSessionResourceFailedToModifyItemModCfm mw_pDUSessionResourceFailedToModifyItemModCfm( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToModifyItemModCfm.pDUSessionResourceModifyIndicationUnsuccessfulTransfer p_pDUSessionResourceModifyIndicationUnsuccessfulTransfer := ?, + template PDUSessionResourceFailedToModifyItemModCfm.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyIndicationUnsuccessfulTransfer := p_pDUSessionResourceModifyIndicationUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToModifyItemModCfm + + template (present) PDUSessionResourceFailedToModifyItemModRes mw_pDUSessionResourceFailedToModifyItemModRes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToModifyItemModRes.pDUSessionResourceModifyUnsuccessfulTransfer p_pDUSessionResourceModifyUnsuccessfulTransfer := ?, + template PDUSessionResourceFailedToModifyItemModRes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyUnsuccessfulTransfer := p_pDUSessionResourceModifyUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToModifyItemModRes + + template (present) PDUSessionResourceFailedToResumeItemRESReq mw_pDUSessionResourceFailedToResumeItemRESReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) Cause p_cause := ?, + template PDUSessionResourceFailedToResumeItemRESReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToResumeItemRESReq + + template (present) PDUSessionResourceFailedToResumeItemRESRes mw_pDUSessionResourceFailedToResumeItemRESRes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) Cause p_cause := ?, + template PDUSessionResourceFailedToResumeItemRESRes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToResumeItemRESRes + + template (present) PDUSessionResourceFailedToSetupItemCxtFail mw_pDUSessionResourceFailedToSetupItemCxtFail( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToSetupItemCxtFail.pDUSessionResourceSetupUnsuccessfulTransfer p_pDUSessionResourceSetupUnsuccessfulTransfer := ?, + template PDUSessionResourceFailedToSetupItemCxtFail.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer := p_pDUSessionResourceSetupUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToSetupItemCxtFail + + template (present) PDUSessionResourceFailedToSetupItemCxtRes mw_pDUSessionResourceFailedToSetupItemCxtRes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToSetupItemCxtRes.pDUSessionResourceSetupUnsuccessfulTransfer p_pDUSessionResourceSetupUnsuccessfulTransfer := ?, + template PDUSessionResourceFailedToSetupItemCxtRes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer := p_pDUSessionResourceSetupUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToSetupItemCxtRes + + template (present) PDUSessionResourceFailedToSetupItemHOAck mw_pDUSessionResourceFailedToSetupItemHOAck( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToSetupItemHOAck.handoverResourceAllocationUnsuccessfulTransfer p_handoverResourceAllocationUnsuccessfulTransfer := ?, + template PDUSessionResourceFailedToSetupItemHOAck.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + handoverResourceAllocationUnsuccessfulTransfer := p_handoverResourceAllocationUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToSetupItemHOAck + + template (present) PDUSessionResourceFailedToSetupItemPSReq mw_pDUSessionResourceFailedToSetupItemPSReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToSetupItemPSReq.pathSwitchRequestSetupFailedTransfer p_pathSwitchRequestSetupFailedTransfer := ?, + template PDUSessionResourceFailedToSetupItemPSReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestSetupFailedTransfer := p_pathSwitchRequestSetupFailedTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToSetupItemPSReq + + template (present) PDUSessionResourceFailedToSetupItemSURes mw_pDUSessionResourceFailedToSetupItemSURes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceFailedToSetupItemSURes.pDUSessionResourceSetupUnsuccessfulTransfer p_pDUSessionResourceSetupUnsuccessfulTransfer := ?, + template PDUSessionResourceFailedToSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer := p_pDUSessionResourceSetupUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceFailedToSetupItemSURes + + template (present) PDUSessionResourceHandoverItem mw_pDUSessionResourceHandoverItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceHandoverItem.handoverCommandTransfer p_handoverCommandTransfer := ?, + template PDUSessionResourceHandoverItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + handoverCommandTransfer := p_handoverCommandTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceHandoverItem + + template (present) PDUSessionResourceInformationItem mw_pDUSessionResourceInformationItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) QosFlowInformationList p_qosFlowInformationList := ?, + template DRBsToQosFlowsMappingList p_dRBsToQosFlowsMappingList := *, + template PDUSessionResourceInformationItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + qosFlowInformationList := p_qosFlowInformationList, + dRBsToQosFlowsMappingList := p_dRBsToQosFlowsMappingList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceInformationItem + + template (present) PDUSessionResourceItemCxtRelCpl mw_pDUSessionResourceItemCxtRelCpl( + template (present) PDUSessionID p_pDUSessionID := ?, + template PDUSessionResourceItemCxtRelCpl.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceItemCxtRelCpl + + template (present) PDUSessionResourceItemCxtRelCpl.iE_Extensions mw_pDUSessionResourceItemCxtRelCpl_id_PDUSessionResourceReleaseResponseTransfer( + template (present) PDUSessionResourceReleaseResponseTransfer_OCTET_STRING p_pDUSessionResourceReleaseResponseTransfer_OCTET_STRING := ? + ) := { + { + id := id_PDUSessionResourceReleaseResponseTransfer, + criticality := ignore, + extensionValue := { PDUSessionResourceReleaseResponseTransfer_OCTET_STRING := p_pDUSessionResourceReleaseResponseTransfer_OCTET_STRING } + } + } // End of template mw_pDUSessionResourceItemCxtRelCpl_id_PDUSessionResourceReleaseResponseTransfer + + template (present) PDUSessionResourceItemCxtRelReq mw_pDUSessionResourceItemCxtRelReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template PDUSessionResourceItemCxtRelReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceItemCxtRelReq + + template (present) PDUSessionResourceItemHORqd mw_pDUSessionResourceItemHORqd( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceItemHORqd.handoverRequiredTransfer p_handoverRequiredTransfer := ?, + template PDUSessionResourceItemHORqd.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + handoverRequiredTransfer := p_handoverRequiredTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceItemHORqd + + template (present) PDUSessionResourceModifyConfirmTransfer mw_pDUSessionResourceModifyConfirmTransfer( + template (present) QosFlowModifyConfirmList p_qosFlowModifyConfirmList := ?, + template (present) UPTransportLayerInformation p_uLNGU_UP_TNLInformation := ?, + template UPTransportLayerInformationPairList p_additionalNG_UUPTNLInformation := *, + template QosFlowListWithCause p_qosFlowFailedToModifyList := *, + template PDUSessionResourceModifyConfirmTransfer.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowModifyConfirmList := p_qosFlowModifyConfirmList, + uLNGU_UP_TNLInformation := p_uLNGU_UP_TNLInformation, + additionalNG_UUPTNLInformation := p_additionalNG_UUPTNLInformation, + qosFlowFailedToModifyList := p_qosFlowFailedToModifyList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyConfirmTransfer + + template (present) PDUSessionResourceModifyConfirmTransfer.iE_Extensions mw_pDUSessionResourceModifyConfirmTransfer_id_RedundantUL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pDUSessionResourceModifyConfirmTransferr_id_RedundantUL_NGU_UP_TNLInformation + + template (present) PDUSessionResourceModifyConfirmTransfer.iE_Extensions mw_pDUSessionResourceModifyConfirmTransfer_id_AdditionalRedundantNGU_UP_TNLInformation( + template (present) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList := ? + ) := { + { + id := id_AdditionalRedundantNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template mw_pDUSessionResourceModifyConfirmTransferr_id_AdditionalRedundantNGU_UP_TNLInformation + + template (present) PDUSessionResourceModifyIndicationUnsuccessfulTransfer mw_pDUSessionResourceModifyIndicationUnsuccessfulTransfer( + template (present) Cause p_cause := ?, + template PDUSessionResourceModifyIndicationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyIndicationUnsuccessfulTransfer + + template (present) PDUSessionResourceModifyRequestTransfer mw_pDUSessionResourceModifyRequestTransfer( + template PDUSessionResourceModifyRequestTransfer.protocolIEs p_protocolIEs := ? + ) := { + protocolIEs := p_protocolIEs + } // End of template mw_pDUSessionResourceModifyRequestTransfer + + template (present) PDUSessionResourceModifyRequestTransfer.protocolIEs mw_pDUSessionResourceModifyRequestTransfer_options( + template (present) UL_NGU_UP_TNLModifyList p_uL_NGU_UP_TNLModifyList := ?, + template (present) QosFlowAddOrModifyRequestList p_qosFlowAddOrModifyRequestList := ? + ) := { + { + id := id_UL_NGU_UP_TNLModifyList, + criticality := reject, + value_ := { UL_NGU_UP_TNLModifyList := p_uL_NGU_UP_TNLModifyList } + }, + { + id := id_QosFlowAddOrModifyRequestList, + criticality := reject, + value_ := { QosFlowAddOrModifyRequestList := p_qosFlowAddOrModifyRequestList } + } + } // End of template mw_pDUSessionResourceModifyRequestTransfer_options + + template PDUSessionResourceModifyResponseTransfer mw_pDUSessionResourceModifyResponseTransfer( + template UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := *, + template UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := *, + template QosFlowAddOrModifyResponseList p_qosFlowAddOrModifyResponseList := *, + template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + template QosFlowListWithCause p_qosFlowFailedToAddOrModifyList := *, + template PDUSessionResourceModifyResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + qosFlowAddOrModifyResponseList := p_qosFlowAddOrModifyResponseList, + additionalDLQosFlowPerTNLInformation := p_additionalDLQosFlowPerTNLInformation, + qosFlowFailedToAddOrModifyList := p_qosFlowFailedToAddOrModifyList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyResponseTransfer + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_AdditionalNGU_UP_TNLInformation( + template (present) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList := ? + ) := { + { + id := id_AdditionalNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_AdditionalNGU_UP_TNLInformation + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_RedundantDL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_RedundantDL_NGU_UP_TNLInformation + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_RedundantUL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_RedundantUL_NGU_UP_TNLInformation + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList := ? + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantNGU_UP_TNLInformation( + template (present) UPTransportLayerInformationPairList p_uPTransportLayerInformationPairList := ? + ) := { + { + id := id_AdditionalRedundantNGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformationPairList := p_uPTransportLayerInformationPairList } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_AdditionalRedundantNGU_UP_TNLInformation + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_SecondaryRATUsageInformation( + template (present) SecondaryRATUsageInformation p_secondaryRATUsageInformation := ? + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_SecondaryRATUsageInformation + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_MBS_SupportIndicator( + template (present) MBS_SupportIndicator p_mBS_SupportIndicator := ? + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_MBS_SupportIndicator + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_MBSSessionSetuporModifyResponseList( + template (present) MBSSessionSetupResponseList p_mBSSessionSetupResponseList := ? + ) := { + { + id := id_MBSSessionSetuporModifyResponseList, + criticality := ignore, + extensionValue := { MBSSessionSetupResponseList := p_mBSSessionSetupResponseList } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_MBSSessionSetuporModifyResponseList + + template (present) PDUSessionResourceModifyResponseTransfer.iE_Extensions mw_pDUSessionResourceModifyResponseTransfer_id_MBSSessionFailedtoSetuporModifyList( + template (present) MBSSessionFailedtoSetupList p_mBSSessionFailedtoSetupList := ? + ) := { + { + id := id_MBSSessionFailedtoSetuporModifyList, + criticality := ignore, + extensionValue := { MBSSessionFailedtoSetupList := p_mBSSessionFailedtoSetupList } + } + } // End of template mw_pDUSessionResourceModifyResponseTransfer_id_MBSSessionFailedtoSetuporModifyList + + template (present) PDUSessionResourceModifyIndicationTransfer mw_pDUSessionResourceModifyIndicationTransfer( + template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * + ) := { + dLQosFlowPerTNLInformation := p_dLQosFlowPerTNLInformation, + additionalDLQosFlowPerTNLInformation := p_additionalDLQosFlowPerTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyIndicationTransfer + + template (present) PDUSessionResourceModifyIndicationTransfer.iE_Extensions mw_pDUSessionResourceModifyIndicationTransfer_id_SecondaryRATUsageInformation( + template (present) SecondaryRATUsageInformation p_secondaryRATUsageInformation := ? + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template mw_pDUSessionResourceModifyIndicationTransfer_id_SecondaryRATUsageInformation + + template (present) PDUSessionResourceModifyIndicationTransfer.iE_Extensions mw_pDUSessionResourceModifyIndicationTransfer_id_SecurityResult( + template (present) SecurityResult p_securityResult := ? + ) := { + { + id := id_SecurityResult, + criticality := ignore, + extensionValue := { SecurityResult := p_securityResult } + } + } // End of template mw_pDUSessionResourceModifyIndicationTransfer_id_SecurityResult + + template (present) PDUSessionResourceModifyIndicationTransfer.iE_Extensions mw_pDUSessionResourceModifyIndicationTransfer_id_RedundantDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformation p_qosFlowPerTNLInformation := ? + ) := { + { + id := id_RedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformation := p_qosFlowPerTNLInformation } + } + } // End of template mw_pDUSessionResourceModifyIndicationTransfer_id_RedundantDLQosFlowPerTNLInformation + + template (present) PDUSessionResourceModifyIndicationTransfer.iE_Extensions mw_pDUSessionResourceModifyIndicationTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList := ? + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template mw_pDUSessionResourceModifyIndicationTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (present) PDUSessionResourceModifyIndicationTransfer.iE_Extensions mw_pDUSessionResourceModifyIndicationTransfer_id_GlobalRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template mw_pDUSessionResourceModifyIndicationTransfer_id_GlobalRANNodeID + + template (present) PDUSessionResourceModifyItemModCfm mw_pDUSessionResourceModifyItemModCfm( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceModifyItemModCfm.pDUSessionResourceModifyConfirmTransfer p_pDUSessionResourceModifyConfirmTransfer := ?, + template PDUSessionResourceModifyItemModCfm.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyConfirmTransfer := p_pDUSessionResourceModifyConfirmTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyItemModCfm + + template (present) PDUSessionResourceModifyItemModInd mw_pDUSessionResourceModifyItemModInd( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceModifyItemModInd.pDUSessionResourceModifyIndicationTransfer p_pDUSessionResourceModifyIndicationTransfer := ?, + template PDUSessionResourceModifyItemModInd.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyIndicationTransfer := p_pDUSessionResourceModifyIndicationTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyItemModInd + + template (present) PDUSessionResourceModifyItemModReq mw_pDUSessionResourceModifyItemModReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceModifyItemModReq.pDUSessionResourceModifyRequestTransfer p_pDUSessionResourceModifyRequestTransfer := ?, + template NAS_PDU p_nAS_PDU := *, + template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + nAS_PDU := p_nAS_PDU, + pDUSessionResourceModifyRequestTransfer := p_pDUSessionResourceModifyRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyItemModReq + + template (present) PDUSessionResourceModifyItemModReq.iE_Extensions mw_pDUSessionResourceModifyItemModReq_id_S_NSSAI( + template (present) S_NSSAI p_s_nSSAI := ? + ) := { + { + id := id_S_NSSAI, + criticality := reject, + extensionValue := { S_NSSAI := p_s_nSSAI } + } + } // End of template mw_pDUSessionResourceModifyItemModReq_id_S_NSSAI + + template (present) PDUSessionResourceModifyItemModReq.iE_Extensions mw_pDUSessionResourceModifyItemModReq_id_PduSessionExpectedUEActivityBehaviour( + template (present) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := ? + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template mw_pDUSessionResourceModifyItemModReq_id_PduSessionExpectedUEActivityBehaviour + + template (present) PDUSessionResourceModifyItemModReq.iE_Extensions mw_pDUSessionResourceModifyItemModReq_full( + template (present) S_NSSAI p_s_nSSAI := ?, + template (present) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := ? + ) := { + { + id := id_S_NSSAI, + criticality := reject, + extensionValue := { S_NSSAI := p_s_nSSAI } + }, + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template mw_pDUSessionResourceModifyItemModReq_full + + template (present) PDUSessionResourceModifyItemModRes mw_pDUSessionResourceModifyItemModRes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceModifyItemModRes.pDUSessionResourceModifyResponseTransfer p_pDUSessionResourceModifyResponseTransfer := ?, + template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * + ) := { + + pDUSessionID := p_pDUSessionID, + pDUSessionResourceModifyResponseTransfer := p_pDUSessionResourceModifyResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyItemModRes + + template (present) PDUSessionResourceModifyUnsuccessfulTransfer mw_pDUSessionResourceModifyUnsuccessfulTransfer( + template (present) Cause p_cause := ?, + template CriticalityDiagnostics p_criticalityDiagnostics := *, + template PDUSessionResourceModifyUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceModifyUnsuccessfulTransfer + + template (present) PDUSessionResourceNotifyItem mw_pDUSessionResourceNotifyItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceNotifyItem.pDUSessionResourceNotifyTransfer p_pDUSessionResourceNotifyTransfer, + template PDUSessionResourceNotifyItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceNotifyTransfer := p_pDUSessionResourceNotifyTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceNotifyItem + + template (present) PDUSessionResourceNotifyReleasedTransfer mw_pDUSessionResourceNotifyReleasedTransfer( + template (present) Cause p_cause := ?, + template PDUSessionResourceNotifyReleasedTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceNotifyReleasedTransfer + + template (present) PDUSessionResourceNotifyReleasedTransfer.iE_Extensions mw_pDUSessionResourceNotifyReleasedTransfer_id_SecondaryRATUsageInformation( + template (present) SecondaryRATUsageInformation p_secondaryRATUsageInformation := ? + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template mw_pDUSessionResourceNotifyReleasedTransfer_id_SecondaryRATUsageInformation + + template PDUSessionResourceNotifyTransfer mw_pDUSessionResourceNotifyTransfer( + template QosFlowNotifyList p_qosFlowNotifyList := *, + template QosFlowListWithCause p_qosFlowReleasedList := *, + template PDUSessionResourceNotifyTransfer.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowNotifyList := p_qosFlowNotifyList, + qosFlowReleasedList := p_qosFlowReleasedList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceNotifyTransfer + + template (present) PDUSessionResourceNotifyTransfer.iE_Extensions mw_pDUSessionResourceNotifyTransfer_id_SecondaryRATUsageInformation( + template (present) SecondaryRATUsageInformation p_secondaryRATUsageInformation := ? + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template mw_pDUSessionResourceNotifyReleasedTransfer_id_SecondaryRATUsageInformation + + template (present) PDUSessionResourceNotifyTransfer.iE_Extensions mw_pDUSessionResourceNotifyTransfer_id_QosFlowFeedbackList( + template (present) QosFlowFeedbackList p_qosFlowFeedbackList := ? + ) := { + { + id := id_QosFlowFeedbackList, + criticality := ignore, + extensionValue := { QosFlowFeedbackList := p_qosFlowFeedbackList } + } + } // End of template mw_pDUSessionResourceNotifyReleasedTransfer_id_QosFlowFeedbackList + + template (present) PDUSessionResourceReleaseCommandTransfer mw_pDUSessionResourceReleaseCommandTransfer( + template (present) Cause p_cause := ?, + template PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceReleaseCommandTransfer + + template (present) PDUSessionResourceReleasedItemNot mw_pDUSessionResourceReleasedItemNot( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceReleasedItemNot.pDUSessionResourceNotifyReleasedTransfer p_pDUSessionResourceNotifyReleasedTransfer := ?, + template PDUSessionResourceReleasedItemNot.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceNotifyReleasedTransfer := p_pDUSessionResourceNotifyReleasedTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceReleasedItemNot + + template (present) PDUSessionResourceReleasedItemPSAck mw_pDUSessionResourceReleasedItemPSAck( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceReleasedItemPSAck.pathSwitchRequestUnsuccessfulTransfer p_pathSwitchRequestUnsuccessfulTransfer := ?, + template PDUSessionResourceReleasedItemPSAck.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestUnsuccessfulTransfer := p_pathSwitchRequestUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceReleasedItemPSAck + + template (present) PDUSessionResourceReleasedItemPSFail mw_pDUSessionResourceReleasedItemPSFail( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceReleasedItemPSFail.pathSwitchRequestUnsuccessfulTransfer p_pathSwitchRequestUnsuccessfulTransfer := ?, + template PDUSessionResourceReleasedItemPSFail.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestUnsuccessfulTransfer := p_pathSwitchRequestUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceReleasedItemPSFail + + template (present) PDUSessionResourceReleasedItemRelRes mw_pDUSessionResourceReleasedItemRelRes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceReleasedItemRelRes.pDUSessionResourceReleaseResponseTransfer p_pDUSessionResourceReleaseResponseTransfer := ?, + template PDUSessionResourceReleasedItemRelRes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceReleaseResponseTransfer := p_pDUSessionResourceReleaseResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceReleasedItemRelRes + + template PDUSessionResourceReleaseResponseTransfer mw_pDUSessionResourceReleaseResponseTransfer( + template PDUSessionResourceReleaseResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceReleaseResponseTransfer + + template (present) PDUSessionResourceNotifyTransfer.iE_Extensions mw_pDUSessionResourceReleaseResponseTransfer_id_SecondaryRATUsageInformation( + template (present) SecondaryRATUsageInformation p_secondaryRATUsageInformation := ? + ) := { + { + id := id_SecondaryRATUsageInformation, + criticality := ignore, + extensionValue := { SecondaryRATUsageInformation := p_secondaryRATUsageInformation } + } + } // End of template mw_pDUSessionResourceReleaseResponseTransfer_id_SecondaryRATUsageInformation + + template (present) PDUSessionResourceResumeItemRESReq mw_pDUSessionResourceResumeItemRESReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceResumeItemRESReq.uEContextResumeRequestTransfer p_uEContextResumeRequestTransfer := ?, + template PDUSessionResourceResumeItemRESReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + uEContextResumeRequestTransfer := p_uEContextResumeRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceResumeItemRESReq + + template (present) PDUSessionResourceResumeItemRESRes mw_pDUSessionResourceResumeItemRESRes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceResumeItemRESRes.uEContextResumeResponseTransfer p_uEContextResumeResponseTransfer := ?, + template PDUSessionResourceResumeItemRESRes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + uEContextResumeResponseTransfer := p_uEContextResumeResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceResumeItemRESRes + + template (present) PDUSessionResourceSecondaryRATUsageItem mw_pPDUSessionResourceSecondaryRATUsageItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceSecondaryRATUsageItem.secondaryRATDataUsageReportTransfer p_secondaryRATDataUsageReportTransfer := ?, + template PDUSessionResourceSecondaryRATUsageItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + secondaryRATDataUsageReportTransfer := p_secondaryRATDataUsageReportTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pPDUSessionResourceSecondaryRATUsageItem + + template (present) PDUSessionResourceSetupItemCxtReq mw_pDUSessionResourceSetupItemCxtReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) S_NSSAI p_s_NSSAI := ?, + template (present) PDUSessionResourceSetupItemCxtReq.pDUSessionResourceSetupRequestTransfer p_pDUSessionResourceSetupRequestTransfer := ?, + template NAS_PDU p_nAS_PDU := *, + template PDUSessionResourceSetupItemCxtReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + nAS_PDU := p_nAS_PDU, + s_NSSAI := p_s_NSSAI, + pDUSessionResourceSetupRequestTransfer := p_pDUSessionResourceSetupRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupItemCxtReq + + template (present) PDUSessionResourceSetupItemCxtReq.iE_Extensions mw_pDUSessionResourceSetupItemCxtReq_id_PduSessionExpectedUEActivityBehaviour( + template (present) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := ? + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template mw_pDUSessionResourceSetupItemCxtReq_id_PduSessionExpectedUEActivityBehaviour + + template (present) PDUSessionResourceSetupItemCxtRes mw_pDUSessionResourceSetupItemCxtRes( + template (present) PDUSessionID p_pDUSessionID, + template (present) PDUSessionResourceSetupItemCxtRes.pDUSessionResourceSetupResponseTransfer p_pDUSessionResourceSetupResponseTransfer := ?, + template PDUSessionResourceSetupItemCxtRes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupResponseTransfer := p_pDUSessionResourceSetupResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupItemCxtRes + + template (present) PDUSessionResourceSetupItemHOReq mw_pDUSessionResourceSetupItemHOReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) S_NSSAI p_s_NSSAI := ?, + template (present) PDUSessionResourceSetupItemHOReq.handoverRequestTransfer p_handoverRequestTransfer := ?, + template PDUSessionResourceSetupItemHOReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + s_NSSAI := p_s_NSSAI, + handoverRequestTransfer := p_handoverRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupItemHOReq + + template (present) PDUSessionResourceSetupItemHOReq.iE_Extensions mw_pDUSessionResourceSetupItemHOReq_id_PduSessionExpectedUEActivityBehaviour( + template (present) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := ? + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template mw_pDUSessionResourceSetupItemCxtReq_id_PduSessionExpectedUEActivityBehaviour + + template (present) PDUSessionResourceSetupItemSUReq mw_pDUSessionResourceSetupItemSUReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) S_NSSAI p_s_NSSAI := ?, + template (present) PDUSessionResourceSetupItemSUReq.pDUSessionResourceSetupRequestTransfer p_pDUSessionResourceSetupRequestTransfer := ?, + template NAS_PDU p_pDUSessionNAS_PDU := *, + template PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionNAS_PDU := p_pDUSessionNAS_PDU, + s_NSSAI := p_s_NSSAI, + pDUSessionResourceSetupRequestTransfer := p_pDUSessionResourceSetupRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupItemSUReq + + template (present) PDUSessionResourceSetupItemSUReq.iE_Extensions mw_pDUSessionResourceSetupItemSUReq_id_PduSessionExpectedUEActivityBehaviour( + template (present) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := ? + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template mw_pDUSessionResourceSetupItemSUReq_id_PduSessionExpectedUEActivityBehaviour + + template (present) PDUSessionResourceSetupItemSURes mw_pDUSessionResourceSetupItemSURes( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceSetupItemSURes.pDUSessionResourceSetupResponseTransfer p_pDUSessionResourceSetupResponseTransfer := ?, + template PDUSessionResourceSetupItemSURes.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceSetupResponseTransfer := p_pDUSessionResourceSetupResponseTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupItemSURes + + template (present) PDUSessionResourceSetupRequestTransfer mw_pDUSessionResourceSetupRequestTransfer( + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs p_protocolIEs := ? + ) := { + protocolIEs := p_protocolIEs + } // End of template mw_pDUSessionResourceSetupRequestTransfer + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_mandatories( + template (present) PDUSessionType p_pDUSessionType := ?, + template (present) QosFlowSetupRequestList p_qosFlowSetupRequestList := ?, + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + }, + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + }, + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_mandatories + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_handover( + template (present) PDUSessionType p_pDUSessionType := ?, + template (present) QosFlowSetupRequestList p_qosFlowSetupRequestList := ?, + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ?, + template (present) DataForwardingNotPossible p_dataForwardingNotPossible := ?, + template (present) SecurityIndication p_securityIndication := ? + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + }, + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + }, + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + }, + { + id := id_DataForwardingNotPossible, + criticality := reject, + value_ := { DataForwardingNotPossible := p_dataForwardingNotPossible } + }, + { + id := id_SecurityIndication, + criticality := reject, + value_ := { SecurityIndication := p_securityIndication } + } + + } // End of template mw_pDUSessionResourceSetupRequestTransfer_optionals + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_PDUSessionAggregateMaximumBitRate( + template (present) PDUSessionAggregateMaximumBitRate p_pDUSessionAggregateMaximumBitRate := ? + ) := { + { + id := id_PDUSessionAggregateMaximumBitRate, + criticality := reject, + value_ := { PDUSessionAggregateMaximumBitRate := p_pDUSessionAggregateMaximumBitRate } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_PDUSessionAggregateMaximumBitRate + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_UL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformationList p_uPTransportLayerInformationList := ? + ) := { + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_UL_NGU_UP_TNLInformation + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_DataForwardingNotPossible( + template (present) DataForwardingNotPossible p_dataForwardingNotPossible := ? + ) := { + { + id := id_DataForwardingNotPossible, + criticality := reject, + value_ := { DataForwardingNotPossible := p_dataForwardingNotPossible } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_DataForwardingNotPossible + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_PDUSessionType( + template (present) PDUSessionType p_pDUSessionType := ? + ) := { + { + id := id_PDUSessionType, + criticality := reject, + value_ := { PDUSessionType := p_pDUSessionType } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_PDUSessionType + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_SecurityIndication( + template (present) SecurityIndication p_securityIndication := ? + ) := { + { + id := id_SecurityIndication, + criticality := reject, + value_ := { SecurityIndication := p_securityIndication } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_SecurityIndication + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_NetworkInstance( + template (present) NetworkInstance p_networkInstance := ? + ) := { + { + id := id_NetworkInstance, + criticality := reject, + value_ := { NetworkInstance := p_networkInstance } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_NetworkInstance + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_QosFlowSetupRequestList( + template (present) QosFlowSetupRequestList p_qosFlowSetupRequestList := ? + ) := { + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { QosFlowSetupRequestList := p_qosFlowSetupRequestList } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_QosFlowSetupRequestList + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_CommonNetworkInstance( + template (present) CommonNetworkInstance p_commonNetworkInstance := ? + ) := { + { + id := id_CommonNetworkInstance, + criticality := ignore, + value_ := { CommonNetworkInstance := p_commonNetworkInstance } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_CommonNetworkInstance + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_DirectForwardingPathAvailability( + template (present) DirectForwardingPathAvailability p_directForwardingPathAvailability := ? + ) := { + { + id := id_DirectForwardingPathAvailability, + criticality := ignore, + value_ := { DirectForwardingPathAvailability := p_directForwardingPathAvailability } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_DirectForwardingPathAvailability + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_RedundantUL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + value_ := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_RedundantUL_NGU_UP_TNLInformation + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_AdditionalRedundantUL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformationList p_uPTransportLayerInformationList := ? + ) := { + { + id := id_AdditionalRedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + value_ := { UPTransportLayerInformationList := p_uPTransportLayerInformationList } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_AdditionalRedundantUL_NGU_UP_TNLInformation + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_RedundantCommonNetworkInstancen( + template (present) CommonNetworkInstance p_commonNetworkInstance := ? + ) := { + { + id := id_RedundantCommonNetworkInstance, + criticality := ignore, + value_ := { CommonNetworkInstance := p_commonNetworkInstance } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_RedundantCommonNetworkInstance + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_RedundantPDUSessionInformation( + template (present) RedundantPDUSessionInformation p_redundantPDUSessionInformation := ? + ) := { + { + id := id_RedundantPDUSessionInformation, + criticality := ignore, + value_ := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_RedundantPDUSessionInformation + + template (present) PDUSessionResourceSetupRequestTransfer.protocolIEs mw_pDUSessionResourceSetupRequestTransfer_id_MBSSessionSetupRequestList( + template (present) MBSSessionSetupRequestList p_mBSSessionSetupRequestList := ? + ) := { + { + id := id_MBSSessionSetupRequestList, + criticality := ignore, + value_ := { MBSSessionSetupRequestList := p_mBSSessionSetupRequestList } + } + } // End of template mw_pDUSessionResourceSetupRequestTransfer_id_MBSSessionSetupRequestList + + template (present) PDUSessionResourceSetupResponseTransfer mw_pDUSessionResourceSetupResponseTransfer( + template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, + template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, + template SecurityResult p_securityResult := *, + template QosFlowListWithCause p_qosFlowFailedToSetupList := *, + template PDUSessionResourceSetupResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + dLQosFlowPerTNLInformation := p_dLQosFlowPerTNLInformation, + additionalDLQosFlowPerTNLInformation := p_additionalDLQosFlowPerTNLInformation, + securityResult := p_securityResult, + qosFlowFailedToSetupList := p_qosFlowFailedToSetupList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupResponseTransfer + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_RedundantDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformation p_qosFlowPerTNLInformation := ? + ) := { + { + id := id_RedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformation := p_qosFlowPerTNLInformation } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_RedundantDLQosFlowPerTNLInformation + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation( + template (present) QosFlowPerTNLInformationList p_qosFlowPerTNLInformationList := ? + ) := { + { + id := id_AdditionalRedundantDLQosFlowPerTNLInformation, + criticality := ignore, + extensionValue := { QosFlowPerTNLInformationList := p_qosFlowPerTNLInformationList } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_AdditionalRedundantDLQosFlowPerTNLInformation + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_UsedRSNInformation( + template (present) RedundantPDUSessionInformation p_redundantPDUSessionInformation := ? + ) := { + { + id := id_UsedRSNInformation, + criticality := ignore, + extensionValue := { RedundantPDUSessionInformation := p_redundantPDUSessionInformation } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_UsedRSNInformation + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_GlobalRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ? + ) := { + { + id := id_GlobalRANNodeID, + criticality := ignore, + extensionValue := { GlobalRANNodeID := p_globalRANNodeID } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_GlobalRANNodeID + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_MBS_SupportIndicator( + template (present) MBS_SupportIndicator p_mBS_SupportIndicator := ? + ) := { + { + id := id_MBS_SupportIndicator, + criticality := ignore, + extensionValue := { MBS_SupportIndicator := p_mBS_SupportIndicator } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_MBS_SupportIndicator + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_MBSSessionSetupResponseList( + template (present) MBSSessionSetupResponseList p_mBSSessionSetupResponseList := ? + ) := { + { + id := id_MBSSessionSetupResponseList, + criticality := ignore, + extensionValue := { MBSSessionSetupResponseList := p_mBSSessionSetupResponseList } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_MBSSessionSetupResponseList + + template (present) PDUSessionResourceSetupResponseTransfer.iE_Extensions mw_pDUSessionResourceSetupResponseTransfer_id_MBSSessionFailedtoSetupList( + template (present) MBSSessionFailedtoSetupList p_mBSSessionFailedtoSetupList := ? + ) := { + { + id := id_MBSSessionFailedtoSetupList, + criticality := ignore, + extensionValue := { MBSSessionFailedtoSetupList := p_mBSSessionFailedtoSetupList } + } + } // End of template mw_pDUSessionResourceSetupResponseTransfer_id_MBSSessionFailedtoSetupList + + template (present) PDUSessionResourceSetupUnsuccessfulTransfer mw_pDUSessionResourceSetupUnsuccessfulTransfer( + template (present) Cause p_cause := ?, + template CriticalityDiagnostics p_criticalityDiagnostics := *, + template PDUSessionResourceSetupUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * + ) := { + cause := p_cause, + criticalityDiagnostics := p_criticalityDiagnostics, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSetupUnsuccessfulTransfer + + template (present) PDUSessionResourceSuspendItemSUSReq mw_pDUSessionResourceSuspendItemSUSReq( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceSuspendItemSUSReq.uEContextSuspendRequestTransfer p_uEContextSuspendRequestTransfer := ?, + template PDUSessionResourceSuspendItemSUSReq.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + uEContextSuspendRequestTransfer := p_uEContextSuspendRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSuspendItemSUSReq + + template (present) PDUSessionResourceSwitchedItem mw_pDUSessionResourceSwitchedItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceSwitchedItem.pathSwitchRequestAcknowledgeTransfer p_pathSwitchRequestAcknowledgeTransfer := ?, + template PDUSessionResourceSwitchedItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestAcknowledgeTransfer := p_pathSwitchRequestAcknowledgeTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceSwitchedItem + + template (present) PDUSessionResourceSwitchedItem.iE_Extensions mw_pDUSessionResourceSwitchedItemw_id_PduSessionExpectedUEActivityBehaviour( + template (present) ExpectedUEActivityBehaviour p_expectedUEActivityBehaviour := ? + ) := { + { + id := id_PduSessionExpectedUEActivityBehaviour, + criticality := ignore, + extensionValue := { ExpectedUEActivityBehaviour := p_expectedUEActivityBehaviour } + } + } // End of template mw_pDUSessionResourceSwitchedItemw_id_PduSessionExpectedUEActivityBehaviour + + template (present) PDUSessionResourceToBeSwitchedDLItem mw_pDUSessionResourceToBeSwitchedDLItem( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceToBeSwitchedDLItem.pathSwitchRequestTransfer p_pathSwitchRequestTransfer := ?, + template PDUSessionResourceToBeSwitchedDLItem.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pathSwitchRequestTransfer := p_pathSwitchRequestTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceToBeSwitchedDLItem + + template (present) PDUSessionResourceToReleaseItemHOCmd mw_pDUSessionResourceToReleaseItemHOCmd( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceToReleaseItemHOCmd.handoverPreparationUnsuccessfulTransfer p_handoverPreparationUnsuccessfulTransfer := ?, + template PDUSessionResourceToReleaseItemHOCmd.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + handoverPreparationUnsuccessfulTransfer := p_handoverPreparationUnsuccessfulTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceToReleaseItemHOCmd + + template (present) PDUSessionResourceToReleaseItemRelCmd mw_pDUSessionResourceToReleaseItemRelCmd( + template (present) PDUSessionID p_pDUSessionID := ?, + template (present) PDUSessionResourceToReleaseItemRelCmd.pDUSessionResourceReleaseCommandTransfer p_pDUSessionResourceReleaseCommandTransfer := ?, + template PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := * + ) := { + pDUSessionID := p_pDUSessionID, + pDUSessionResourceReleaseCommandTransfer := p_pDUSessionResourceReleaseCommandTransfer, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionResourceToReleaseItemRelCmd + + template (present) PDUSessionType mw_pDUSessionType(template (present) PDUSessionType p_value := ipv4) := p_value; + + template (present) PDUSessionUsageReport mw_pDUSessionUsageReport( + template (present) PDUSessionUsageReport.rATType p_rATType := ?, + template (present) VolumeTimedReportList p_pDUSessionTimedReportList := ?, + template PDUSessionUsageReport.iE_Extensions p_iE_Extensions := * + ) := { + rATType := p_rATType, + pDUSessionTimedReportList := p_pDUSessionTimedReportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pDUSessionUsageReport + + template (present) PEIPSassistanceInformation mw_pEIPSassistanceInformation( + template (present)CNsubgroupID p_cNsubgroupID := ?, + template PEIPSassistanceInformation.iE_Extensions p_iE_Extensions := * + ) := { + cNsubgroupID := p_cNsubgroupID, + iE_Extensions := p_iE_Extensions + } // End of template mw_pEIPSassistanceInformation + + template (present) PLMNAreaBasedQMC mw_pLMNAreaBasedQMC( + template (present) PLMNListforQMC p_plmnListforQMC := ?, + template PLMNAreaBasedQMC.iE_Extensions p_iE_Extensions := * + ) := { + plmnListforQMC := p_plmnListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template mw_pLMNAreaBasedQMC + + template (present) PLMNSupportItem mw_pLMNSupportItem( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) SliceSupportList p_sliceSupportList := ?, + template PLMNSupportItem.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + sliceSupportList := p_sliceSupportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_pLMNSupportItem + + template (present) PLMNSupportItem.iE_Extensions mw_pLMNSupportItemw_id_NPN_Support( + template (present) NPN_Support p_nPN_Support := ? + ) := { + { + id := id_NPN_Support, + criticality := reject, + extensionValue := { NPN_Support := p_nPN_Support } + } + } // End of template mw_pLMNSupportItemw_id_NPN_Support + + template (present) PLMNSupportItem.iE_Extensions mw_pLMNSupportItemw_id_ExtendedSliceSupportList( + template (present) ExtendedSliceSupportList p_extendedSliceSupportList := ? + ) := { + { + id := id_ExtendedSliceSupportList, + criticality := reject, + extensionValue := { ExtendedSliceSupportList := p_extendedSliceSupportList } + } + } // End of template mw_pLMNSupportItemw_id_ExtendedSliceSupportList + + template (present) PLMNSupportItem.iE_Extensions mw_pLMNSupportItemw_id_OnboardingSupport( + template (present) OnboardingSupport p_onboardingSupport := ? + ) := { + { + id := id_OnboardingSupport, + criticality := ignore, + extensionValue := { OnboardingSupport := p_onboardingSupport } + } + } // End of template mw_pLMNSupportItemw_id_OnboardingSupport + + template (present) PNI_NPN_MobilityInformation mw_pNI_NPN_MobilityInformation( + template (present) Allowed_PNI_NPN_List p_allowed_PNI_NPI_List := ?, + template PNI_NPN_MobilityInformation.iE_Extensions p_iE_Extensions := * + ) := { + allowed_PNI_NPI_List := p_allowed_PNI_NPI_List, + iE_Extensions := p_iE_Extensions + } // End of template mw_pNI_NPN_MobilityInformation + + template (present) Pre_emptionCapability mw_pre_emptionCapability(template (present) Pre_emptionCapability p_value := ?) := p_value; + + template (present) Pre_emptionVulnerability mw_pre_emptionVulnerability(template (present) Pre_emptionVulnerability p_value := ?) := p_value; + + template (present) PWSFailedCellIDList mw_pWSFailedCellIDList_nR_CGI_PWSFailedList( + template (present) NR_CGIList p_nR_CGI_PWSFailedList := ? + ) := { + nR_CGI_PWSFailedList := p_nR_CGI_PWSFailedList + } // End of template mw_pWSFailedCellIDList_nR_CGI_PWSFailedList + + template (present) PWSFailedCellIDList mw_pWSFailedCellIDList_eUTRA_CGI_PWSFailedList( + template (present) EUTRA_CGIList p_eUTRA_CGI_PWSFailedList := ? + ) := { + eUTRA_CGI_PWSFailedList := p_eUTRA_CGI_PWSFailedList + } // End of template mw_pWSFailedCellIDList_eUTRA_CGI_PWSFailedList + + template (present) PWSFailedCellIDList mw_pWSFailedCellIDList_choice_Extensions( + template (present) PWSFailedCellIDList.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_pWSFailedCellIDList_choice_Extensions + + template (present) QMCConfigInfo mw_qMCConfigInfo( + template (present) UEAppLayerMeasInfoList p_uEAppLayerMeasInfoList := ?, + template QMCConfigInfo.iE_Extensions p_iE_Extensions := * + ) := { + uEAppLayerMeasInfoList := p_uEAppLayerMeasInfoList, + iE_Extensions := p_iE_Extensions + } // End of template mw_qMCConfigInfo + + template (present) QMCDeactivation mw_qMCDeactivation( + template (present) QoEReferenceList p_qoEReferenceList := ?, + template QMCDeactivation.iE_Extensions p_iE_Extensions := * + ) := { + qoEReferenceList := p_qoEReferenceList, + iE_Extensions := p_iE_Extensions + } // End of template mw_qMCDeactivation + + template (present) QosCharacteristics mw_qosCharacteristics_nonDynamic5QI( + template (present) NonDynamic5QIDescriptor p_nonDynamic5QI := ? + ) := { + nonDynamic5QI := p_nonDynamic5QI + } // End of template mw_qosCharacteristics_nonDynamic5QI + + template (present) QosCharacteristics mw_qosCharacteristics_dynamic5QI( + template (present) Dynamic5QIDescriptor p_dynamic5QI := ? + ) := { + dynamic5QI := p_dynamic5QI + } // End of template mw_qosCharacteristics_dynamic5QI + + template (present) QosCharacteristics mw_qosCharacteristics_choice_Extensions( + template (present) QosCharacteristics.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_qosCharacteristics_choice_Extensions + + template (present) QosFlowAcceptedItem mw_qosFlowAcceptedItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template QosFlowAcceptedItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template + + template (present) QosFlowAcceptedItem.iE_Extensions mw_pLMNSupportItemw_id_CurrentQoSParaSetIndex( + template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ? + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template mw_pLMNSupportItemw_id_ExtendedSliceSupportList + + template (present) QosFlowAddOrModifyRequestItem mw_qosFlowAddOrModifyRequestItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template QosFlowLevelQosParameters p_qosFlowLevelQosParameters := *, + template E_RAB_ID p_e_RAB_ID := *, + template QosFlowAddOrModifyRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + qosFlowLevelQosParameters := p_qosFlowLevelQosParameters, + e_RAB_ID := p_e_RAB_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowAddOrModifyRequestItem + + template (present) QosFlowAddOrModifyRequestItem.iE_Extensions mw_qosFlowAddOrModifyRequestItemw_id_TSCTrafficCharacteristics( + template (present) TSCTrafficCharacteristics p_tSCTrafficCharacteristics := ? + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + } + } // End of template mw_qosFlowAddOrModifyRequestItemw_id_TSCTrafficCharacteristics + + template (present) QosFlowAddOrModifyRequestItem.iE_Extensions mw_qosFlowAddOrModifyRequestItemw_id_RedundantQosFlowIndicator( + template (present) RedundantQosFlowIndicator p_redundantQosFlowIndicator := ? + ) := { + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template mw_qosFlowAddOrModifyRequestItemw_id_RedundantQosFlowIndicator + + template (present) QosFlowAddOrModifyRequestItem.iE_Extensions mw_qosFlowAddOrModifyRequestItemw_full( + template (present) TSCTrafficCharacteristics p_tSCTrafficCharacteristics := ?, + template (present) RedundantQosFlowIndicator p_redundantQosFlowIndicator := ? + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + }, + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template mw_qosFlowAddOrModifyRequestItemw_full + + template (present) QosFlowAddOrModifyResponseItem mw_qosFlowAddOrModifyResponseItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template QosFlowAddOrModifyResponseItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowAddOrModifyResponseItem + + template (present) QosFlowAddOrModifyResponseItem.iE_Extensions mw_qosFlowAddOrModifyResponseItemw_id_CurrentQoSParaSetIndex( + template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ? + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template mw_qosFlowAddOrModifyResponseItemw_id_CurrentQoSParaSetIndex + + template (present) QosFlowFeedbackItem mw_qosFlowFeedbackItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template UpdateFeedback p_updateFeedback := *, + template ExtendedPacketDelayBudget p_cNpacketDelayBudgetDL := *, + template ExtendedPacketDelayBudget p_cNpacketDelayBudgetUL := *, + template QosFlowFeedbackItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + updateFeedback := p_updateFeedback, + cNpacketDelayBudgetDL := p_cNpacketDelayBudgetDL, + cNpacketDelayBudgetUL := p_cNpacketDelayBudgetUL, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowFeedbackItem + + template (present) QosFlowInformationItem mw_qosFlowInformationItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template DLForwarding p_dLForwarding := *, + template QosFlowInformationItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + dLForwarding := p_dLForwarding, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowInformationItem + + template (present) QosFlowInformationItem.iE_Extensions mw_qosFlowInformationItemw_id_ULForwarding( + template (present) ULForwarding p_uLForwarding := ? + ) := { + { + id := id_ULForwarding, + criticality := ignore, + extensionValue := { ULForwarding := p_uLForwarding } + } + } // End of template mw_qosFlowInformationItemw_id_ULForwarding + + template (present) QosFlowInformationItem.iE_Extensions mw_qosFlowInformationItemw_id_SourceTNLAddrInfo( + template (present) TransportLayerAddress p_transportLayerAddress := ? + ) := { + { + id := id_SourceTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template mw_qosFlowInformationItemw_id_SourceTNLAddrInfo + + template (present) QosFlowInformationItem.iE_Extensions mw_qosFlowInformationItemw_id_SourceNodeTNLAddrInfo( + template (present) TransportLayerAddress p_transportLayerAddress := ? + ) := { + { + id := id_SourceNodeTNLAddrInfo, + criticality := ignore, + extensionValue := { TransportLayerAddress := p_transportLayerAddress } + } + } // End of template mw_qosFlowInformationItemw_id_SourceNodeTNLAddrInfo + + template (present) QosFlowLevelQosParameters mw_qosFlowLevelQosParameters( + template (present) QosCharacteristics p_qosCharacteristics := ?, + template (present) AllocationAndRetentionPriority p_allocationAndRetentionPriority := ?, + template GBR_QosInformation p_gBR_QosInformation := *, + template ReflectiveQosAttribute p_reflectiveQosAttribute := *, + template AdditionalQosFlowInformation p_additionalQosFlowInformation := *, + template QosFlowLevelQosParameters.iE_Extensions p_iE_Extensions := * + ) := { + qosCharacteristics := p_qosCharacteristics, + allocationAndRetentionPriority := p_allocationAndRetentionPriority, + gBR_QosInformation := p_gBR_QosInformation, + reflectiveQosAttribute := p_reflectiveQosAttribute, + additionalQosFlowInformation := p_additionalQosFlowInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowLevelQosParameters + + template (present) QosFlowLevelQosParameters.iE_Extensions mw_qosFlowLevelQosParameters_id_QosMonitoringRequest( + template (present) QosMonitoringRequest p_qosMonitoringRequest := ? + ) := { + { + id := id_QosMonitoringRequest, + criticality := ignore, + extensionValue := { QosMonitoringRequest := p_qosMonitoringRequest } + } + } // End of template mw_qosFlowLevelQosParameters_id_QosMonitoringRequest + + template (present) QosFlowLevelQosParameters.iE_Extensions mw_qosFlowLevelQosParameters_id_QosMonitoringReportingFrequency( + template (present) QosMonitoringReportingFrequency p_qosMonitoringReportingFrequency := ? + ) := { + { + id := id_QosMonitoringReportingFrequency, + criticality := ignore, + extensionValue := { QosMonitoringReportingFrequency := p_qosMonitoringReportingFrequency } + } + } // End of template mw_qosFlowLevelQosParameters_id_QosMonitoringReportingFrequency + + template (present) QosFlowLevelQosParameters.iE_Extensions mw_qosFlowLevelQosParameters_full( + template (present) QosMonitoringRequest p_qosMonitoringRequest := ?, + template (present) QosMonitoringReportingFrequency p_qosMonitoringReportingFrequency := ? + ) := { + { + id := id_QosMonitoringRequest, + criticality := ignore, + extensionValue := { QosMonitoringRequest := p_qosMonitoringRequest } + }, + { + id := id_QosMonitoringReportingFrequency, + criticality := ignore, + extensionValue := { QosMonitoringReportingFrequency := p_qosMonitoringReportingFrequency } + } + } // End of template mw_qosFlowLevelQosParameters_full + + template (present) QosMonitoringRequest mw_qosMonitoringRequest(template (present) QosMonitoringRequest p_value := ?) := p_value; + + template (present) QosFlowWithCauseItem mw_qosFlowWithCauseItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template (present) Cause p_cause := ?, + template QosFlowWithCauseItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowWithCauseItem + + template (present) QosFlowModifyConfirmItem mw_qosFlowModifyConfirmItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template QosFlowModifyConfirmItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowModifyConfirmItem + + template (present) QosFlowNotifyItem mw_qosFlowNotifyItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template (present) NotificationCause p_notificationCause := ?, + template QosFlowNotifyItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + notificationCause := p_notificationCause, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowNotifyItem + + template (present) QosFlowNotifyItem.iE_Extensions mw_qosFlowNotifyItemw_id_CurrentQoSParaSetIndex( + template (present) AlternativeQoSParaSetNotifyIndex p_alternativeQoSParaSetNotifyIndex := ? + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetNotifyIndex := p_alternativeQoSParaSetNotifyIndex } + } + } // End of template mw_qosFlowNotifyItemw_id_CurrentQoSParaSetIndex + + template (present) QosFlowParametersItem mw_qosFlowParametersItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template AlternativeQoSParaSetList p_alternativeQoSParaSetList := *, + template QosFlowParametersItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + alternativeQoSParaSetList := p_alternativeQoSParaSetList, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowParametersItem + + template (present) QosFlowParametersItem.iE_Extensions mw_qosFlowParametersItemw_id_CNPacketDelayBudgetDL( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_CNPacketDelayBudgetDL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_qosFlowParametersItemw_id_CNPacketDelayBudgetDL + + template (present) QosFlowParametersItem.iE_Extensions mw_qosFlowParametersItemw_id_CNPacketDelayBudgetUL( + template (present) ExtendedPacketDelayBudget p_extendedPacketDelayBudget := ? + ) := { + { + id := id_CNPacketDelayBudgetUL, + criticality := ignore, + extensionValue := { ExtendedPacketDelayBudget := p_extendedPacketDelayBudget } + } + } // End of template mw_qosFlowParametersItemw_id_CNPacketDelayBudgetUL + + template (present) QosFlowParametersItem.iE_Extensions mw_qosFlowParametersItemw_id_BurstArrivalTimeDownlink( + template (present) BurstArrivalTime p_burstArrivalTime := ? + ) := { + { + id := id_BurstArrivalTimeDownlink, + criticality := ignore, + extensionValue := { BurstArrivalTime := p_burstArrivalTime } + } + } // End of template mw_qosFlowParametersItemw_id_BurstArrivalTimeDownlink + + template (present) QosFlowPerTNLInformation mw_qosFlowPerTNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ?, + template (present) AssociatedQosFlowList p_associatedQosFlowList := ?, + template QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := * + ) := { + uPTransportLayerInformation := p_uPTransportLayerInformation, + associatedQosFlowList := p_associatedQosFlowList, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowPerTNLInformation + + template (present) QosFlowPerTNLInformationItem mw_qosFlowPerTNLInformationItem( + template (present) QosFlowPerTNLInformation p_qosFlowPerTNLInformation := ?, + template QosFlowPerTNLInformationItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowPerTNLInformation := p_qosFlowPerTNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowPerTNLInformationItem + + template (present) QosFlowSetupRequestItem mw_qosFlowSetupRequestItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template (present) QosFlowLevelQosParameters p_qosFlowLevelQosParameters := ?, + template E_RAB_ID p_e_RAB_ID := *, + template QosFlowSetupRequestItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + qosFlowLevelQosParameters := p_qosFlowLevelQosParameters, + e_RAB_ID := p_e_RAB_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowSetupRequestItem + + template (present) QosFlowSetupRequestItem.iE_Extensions mw_qosFlowSetupRequestItemw_id_TSCTrafficCharacteristics( + template (present) TSCTrafficCharacteristics p_tSCTrafficCharacteristics := ? + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + } + } // End of template mw_qosFlowSetupRequestItemw_id_TSCTrafficCharacteristics + + template (present) QosFlowSetupRequestItem.iE_Extensions mw_qosFlowSetupRequestItemw_id_RedundantQosFlowIndicator( + template (present) RedundantQosFlowIndicator p_redundantQosFlowIndicator := ? + ) := { + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template mw_qosFlowSetupRequestItemw_id_RedundantQosFlowIndicator + + template (present) QosFlowSetupRequestItem.iE_Extensions mw_qosFlowSetupRequestItemw_full( + template (present) TSCTrafficCharacteristics p_tSCTrafficCharacteristics := ?, + template (present) RedundantQosFlowIndicator p_redundantQosFlowIndicator := ? + ) := { + { + id := id_TSCTrafficCharacteristics, + criticality := ignore, + extensionValue := { TSCTrafficCharacteristics := p_tSCTrafficCharacteristics } + }, + { + id := id_RedundantQosFlowIndicator, + criticality := ignore, + extensionValue := { RedundantQosFlowIndicator := p_redundantQosFlowIndicator } + } + } // End of template mw_qosFlowSetupRequestItemw_full + + template (present) QosFlowItemWithDataForwarding mw_qosFlowItemWithDataForwarding( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template DataForwardingAccepted p_dataForwardingAccepted := *, + template QosFlowItemWithDataForwarding.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + dataForwardingAccepted := p_dataForwardingAccepted, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowItemWithDataForwarding + + template (present) QosFlowItemWithDataForwarding.iE_Extensions mw_qosFlowItemWithDataForwarding_id_CurrentQoSParaSetIndex( + template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ? + ) := { + { + id := id_CurrentQoSParaSetIndex, + criticality := ignore, + extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex } + } + } // End of template mw_qosFlowItemWithDataForwarding_id_CurrentQoSParaSetIndex + + template (present) QosFlowToBeForwardedItem mw_qosFlowToBeForwardedItem( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template QosFlowToBeForwardedItem.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + iE_Extensions := p_iE_Extensions + } // End of template mw_qosFlowToBeForwardedItem + + template (present) QoSFlowsUsageReport_Item mw_qoSFlowsUsageReport_Item( + template (present) QosFlowIdentifier p_qosFlowIdentifier := ?, + template (present) QoSFlowsUsageReport_Item.rATType p_rATType := ?, + template (present) VolumeTimedReportList p_qoSFlowsTimedReportList := ?, + template QoSFlowsUsageReport_Item.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowIdentifier := p_qosFlowIdentifier, + rATType := p_rATType, + qoSFlowsTimedReportList := p_qoSFlowsTimedReportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_qoSFlowsUsageReport_Item + + + template (present) Range mw_range(template (present) Range p_value := ?) := p_value; + + template (present) RANStatusTransfer_TransparentContainer mw_rANStatusTransfer_TransparentContainer( + template (present) DRBsSubjectToStatusTransferList p_dRBsSubjectToStatusTransferList := ?, + template RANStatusTransfer_TransparentContainer.iE_Extensions p_iE_Extensions := * + ) := { + dRBsSubjectToStatusTransferList := p_dRBsSubjectToStatusTransferList, + iE_Extensions := p_iE_Extensions + } // End of template mw_rANStatusTransfer_TransparentContainer + + template (present) RAT_Information mw_rAT_Information(template (present) RAT_Information p_value := ?) := p_value; + + template (present) RATRestrictions_Item mw_rATRestrictions_Item( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) RATRestrictionInformation p_rATRestrictionInformation := ?, + template RATRestrictions_Item.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + rATRestrictionInformation := p_rATRestrictionInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_rATRestrictions_Item + + template (present) RATRestrictions_Item.iE_Extensions mw_rATRestrictions_Item_id_ExtendedRATRestrictionInformation( + template (present) ExtendedRATRestrictionInformation p_extendedRATRestrictionInformation := ? + ) := { + { + id := id_ExtendedRATRestrictionInformation, + criticality := ignore, + extensionValue := { ExtendedRATRestrictionInformation := p_extendedRATRestrictionInformation } + } + } // End of template mw_rATRestrictions_Item_id_ExtendedRATRestrictionInformation + + template (present) RecommendedCellsForPaging mw_recommendedCellsForPaging( + template (present) RecommendedCellList p_recommendedCellList := ?, + template RecommendedCellsForPaging.iE_Extensions p_iE_Extensions := * + ) := { + recommendedCellList := p_recommendedCellList, + iE_Extensions := p_iE_Extensions + } // End of template mw_recommendedCellsForPaging + + template (present) RecommendedCellItem mw_recommendedCellItem( + template (present) NGRAN_CGI p_nGRAN_CGI := ?, + template RecommendedCellItem.timeStayedInCell p_timeStayedInCell := *, + template RecommendedCellItem.iE_Extensions p_iE_Extensions := * + ) := { + nGRAN_CGI := p_nGRAN_CGI, + timeStayedInCell := p_timeStayedInCell, + iE_Extensions := p_iE_Extensions + } // End of template mw_recommendedCellItem + + template (present) RecommendedRANNodesForPaging mw_recommendedRANNodesForPaging( + template (present) RecommendedRANNodeList p_recommendedRANNodeList := ?, + template RecommendedRANNodesForPaging.iE_Extensions p_iE_Extensions := * + ) := { + recommendedRANNodeList := p_recommendedRANNodeList, + iE_Extensions := p_iE_Extensions + } // End of template mw_recommendedRANNodesForPaging + + template (present) RecommendedRANNodeItem mw_recommendedRANNodeItem( + template (present) AMFPagingTarget p_aMFPagingTarget := ?, + template RecommendedRANNodeItem.iE_Extensions p_iE_Extensions := * + ) := { + aMFPagingTarget := p_aMFPagingTarget, + iE_Extensions := p_iE_Extensions + } // End of template mw_recommendedRANNodeItem + + template (present) RedCapIndication mw_redCapIndication(template (present) RedCapIndication p_value := redcap) := p_value; + + template (present) RedirectionVoiceFallback mw_redirectionVoiceFallback(template (present) RedirectionVoiceFallback p_value := ?) := p_value; + + template (present) RedundantPDUSessionInformation mw_redundantPDUSessionInformation( + template (present) RSN p_rSN := ?, + template RedundantPDUSessionInformation.iE_Extensions p_iE_Extensions := * + ) := { + rSN := p_rSN, + iE_Extensions := p_iE_Extensions + } // End of template mw_redundantPDUSessionInformation + + template (present) RedundantPDUSessionInformation.iE_Extensions mw_redundantPDUSessionInformation_id_PDUSessionPairID( + template (present) PDUSessionPairID p_pDUSessionPairID := ? + ) := { + { + id := id_PDUSessionPairID, + criticality := ignore, + extensionValue := { PDUSessionPairID := p_pDUSessionPairID } + } + } // End of template m_redundantPDUSessionInformation_id_PDUSessionPairID + + template (present) RedundantQosFlowIndicator mw_RedundantQosFlowIndicator(template (present) RedundantQosFlowIndicator p_value := ?) := p_value; + + template (present) ReflectiveQosAttribute mw_reflectiveQosAttribute(template (present) ReflectiveQosAttribute p_value := ?) := p_value; + + template (present) ReportArea mw_reportArea(template (present) ReportArea p_value := ?) := p_value; + + template (present) ResetAll mw_resetAll(template (present) ResetAll p_value := ?) := p_value; + + template (present) ReportAmountMDT mw_reportAmountMDT(template (present) ReportAmountMDT p_value := ?) := p_value; + + template (present) ReportIntervalMDT mw_reportIntervalMDT(template (present) ReportIntervalMDT p_value := ?) := p_value; + + template (present) ExtendedReportIntervalMDT mw_extendedReportIntervalMDT(template (present) ExtendedReportIntervalMDT p_value := ?) := p_value; + + template (present) ResetType mw_resetType_nG_Interface( + template (present) ResetAll p_nG_Interface := ? + ) := { + nG_Interface := p_nG_Interface + } // End of template mw_resetType_nG_Interface + + template (present) ResetType mw_resetType_partOfNG_Interface( + template (present) UE_associatedLogicalNG_connectionList p_partOfNG_Interface := ? + ) := { + partOfNG_Interface := p_partOfNG_Interface + } // End of template mw_resetType_partOfNG_Interface + + template (present) ResetType mw_resetType_choice_Extensions( + template (present) ResetType.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_resetType_choice_Extensions + + template (present) RRCEstablishmentCause mw_rRCEstablishmentCause(template (present) RRCEstablishmentCause p_value := ?) := p_value; + + template (present) RRCInactiveTransitionReportRequest mw_rRCInactiveTransitionReportRequest(template (present) RRCInactiveTransitionReportRequest p_value := ?) := p_value; + + template (present) RRCState mw_rRCState(template (present) RRCState p_value := ?) := p_value; + + template (present) RSN mw_rSN(template (present) RSN p_value := ?) := p_value; + + template (present) RIMInformationTransfer mw_rIMInformationTransfer( + template (present) TargetRANNodeID_RIM p_targetRANNodeID_RIM := ?, + template (present) SourceRANNodeID p_sourceRANNodeID := ?, + template (present) RIMInformation p_rIMInformation := ?, + template RIMInformationTransfer.iE_Extensions p_iE_Extensions := * + ) := { + targetRANNodeID_RIM := p_targetRANNodeID_RIM, + sourceRANNodeID := p_sourceRANNodeID, + rIMInformation := p_rIMInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_rIMInformationTransfer + + template (present) RIMInformation mw_rIMInformation( + template (present) GNBSetID p_targetgNBSetID := ?, + template (present) RIMInformation.rIM_RSDetection p_rIM_RSDetection := ?, + template RIMInformation.iE_Extensions p_iE_Extensions := * + ) := { + targetgNBSetID := p_targetgNBSetID, + rIM_RSDetection := p_rIM_RSDetection, + iE_Extensions := p_iE_Extensions + } // End of template mw_rIMInformation + + template ScheduledCommunicationTime mw_scheduledCommunicationTime( + template ScheduledCommunicationTime.dayofWeek p_dayofWeek := *, + template ScheduledCommunicationTime.timeofDayStart p_timeofDayStart := *, + template ScheduledCommunicationTime.timeofDayEnd p_timeofDayEnd := *, + template ScheduledCommunicationTime.iE_Extensions p_iE_Extensions := * + ) := { + dayofWeek := p_dayofWeek, + timeofDayStart := p_timeofDayStart, + timeofDayEnd := p_timeofDayEnd, + iE_Extensions := p_iE_Extensions + } // End of template mw_scheduledCommunicationTime + + template SecondaryRATUsageInformation mw_secondaryRATUsageInformation( + template PDUSessionUsageReport p_pDUSessionUsageReport := *, + template QoSFlowsUsageReportList p_qosFlowsUsageReportList := *, + template SecondaryRATUsageInformation.iE_Extension p_iE_Extensions := * + ) := { + pDUSessionUsageReport := p_pDUSessionUsageReport, + qosFlowsUsageReportList := p_qosFlowsUsageReportList, + iE_Extension := p_iE_Extensions + } // End of template mw_secondaryRATUsageInformation + + template SecondaryRATDataUsageReportTransfer mw_secondaryRATDataUsageReportTransfer( + template SecondaryRATUsageInformation p_secondaryRATUsageInformation := *, + template SecondaryRATDataUsageReportTransfer.iE_Extensions p_iE_Extensions := * + ) := { + secondaryRATUsageInformation := p_secondaryRATUsageInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_secondaryRATDataUsageReportTransfer + + template (present) SecurityContext mw_securityContext( + template (present) NextHopChainingCount p_nextHopChainingCount := ?, + template (present) SecurityKey p_nextHopNH := ?, + template SecurityContext.iE_Extensions p_iE_Extensions := * + ) := { + nextHopChainingCount := p_nextHopChainingCount, + nextHopNH := p_nextHopNH, + iE_Extensions := p_iE_Extensions + } // End of template mw_securityContext + + template (present) SecurityIndication mw_securityIndication( + template (present) IntegrityProtectionIndication p_integrityProtectionIndication := ?, + template (present) ConfidentialityProtectionIndication p_confidentialityProtectionIndication := ?, + template MaximumIntegrityProtectedDataRate p_maximumIntegrityProtectedDataRate_UL := *, + template SecurityIndication.iE_Extensions p_iE_Extensions := * + ) := { + integrityProtectionIndication := p_integrityProtectionIndication, + confidentialityProtectionIndication := p_confidentialityProtectionIndication, + maximumIntegrityProtectedDataRate_UL := p_maximumIntegrityProtectedDataRate_UL, + // The above IE shall be present if integrity protection is required or preferred + iE_Extensions := p_iE_Extensions + } // End of template mw_securityIndication + + template (present) SecurityIndication.iE_Extensions mw_securityIndication_id_MaximumIntegrityProtectedDataRate_DL( + template (present) MaximumIntegrityProtectedDataRate p_maximumIntegrityProtectedDataRate := ? + ) := { + { + id := id_MaximumIntegrityProtectedDataRate_DL, + criticality := ignore, + extensionValue := { MaximumIntegrityProtectedDataRate := p_maximumIntegrityProtectedDataRate } + } + } // End of template mw_securityIndication_id_MaximumIntegrityProtectedDataRate_DL + + template (present) SecurityResult mw_securityResult( + template (present) IntegrityProtectionResult p_integrityProtectionResult := ?, + template (present) ConfidentialityProtectionResult p_confidentialityProtectionResult := ?, + template SecurityResult.iE_Extensions p_iE_Extensions := * + ) := { + integrityProtectionResult := p_integrityProtectionResult, + confidentialityProtectionResult := p_confidentialityProtectionResult, + iE_Extensions := p_iE_Extensions + } // End of template mw_securityResult + + template (present) SensorMeasurementConfiguration mw_sensorMeasurementConfiguration( + template (present) SensorMeasConfig p_sensorMeasConfig := ?, + template SensorMeasConfigNameList p_sensorMeasConfigNameList := *, + template SensorMeasurementConfiguration.iE_Extensions p_iE_Extensions := * + ) := { + sensorMeasConfig := p_sensorMeasConfig, + sensorMeasConfigNameList := p_sensorMeasConfigNameList, + iE_Extensions := p_iE_Extensions + } // End of template mw_sensorMeasurementConfiguration + + template (present) SensorMeasConfigNameItem mw_sensorMeasConfigNameItem( + template (present) SensorNameConfig p_sensorNameConfig := ?, + template SensorMeasConfigNameItem.iE_Extensions p_iE_Extensions := * + ) := { + sensorNameConfig := p_sensorNameConfig, + iE_Extensions := p_iE_Extensions + } // End of template mw_sensorMeasConfigNameItem + + template (present) SensorMeasConfig mw_sensorMeasConfig(template (present) SensorMeasConfig p_value := setup) := p_value; + + template (present) SensorNameConfig mw_sensorNameConfig_uncompensatedBarometricConfig( + template (present) SensorNameConfig.uncompensatedBarometricConfig p_uncompensatedBarometricConfig := true_ + ) := { + uncompensatedBarometricConfig := p_uncompensatedBarometricConfig + } // End of template mw_sensorNameConfig_uncompensatedBarometricConfig + + template (present) SensorNameConfig mw_sensorNameConfig_ueSpeedConfig( + template (present) SensorNameConfig.ueSpeedConfig p_ueSpeedConfig := true_ + ) := { + ueSpeedConfig := p_ueSpeedConfig + } // End of template mw_sensorNameConfig_ueSpeedConfig + + template (present) SensorNameConfig mw_sensorNameConfig_ueOrientationConfig( + template (present) SensorNameConfig.ueOrientationConfig p_ueOrientationConfig := true_ + ) := { + ueOrientationConfig := p_ueOrientationConfig + } // End of template mw_sensorNameConfig_ueOrientationConfig + + template (present) SensorNameConfig mw_sensorNameConfig_choice_Extensions( + template (present) SensorNameConfig.choice_Extensions p_choice_Extensions + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_sensorNameConfig_choice_Extensions + + template (present) ServedGUAMIItem mw_servedGUAMIItem( + template (present) GUAMI p_gUAMI := ?, + template AMFName p_backupAMFName := *, + template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * + ) := { + gUAMI := p_gUAMI, + backupAMFName := p_backupAMFName, + iE_Extensions := p_iE_Extensions + } // End of template mw_servedGUAMIItem + + template (present) ServedGUAMIItem.iE_Extensions mw_servedGUAMIItemw_id_GUAMIType( + template (present) GUAMIType p_gUAMIType := ? + ) := { + { + id := id_GUAMIType, + criticality := ignore, + extensionValue := { GUAMIType := p_gUAMIType } + } + } // End of template mw_servedGUAMIItemw_id_GUAMIType + + template (present) ServiceAreaInformation_Item mw_serviceAreaInformation_Item( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template AllowedTACs p_allowedTACs := *, + template NotAllowedTACs p_notAllowedTACs := *, + template ServiceAreaInformation_Item.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + allowedTACs := p_allowedTACs, + notAllowedTACs := p_notAllowedTACs, + iE_Extensions := p_iE_Extensions + } // End of template mw_serviceAreaInformation_Item + + template (present) ServiceType mw_serviceType(template (present) ServiceType p_value := streaming) := p_value; + + template (present) SharedNGU_MulticastTNLInformation mw_sharedNGU_MulticastTNLInformation( + template (present) TransportLayerAddress p_iP_MulticastAddress := ?, + template (present) TransportLayerAddress p_iP_SourceAddress := ?, + template (present) GTP_TEID p_gTP_TEID := ?, + template SharedNGU_MulticastTNLInformation.iE_Extensions p_iE_Extensions := * + ) := { + iP_MulticastAddress := p_iP_MulticastAddress, + iP_SourceAddress := p_iP_SourceAddress, + gTP_TEID := p_gTP_TEID, + iE_Extensions := p_iE_Extensions + } // End of template mw_sharedNGU_MulticastTNLInformation + + template (present) SliceOverloadItem mw_sliceOverloadItem( + template (present) S_NSSAI p_s_NSSAI := ?, + template SliceOverloadItem.iE_Extensions p_iE_Extensions := * + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_sliceOverloadItem + + template (present) SliceSupportItem mw_sliceSupportItem( + template (present) S_NSSAI p_s_NSSAI := ?, + template SliceSupportItem.iE_Extensions p_iE_Extensions := * + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_sliceSupportItem + + template (present) SliceSupportQMC_Item mw_sliceSupportQMC_Item( + template (present) S_NSSAI p_s_NSSAI := ?, + template SliceSupportQMC_Item.iE_Extensions p_iE_Extensions := * + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_sliceSupportQMC_Item + + template (present) SNPN_MobilityInformation mw_sNPN_MobilityInformation( + template (present) NID p_serving_NID := ?, + template SNPN_MobilityInformation.iE_Extensions p_iE_Extensions := * + ) := { + serving_NID := p_serving_NID, + iE_Extensions := p_iE_Extensions + } // End of template mw_sNPN_MobilityInformation + + template (present) S_NSSAI mw_s_NSSAI( + template (present) SST p_sST := ?, + template SD p_sD := *, + template S_NSSAI.iE_Extensions p_iE_Extensions := * + ) := { + sST := p_sST, + sD := p_sD, + iE_Extensions := p_iE_Extensions + } // End of template mw_s_NSSAI + + template (present) SONConfigurationTransfer mw_sONConfigurationTransfer( + template (present) TargetRANNodeID_SON p_targetRANNodeID_SON := ?, + template (present) SourceRANNodeID p_sourceRANNodeID := ?, + template (present) SONInformation p_sONInformation := ?, + template XnTNLConfigurationInfo p_xnTNLConfigurationInfo := *, + template SONConfigurationTransfer.iE_Extensions p_iE_Extensions := * + ) := { + targetRANNodeID_SON := p_targetRANNodeID_SON, + sourceRANNodeID := p_sourceRANNodeID, + sONInformation := p_sONInformation, + xnTNLConfigurationInfo := p_xnTNLConfigurationInfo, + // The above IE shall be present if the SON Information IE contains the SON Information Request IE set to “Xn TNL Configuration Info” + iE_Extensions := p_iE_Extensions + } // End of template mw_sONConfigurationTransfer + + template (present) SONInformation mw_sONInformation_sONInformationRequest( + template (present) SONInformationRequest p_sONInformationRequest := ? + ) := { + sONInformationRequest := p_sONInformationRequest + } // End of template mw_sONInformation_sONInformationRequest + + template (present) SONInformation mw_sONInformation_sONInformationReply( + template (present) SONInformationReply p_sONInformationReply := ? + ) := { + sONInformationReply := p_sONInformationReply + } // End of template mw_sONInformation_sONInformationReply + + template (present) SONInformation mw_sONInformation_choice_Extensions( + template (present) SONInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_sONInformation_choice_Extensions + + template (present) SONInformation.choice_Extensions mw_sONInformatio_id_SONInformationReport( + template (present) SONInformationReport p_sONInformationReport := ? + ) := { + id := id_SONInformationReport, + criticality := ignore, + value_ := { SONInformationReport := p_sONInformationReport } + } // End of template mw_sONInformatio_id_SONInformationReport + + template SONInformationReply mw_sONInformationReply( + template XnTNLConfigurationInfo p_xnTNLConfigurationInfo := *, + template SONInformationReply.iE_Extensions p_iE_Extensions := * + ) := { + xnTNLConfigurationInfo := p_xnTNLConfigurationInfo, + iE_Extensions := p_iE_Extensions + } // End of template mw_sONInformationReply + + template (present) SONInformationReport mw_sONInformationReport_failureIndicationInformation( + template (present) FailureIndication p_failureIndicationInformation := ? + ) := { + failureIndicationInformation := p_failureIndicationInformation + } // End of template mw_sONInformationReport_failureIndicationInformation + + template (present) SONInformationReport mw_sONInformationReport_hOReportInformation( + template (present) HOReport p_hOReportInformation := ? + ) := { + hOReportInformation := p_hOReportInformation + } // End of template mw_sONInformationReport_hOReportInformation + + template (present) SONInformationReport mw_sONInformationReport_choice_Extensions( + template (present) SONInformationReport.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_sONInformationReport_choice_Extensions + + template (present) SONInformationReport.choice_Extensions mw_sONInformationReport_id_SONInformationReport( + template (present) SuccessfulHandoverReportList p_successfulHandoverReportList := ? + ) := { + id := id_SONInformationReport, + criticality := ignore, + value_ := { SuccessfulHandoverReportList := p_successfulHandoverReportList } + } // End of template mw_sONInformationReport_id_SONInformationReport + + template (present) SuccessfulHandoverReport_Item mw_successfulHandoverReport_Item( + template (present) octetstring p_successfulHOReportContainer := ?, + template SuccessfulHandoverReport_Item.iE_Extensions p_iE_Extensions := * + ) := { + successfulHOReportContainer := p_successfulHOReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template mw_successfulHandoverReport_Item + + template (present) SONInformationRequest mw_sONInformationRequest(template (present) SONInformationRequest p_value := ?) := p_value; + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer( + template (present) NGRAN_CGI p_targetCell_ID := ?, + template (present) RRCContainer p_rRCContainer := ?, + template (present) UEHistoryInformation p_uEHistoryInformation := ?, + template PDUSessionResourceInformationList p_pDUSessionResourceInformationList := *, + template E_RABInformationList p_e_RABInformationList := *, + template IndexToRFSP p_indexToRFSP := *, + template SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions p_iE_Extensions := * + ):= { + rRCContainer := p_rRCContainer, + pDUSessionResourceInformationList := p_pDUSessionResourceInformationList, + e_RABInformationList := p_e_RABInformationList, + targetCell_ID := p_targetCell_ID, + indexToRFSP := p_indexToRFSP, + uEHistoryInformation := p_uEHistoryInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SgNB_UE_X2AP_ID( + template (present) SgNB_UE_X2AP_ID p_sgNB_UE_X2AP_ID := ? + ) := { + { + id := id_SgNB_UE_X2AP_ID, + criticality := ignore, + extensionValue := { SgNB_UE_X2AP_ID := p_sgNB_UE_X2AP_ID } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SgNB_UE_X2AP_ID + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEHistoryInformationFromTheUE( + template (present) UEHistoryInformationFromTheUE p_uEHistoryInformationFromTheUE := ? + ) := { + { + id := id_UEHistoryInformationFromTheUE, + criticality := ignore, + extensionValue := { UEHistoryInformationFromTheUE := p_uEHistoryInformationFromTheUE } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEHistoryInformationFromTheUE + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SourceNodeID( + template (present) SourceNodeID p_sourceNodeID := ? + ) := { + { + id := id_SourceNodeID, + criticality := ignore, + extensionValue := { SourceNodeID := p_sourceNodeID } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_SourceNodeID + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEContextReferenceAtSource( + template (present) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := ? + ) := { + { + id := id_UEContextReferenceAtSource, + criticality := ignore, + extensionValue := { RAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_UEContextReferenceAtSource + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_SourcetoTargetList( + template (present) MBS_ActiveSessionInformation_SourcetoTargetList p_mBS_ActiveSessionInformation_SourcetoTargetListD := ? + ) := { + { + id := id_MBS_ActiveSessionInformation_SourcetoTargetList, + criticality := ignore, + extensionValue := { MBS_ActiveSessionInformation_SourcetoTargetList := p_mBS_ActiveSessionInformation_SourcetoTargetListD } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_SourcetoTargetList + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_QMCConfigInfo( + template (present) QMCConfigInfo p_qMCConfigInfo := ? + ) := { + { + id := id_QMCConfigInfo, + criticality := ignore, + extensionValue := { QMCConfigInfo := p_qMCConfigInfo } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_QMCConfigInfo + + template (present) SourceNGRANNode_ToTargetNGRANNode_TransparentContainer.iE_Extensions mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_NGAPIESupportInformationRequestList( + template (present) NGAPIESupportInformationRequestList p_nGAPIESupportInformationRequestList := ? + ) := { + { + id := id_NGAPIESupportInformationRequestList, + criticality := ignore, + extensionValue := { NGAPIESupportInformationRequestList := p_nGAPIESupportInformationRequestList } + } + } // End of template mw_sourceNGRANNode_ToTargetNGRANNode_TransparentContainer_id_NGAPIESupportInformationRequestList + + template (present) SourceNodeID mw_sourceNodeID_sourceengNB_ID( + template (present) GlobalGNB_ID p_sourceengNB_ID := ? + ) := { + sourceengNB_ID := p_sourceengNB_ID + } // End of template mw_sourceNodeID_sourceengNB_ID + + template (present) SourceNodeID mw_sourceNodeID_choice_Extensions( + template (present) SourceNodeID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_sourceNodeID_choice_Extensions + + template (present) SourceOfUEActivityBehaviourInformation mw_sourceOfUEActivityBehaviourInformation(template (present) SourceOfUEActivityBehaviourInformation p_value := ?) := p_value; + + template (present) SourceRANNodeID mw_sourceRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) TAI p_selectedTAI := ?, + template SourceRANNodeID.iE_Extensions p_iE_Extensions := * + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_sourceRANNodeID + + // This IE includes a transparent container from the source RAN node to the target RAN node. + // The octets of the OCTET STRING are encoded according to the specifications of the target system. + + template SourceToTarget_AMFInformationReroute mw_sourceToTarget_AMFInformationReroute( + template ConfiguredNSSAI p_configuredNSSAI := *, + template RejectedNSSAIinPLMN p_rejectedNSSAIinPLMN := *, + template RejectedNSSAIinTA p_rejectedNSSAIinTA := *, + template SourceToTarget_AMFInformationReroute.iE_Extensions p_iE_Extensions := * + ) := { + configuredNSSAI := p_configuredNSSAI, + rejectedNSSAIinPLMN := p_rejectedNSSAIinPLMN, + rejectedNSSAIinTA := p_rejectedNSSAIinTA, + iE_Extensions := p_iE_Extensions + } // End of template mw_sourceToTarget_AMFInformationReroute + + // This IE includes information from the source Core node to the target Core node for reroute information provide by NSSF. + // The octets of the OCTET STRING are encoded according to the specifications of the Core network. + + template (present) SRVCCOperationPossible mw_sRVCCOperationPossible(template (present) SRVCCOperationPossible p_value := ?) := p_value; + + template (present) SupportedTAItem mw_supportedTAItem( + template (present) TAC p_tAC := ?, + template (present) BroadcastPLMNList p_broadcastPLMNList := ?, + template SupportedTAItem.iE_Extensions p_iE_Extensions := * + ) := { + tAC := p_tAC, + broadcastPLMNList := p_broadcastPLMNList, + iE_Extensions := p_iE_Extensions + } // End of template mw_supportedTAItem + + template (present) SupportedTAItem.iE_Extensions mw_supportedTAItemw_id_ConfiguredTACIndication( + template (present) ConfiguredTACIndication p_configuredTACIndication := ? + ) := { + { + id := id_ConfiguredTACIndication, + criticality := ignore, + extensionValue := { ConfiguredTACIndication := p_configuredTACIndication } + } + } // End of template mw_supportedTAItemw_id_ConfiguredTACIndication + + template (present) SupportedTAItem.iE_Extensions mw_supportedTAItemw_id_RAT_Information( + template (present) RAT_Information p_rAT_Information := ? + ) := { + { + id := id_RAT_Information, + criticality := reject, + extensionValue := { RAT_Information := p_rAT_Information } + } + } // End of template mw_supportedTAItemw_id_RAT_Information + + template (present) SupportedTAItem.iE_Extensions mw_supportedTAItemw_full( + template (present) ConfiguredTACIndication p_configuredTACIndication := ?, + template (present) RAT_Information p_rAT_Information := ? + ) := { + { + id := id_ConfiguredTACIndication, + criticality := ignore, + extensionValue := { ConfiguredTACIndication := p_configuredTACIndication } + }, + { + id := id_RAT_Information, + criticality := reject, + extensionValue := { RAT_Information := p_rAT_Information } + } + } // End of template mw_supportedTAItemw_full + + template (present) SuspendIndicator mw_suspendIndicator(template (present) SuspendIndicator p_value := true_) := p_value; + + template (present) Suspend_Request_Indication mw_suspend_Request_Indication(template (present) Suspend_Request_Indication p_value := suspend_requested) := p_value; + + template (present) Suspend_Response_Indication mw_suspend_Response_Indication(template (present) Suspend_Response_Indication p_value := suspend_indicated) := p_value; + + template (present) TAI mw_tAI( + template (present) PLMNIdentity p_pLMNIdentity := ?, + template (present) TAC p_tAC := ?, + template TAI.iE_Extensions p_iE_Extensions := * + ) := { + pLMNIdentity := p_pLMNIdentity, + tAC := p_tAC, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAI + + template (present) TAIBroadcastEUTRA_Item mw_tAIBroadcastEUTRA_Item( + template (present) TAI p_tAI := ?, + template (present) CompletedCellsInTAI_EUTRA p_completedCellsInTAI_EUTRA := ?, + template TAIBroadcastEUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + completedCellsInTAI_EUTRA := p_completedCellsInTAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAIBroadcastEUTRA_Item + + template (present) TAIBroadcastNR_Item mw_tAIBroadcastNR_Item( + template (present) TAI p_tAI := ?, + template (present) CompletedCellsInTAI_NR p_completedCellsInTAI_NR := ?, + template TAIBroadcastNR_Item.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + completedCellsInTAI_NR := p_completedCellsInTAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAIBroadcastNR_Item + + template (present) TAICancelledEUTRA_Item mw_tAICancelledEUTRA_Item( + template (present) TAI p_tAI := ?, + template (present) CancelledCellsInTAI_EUTRA p_cancelledCellsInTAI_EUTRA := ?, + template TAICancelledEUTRA_Item.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + cancelledCellsInTAI_EUTRA := p_cancelledCellsInTAI_EUTRA, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAICancelledEUTRA_Item + + template (present) TAICancelledNR_Item mw_tAICancelledNR_Item( + template (present) TAI p_tAI := ?, + template (present) CancelledCellsInTAI_NR p_cancelledCellsInTAI_NR := ?, + template TAICancelledNR_Item.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + cancelledCellsInTAI_NR := p_cancelledCellsInTAI_NR, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAICancelledNR_Item + + template (present) TAIListForInactiveItem mw_tAIListForInactiveItem( + template (present) TAI p_tAI := ?, + template TAIListForInactiveItem.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAIListForInactiveItem + + template (present) TAIListForPagingItem mw_tAIListForPagingItem( + template (present) TAI p_tAI := ?, + template TAIListForPagingItem.iE_Extensions p_iE_Extensions := * + ) := { + tAI := p_tAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAIListForPagingItem + + template (present) TAINSAGSupportItem mw_tAINSAGSupportItem( + template (present) NSAG_ID p_nSAG_ID := ?, + template (present) ExtendedSliceSupportList p_nSAGSliceSupportList := ?, + template TAINSAGSupportItem.iE_Extensions p_iE_Extensions := * + ) := { + nSAG_ID := p_nSAG_ID, + nSAGSliceSupportList := p_nSAGSliceSupportList, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAINSAGSupportItem + + template (present) TargeteNB_ID mw_targeteNB_ID( + template (present) GlobalNgENB_ID p_globalENB_ID := ?, + template (present) EPS_TAI p_selected_EPS_TAI := ?, + template TargeteNB_ID.iE_Extensions p_iE_Extensions := * + ) := { + globalENB_ID := p_globalENB_ID, + selected_EPS_TAI := p_selected_EPS_TAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_targeteNB_ID + + template (present) TargetHomeENB_ID mw_targetHomeENB_ID( + template (present) PLMNIdentity p_pLMNidentity := ?, + template (present) TargetHomeENB_ID.homeENB_ID p_homeENB_ID := ?, + template (present) EPS_TAI p_selected_EPS_TAI := ?, + template TargetHomeENB_ID.iE_Extensions p_iE_Extensions := * + ) := { + pLMNidentity := p_pLMNidentity, + homeENB_ID := p_homeENB_ID, + selected_EPS_TAI := p_selected_EPS_TAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetHomeENB_ID + + template (present) TargetID mw_targetID_targetRANNodeID( + template (present) TargetRANNodeID p_targetRANNodeID := ? + ) := { + targetRANNodeID := p_targetRANNodeID + } // End of template mw_targetID_targetRANNodeID + + template (present) TargetID mw_targetID_targeteNB_ID( + template (present) TargeteNB_ID p_targeteNB_ID := ? + ) := { + targeteNB_ID := p_targeteNB_ID + } // End of template mw_targetID_targeteNB_ID + + template (present) TargetID mw_targetID_choice_Extensions( + template (present) TargetID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_targetID_choice_Extensions + + template (present) TargetID.choice_Extensions mw_targetID_id_TargetRNC_ID( + template (present) TargetRNC_ID p_targetRNC_ID := ? + ) := { + id := id_TargetRNC_ID, + criticality := reject, + value_ := { TargetRNC_ID := p_targetRNC_ID } + } // End of template mw_sONInformationReport_id_SONInformationReport + + template (present) TargetID.choice_Extensions mw_targetID_id_TargetHomeENB_ID( + template (present) TargetHomeENB_ID p_targetHomeENB_ID := ? + ) := { + id := id_TargetHomeENB_ID, + criticality := reject, + value_ := { TargetHomeENB_ID := p_targetHomeENB_ID } + } // End of template mw_sONInformationReport_id_TargetHomeENB_ID + + template (present) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer( + template (present) RRCContainer p_rRCContainer := ?, + template TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions p_iE_Extensions := * + ) := { + rRCContainer := p_rRCContainer, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer + + template (present) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DAPSResponseInfoList( + template (present) DAPSResponseInfoList p_dAPSResponseInfoList := ? + ) := { + { + id := id_ConfiguredTACIndication, + criticality := ignore, + extensionValue := { DAPSResponseInfoList := p_dAPSResponseInfoList } + } + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DAPSResponseInfoList + + template (present) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DirectForwardingPathAvailability( + template (present) DirectForwardingPathAvailability p_directForwardingPathAvailability := ? + ) := { + { + id := id_DirectForwardingPathAvailability, + criticality := ignore, + extensionValue := { DirectForwardingPathAvailability := p_directForwardingPathAvailability } + } + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_DirectForwardingPathAvailability + + template (present) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_TargettoSourceList( + template (present) MBS_ActiveSessionInformation_TargettoSourceList p_mBS_ActiveSessionInformation_TargettoSourceList := ? + ) := { + { + id := id_MBS_ActiveSessionInformation_TargettoSourceList, + criticality := ignore, + extensionValue := { MBS_ActiveSessionInformation_TargettoSourceList := p_mBS_ActiveSessionInformation_TargettoSourceList } + } + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_MBS_ActiveSessionInformation_TargettoSourceList + + template (present) TargetNGRANNode_ToSourceNGRANNode_TransparentContainer.iE_Extensions mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_NGAPIESupportInformationResponseList( + template (present) NGAPIESupportInformationResponseList p_nGAPIESupportInformationResponseList := ? + ) := { + { + id := id_NGAPIESupportInformationResponseList, + criticality := ignore, + extensionValue := { NGAPIESupportInformationResponseList := p_nGAPIESupportInformationResponseList } + } + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_TransparentContainer_id_NGAPIESupportInformationResponseList + + template TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer mw_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer( + template Cell_CAGInformation p_cell_CAGInformation := *, + template TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer.iE_Extensions p_iE_Extensions := * + ) := { + cell_CAGInformation := p_cell_CAGInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer + + template (present) TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer.iE_Extensions mw_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_id_NGAPIESupportInformationResponseList( + template (present) NGAPIESupportInformationResponseList p_nGAPIESupportInformationResponseList := ? + ) := { + { + id := id_NGAPIESupportInformationResponseList, + criticality := ignore, + extensionValue := { NGAPIESupportInformationResponseList := p_nGAPIESupportInformationResponseList } + } + } // End of template mw_targetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_id_NGAPIESupportInformationResponseList + + template (present) TargetNSSAI_Item mw_targetNSSAI_Item( + template (present) S_NSSAI p_s_NSSAI := ?, + template TargetNSSAI_Item.iE_Extensions p_iE_Extensions := * + ) := { + s_NSSAI := p_s_NSSAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetNSSAI_Item + + template (present) TargetNSSAIInformation mw_targetNSSAIInformation( + template (present) TargetNSSAI p_targetNSSAI := ?, + template (present) IndexToRFSP p_indexToRFSP := ?, + template TargetNSSAIInformation.iE_Extensions p_iE_Extensions := * + ) := { + targetNSSAI := p_targetNSSAI, + indexToRFSP := p_indexToRFSP, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetNSSAIInformation + + template (present) TargetRANNodeID mw_targetRANNodeID( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) TAI p_selectedTAI := ?, + template TargetRANNodeID.iE_Extensions p_iE_Extensions := * + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetRANNodeID + + template (present) TargetRANNodeID_RIM mw_targetRANNodeID_RIM( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) TAI p_selectedTAI := ?, + template TargetRANNodeID_RIM.iE_Extensions p_iE_Extensions := * + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetRANNodeID_RIM + + template (present) TargetRANNodeID_SON mw_targetRANNodeID_SON( + template (present) GlobalRANNodeID p_globalRANNodeID := ?, + template (present) TAI p_selectedTAI := ?, + template TargetRANNodeID_SON.iE_Extensions p_iE_Extensions := * + ) := { + globalRANNodeID := p_globalRANNodeID, + selectedTAI := p_selectedTAI, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetRANNodeID_SON + + template (present) TargetRANNodeID_SON.iE_Extensions mw_targetRANNodeID_SON_id_NR_CGI( + template (present) NR_CGI p_nR_CGI := ? + ) := { + { + id := id_NR_CGI, + criticality := ignore, + extensionValue := { NR_CGI := p_nR_CGI } + } + } // End of template mw_targetRANNodeID_SON_id_NR_CGI + + template (present) TargetRNC_ID mw_targetRNC_ID( + template (present) LAI p_lAI := ?, + template (present) RNC_ID p_rNC_ID := ?, + template ExtendedRNC_ID p_extendedRNC_ID := *, + template TargetRNC_ID.iE_Extensions p_iE_Extensions := * + ) := { + lAI := p_lAI, + rNC_ID := p_rNC_ID, + extendedRNC_ID := p_extendedRNC_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_targetRNC_ID + + template (present) TimerApproachForGUAMIRemoval mw_timerApproachForGUAMIRemoval(template (present) TimerApproachForGUAMIRemoval p_value := ?) := p_value; + + template (present) TimeSyncAssistanceInfo mw_timeSyncAssistanceInfo( + template (present) TimeSyncAssistanceInfo.timeDistributionIndication p_timeDistributionIndication := enabled, + template TimeSyncAssistanceInfo.uUTimeSyncErrorBudget p_uUTimeSyncErrorBudget := *, + template TimeSyncAssistanceInfo.iE_Extensions p_iE_Extensions := * + ) := { + timeDistributionIndication := p_timeDistributionIndication, + uUTimeSyncErrorBudget := p_uUTimeSyncErrorBudget, + // The above IE shall be present if the Time Distribution Indication IE is set to the value “enabled” + iE_Extensions := p_iE_Extensions + } // End of template mw_timeSyncAssistanceInfo + + template (present) TimeToWait mw_timeToWait(template (present) TimeToWait p_value := ?) := p_value; + + template (present) TNGF_ID mw_tNGF_ID_tNGF_ID( + template (present) TNGF_ID.tNGF_ID p_tNGF_ID := ? + ) := { + tNGF_ID := p_tNGF_ID + } // End of template mw_tNGF_ID_tNGF_ID + + template (present) TNGF_ID mw_tNGF_ID_choice_Extensions( + template (present) TNGF_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_tNGF_ID_choice_Extensions + + template (present) TNLAssociationItem mw_tNLAssociationItem( + template (present) CPTransportLayerInformation p_tNLAssociationAddress := ?, + template (present) Cause p_cause := ?, + template TNLAssociationItem.iE_Extensions p_iE_Extensions := * + ) := { + tNLAssociationAddress := p_tNLAssociationAddress, + cause := p_cause, + iE_Extensions := p_iE_Extensions + } // End of template mw_tNLAssociationItem + + template (present) TNLAssociationUsage mw_TNLAssociationUsage(template (present) TNLAssociationUsage p_value := ?) := p_value; + + template (present) TooearlyIntersystemHO mw_tooearlyIntersystemHO( + template (present) EUTRA_CGI p_sourcecellID := ?, + template (present) NGRAN_CGI p_failurecellID := ?, + template UERLFReportContainer p_uERLFReportContainer := *, + template TooearlyIntersystemHO.iE_Extensions p_iE_Extensions := * + ) := { + sourcecellID := p_sourcecellID, + failurecellID := p_failurecellID, + uERLFReportContainer := p_uERLFReportContainer, + iE_Extensions := p_iE_Extensions + } // End of template mw_tooearlyIntersystemHO + + template (present) TraceActivation mw_traceActivation( + template (present) NGRANTraceID p_nGRANTraceID := ?, + template (present) InterfacesToTrace p_interfacesToTrace := ?, + template (present) TraceDepth p_traceDepth := ?, + template (present) TransportLayerAddress p_traceCollectionEntityIPAddress := ?, + template TraceActivation.iE_Extensions p_iE_Extensions := * + ) := { + nGRANTraceID := p_nGRANTraceID, + interfacesToTrace := p_interfacesToTrace, + traceDepth := p_traceDepth, + traceCollectionEntityIPAddress := p_traceCollectionEntityIPAddress, + iE_Extensions := p_iE_Extensions + } // End of template mw_traceActivation + + template (present) TraceActivation.iE_Extensions mw_traceActivation_id_MDTConfiguration( + template (present) MDT_Configuration p_mDT_Configuration := ? + ) := { + { + id := id_MDTConfiguration, + criticality := ignore, + extensionValue := { MDT_Configuration := p_mDT_Configuration } + } + } // End of template mw_traceActivation_id_MDTConfiguration + + template (present) TraceActivation.iE_Extensions mw_traceActivation_id_TraceCollectionEntityURI( + template (present) URI_address p_uRI_address := ? + ) := { + { + id := id_TraceCollectionEntityURI, + criticality := ignore, + extensionValue := { URI_address := p_uRI_address } + } + } // End of template mw_traceActivation_id_TraceCollectionEntityURI + + template (present) TraceActivation.iE_Extensions mw_traceActivation_full( + template (present) MDT_Configuration p_mDT_Configuration := ?, + template (present) URI_address p_uRI_address := ? + ) := { + { + id := id_MDTConfiguration, + criticality := ignore, + extensionValue := { MDT_Configuration := p_mDT_Configuration } + },{ + id := id_TraceCollectionEntityURI, + criticality := ignore, + extensionValue := { URI_address := p_uRI_address } + } + } // End of template mw_traceActivation_full + + template (present) TraceDepth mw_traceDepth(template (present) TraceDepth p_value := ?) := p_value; + + template (present) TypeOfError mw_typeOfError(template (present) TypeOfError p_value := ?) := p_value; + + template (present) TAIBasedMDT mw_tAIBasedMDT( + template (present) TAIListforMDT p_tAIListforMDT := ?, + template TAIBasedMDT.iE_Extensions p_iE_Extensions := * + ) := { + tAIListforMDT := p_tAIListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAIBasedMDT + + template (present) TAIBasedQMC mw_tAIBasedQMC( + template (present) TAIListforQMC p_tAIListforQMC := ?, + template TAIBasedQMC.iE_Extensions p_iE_Extensions := * + ) := { + tAIListforQMC := p_tAIListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template mw_tAIBasedQMC + + template (present) TABasedQMC mw_tABasedQMC( + template (present) TAListforQMC p_tAListforQMC := ?, + template TABasedQMC.iE_Extensions p_iE_Extensions := * + ) := { + tAListforQMC := p_tAListforQMC, + iE_Extensions := p_iE_Extensions + } // End of template mw_tABasedQMC + + template (present) TABasedMDT mw_tABasedMDT( + template (present) TAListforMDT p_tAListforMDT := ?, + template TABasedMDT.iE_Extensions p_iE_Extensions := * + ) := { + tAListforMDT := p_tAListforMDT, + iE_Extensions := p_iE_Extensions + } // End of template mw_tABasedMDT + + template (present) TimeToTrigger mw_timeToTrigger(template (present) TimeToTrigger p_value := ?) := p_value; + + template (present) TWIF_ID mw_tWIF_ID_tWIF_ID( + template (present) TWIF_ID.tWIF_ID p_tWIF_ID := ? + ) := { + tWIF_ID := p_tWIF_ID + } // End of template mw_tWIF_ID_tWIF_ID + + template (present) TWIF_ID mw_tWIF_ID_choice_Extensions( + template (present) TWIF_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_tWIF_ID_choice_Extensions + + template (present) TSCAssistanceInformation mw_tSCAssistanceInformation( + template (present) Periodicity p_periodicity := ?, + template BurstArrivalTime p_burstArrivalTime := *, + template TSCAssistanceInformation.iE_Extensions p_iE_Extensions := * + ) := { + periodicity := p_periodicity, + burstArrivalTime := p_burstArrivalTime, + iE_Extensions := p_iE_Extensions + } // End of template mw_tSCAssistanceInformation + + template (present) TSCAssistanceInformation.iE_Extensions mw_tSCAssistanceInformation_id_SurvivalTime( + template (present) SurvivalTime p_survivalTime := ? + ) := { + { + id := id_SurvivalTime, + criticality := ignore, + extensionValue := { SurvivalTime := p_survivalTime } + } + } // End of template mw_tSCAssistanceInformation_id_SurvivalTime + + template TSCTrafficCharacteristics mw_tSCTrafficCharacteristics( + template TSCAssistanceInformation p_tSCAssistanceInformationDL := *, + template TSCAssistanceInformation p_tSCAssistanceInformationUL := *, + template TSCTrafficCharacteristics.iE_Extensions p_iE_Extensions := * + ) := { + tSCAssistanceInformationDL := p_tSCAssistanceInformationDL, + tSCAssistanceInformationUL := p_tSCAssistanceInformationUL, + iE_Extensions := p_iE_Extensions + } // End of template mw_tSCTrafficCharacteristics + + template (present) UEAggregateMaximumBitRate mw_uEAggregateMaximumBitRate( + template (present) BitRate p_uEAggregateMaximumBitRateDL := ?, + template (present) BitRate p_uEAggregateMaximumBitRateUL := ?, + template UEAggregateMaximumBitRate.iE_Extensions p_iE_Extensions := * + ) := { + uEAggregateMaximumBitRateDL := p_uEAggregateMaximumBitRateDL, + uEAggregateMaximumBitRateUL := p_uEAggregateMaximumBitRateUL, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEAggregateMaximumBitRate + + template (present) UEAppLayerMeasInfoItem mw_uEAppLayerMeasInfoItem( + template (present) UEAppLayerMeasConfigInfo p_uEAppLayerMeasConfigInfo := ?, + template UEAppLayerMeasInfoItem.iE_Extensions p_iE_Extensions := * + ) := { + uEAppLayerMeasConfigInfo := p_uEAppLayerMeasConfigInfo, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEAppLayerMeasInfoItem + + template (present) UEAppLayerMeasConfigInfo mw_uEAppLayerMeasConfigInfo( + template (present) QoEReference p_qoEReference := ?, + template (present) TransportLayerAddress p_measCollEntityIPAddress := ?, + template ServiceType p_serviceType, + template AreaScopeOfQMC p_areaScopeOfQMC := *, + template UEAppLayerMeasConfigInfo.qoEMeasurementStatus p_qoEMeasurementStatus := *, + template UEAppLayerMeasConfigInfo.containerForAppLayerMeasConfig p_containerForAppLayerMeasConfig := *, + template UEAppLayerMeasConfigInfo.measConfigAppLayerID p_measConfigAppLayerID := *, + template SliceSupportListQMC p_sliceSupportListQMC := *, + template MDT_AlignmentInfo p_mDT_AlignmentInfo := *, + template AvailableRANVisibleQoEMetrics p_availableRANVisibleQoEMetrics := *, + template UEAppLayerMeasConfigInfo.iE_Extensions p_iE_Extensions := * + ) := { + qoEReference := p_qoEReference, + serviceType := p_serviceType, + areaScopeOfQMC := p_areaScopeOfQMC, + measCollEntityIPAddress := p_measCollEntityIPAddress, + qoEMeasurementStatus := p_qoEMeasurementStatus, + containerForAppLayerMeasConfig := p_containerForAppLayerMeasConfig, + measConfigAppLayerID := p_measConfigAppLayerID, + sliceSupportListQMC := p_sliceSupportListQMC, + mDT_AlignmentInfo := p_mDT_AlignmentInfo, + availableRANVisibleQoEMetrics := p_availableRANVisibleQoEMetrics, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEAppLayerMeasConfigInfo + + template UE_associatedLogicalNG_connectionItem mw_uE_associatedLogicalNG_connectionItem( + template AMF_UE_NGAP_ID p_aMF_UE_NGAP_ID := *, + template RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := *, + template UE_associatedLogicalNG_connectionItem.iE_Extensions p_iE_Extensions := * + ) := { + aMF_UE_NGAP_ID := p_aMF_UE_NGAP_ID, + rAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_uE_associatedLogicalNG_connectionItem + + template (present) UECapabilityInfoRequest mw_uECapabilityInfoRequest(template (present) UECapabilityInfoRequest p_value := requested) := p_value; + + template (present) UEContextRequest mw_uEContextRequest(template (present) UEContextRequest p_value := requested) := p_value; + + template UEContextResumeRequestTransfer mw_uEContextResumeRequestTransfer( + template QosFlowListWithCause p_qosFlowFailedToResumeList := *, + template UEContextResumeRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowFailedToResumeList := p_qosFlowFailedToResumeList, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEContextResumeRequestTransfer + + template UEContextResumeResponseTransfer mw_uEContextResumeResponseTransfer( + template QosFlowListWithCause p_qosFlowFailedToResumeList := *, + template UEContextResumeResponseTransfer.iE_Extensions p_iE_Extensions := * + ) := { + qosFlowFailedToResumeList := p_qosFlowFailedToResumeList, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEContextResumeResponseTransfer + + template UEContextSuspendRequestTransfer mw_uEContextSuspendRequestTransfer( + template SuspendIndicator p_suspendIndicator := *, + template UEContextSuspendRequestTransfer.iE_Extensions p_iE_Extensions := * + ) := { + suspendIndicator := p_suspendIndicator, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEContextSuspendRequestTransfer + + template UE_DifferentiationInfo mw_uE_DifferentiationInfo( + template UE_DifferentiationInfo.periodicCommunicationIndicator p_periodicCommunicationIndicator := *, + template UE_DifferentiationInfo.periodicTime p_periodicTime := *, + template UE_DifferentiationInfo.scheduledCommunicationTime p_scheduledCommunicationTime := *, + template UE_DifferentiationInfo.stationaryIndication p_stationaryIndication := *, + template UE_DifferentiationInfo.trafficProfile p_trafficProfile := *, + template UE_DifferentiationInfo.batteryIndication p_batteryIndication := *, + template UE_DifferentiationInfo.iE_Extensions p_iE_Extensions := * + ) := { + periodicCommunicationIndicator := p_periodicCommunicationIndicator, + periodicTime := p_periodicTime, + scheduledCommunicationTime := p_scheduledCommunicationTime, + stationaryIndication := p_stationaryIndication, + trafficProfile := p_trafficProfile, + batteryIndication := p_batteryIndication, + iE_Extensions := p_iE_Extensions + } // End of template mw_uE_DifferentiationInfo + + template (present) UEHistoryInformationFromTheUE mw_uEHistoryInformationFromTheUE_nR( + template (present) NRMobilityHistoryReport p_nR := ? + ) := { + nR := p_nR + } // End of template mw_uEHistoryInformationFromTheUE_nR + + template (present) UEHistoryInformationFromTheUE mw_uEHistoryInformationFromTheUE_choice_Extensions( + template (present) UEHistoryInformationFromTheUE.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_uEHistoryInformationFromTheUE_choice_Extensions + + template (present) UEIdentityIndexValue mw_uEIdentityIndexValue_indexLength10( + template (present) UEIdentityIndexValue.indexLength10 p_indexLength10 := ? + ) := { + indexLength10 := p_indexLength10 + } // End of template mw_uEIdentityIndexValue_indexLength10 + + template (present) UEIdentityIndexValue mw_uEIdentityIndexValue_choice_Extensions( + template (present) UEIdentityIndexValue.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_uEIdentityIndexValue_choice_Extensions + + template (present) UE_NGAP_IDs mw_uE_NGAP_IDs_uE_NGAP_ID_pair( + template (present) UE_NGAP_ID_pair p_uE_NGAP_ID_pair := ? + ) := { + uE_NGAP_ID_pair := p_uE_NGAP_ID_pair + } // End of template mw_uE_NGAP_IDs_uE_NGAP_ID_pair + + template (present) UE_NGAP_IDs mw_uE_NGAP_IDs_aMF_UE_NGAP_ID( + template (present) AMF_UE_NGAP_ID p_aMF_UE_NGAP_ID := ? + ) := { + aMF_UE_NGAP_ID := p_aMF_UE_NGAP_ID + } // End of template mw_uE_NGAP_IDs_aMF_UE_NGAP_ID + + template (present) UE_NGAP_IDs mw_uE_NGAP_IDs_choice_Extensions( + template (present) UE_NGAP_IDs.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_uE_NGAP_IDs_choice_Extensions + + template (present) UE_NGAP_ID_pair mw_uE_NGAP_ID_pair( + template (present) AMF_UE_NGAP_ID p_aMF_UE_NGAP_ID := ?, + template (present) RAN_UE_NGAP_ID p_rAN_UE_NGAP_ID := ?, + template UE_NGAP_ID_pair.iE_Extensions p_iE_Extensions := * + ) := { + aMF_UE_NGAP_ID := p_aMF_UE_NGAP_ID, + rAN_UE_NGAP_ID := p_rAN_UE_NGAP_ID, + iE_Extensions := p_iE_Extensions + } // End of template mw_uE_NGAP_ID_pair + + template (present) UEPagingIdentity mw_uEPagingIdentity_fiveG_S_TMSI( + template (present) FiveG_S_TMSI p_fiveG_S_TMSI := ? + ) := { + fiveG_S_TMSI := p_fiveG_S_TMSI + } // End of template mw_uEPagingIdentity_fiveG_S_TMSI + + template (present) UEPagingIdentity mw_uEPagingIdentity_choice_Extensions( + template (present) UEPagingIdentity.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_uEPagingIdentity_choice_Extensions + + template (present) UEPresence mw_uEPresence(template (present) UEPresence p_value := in_) := p_value; + + template (present) UEPresenceInAreaOfInterestItem mw_uEPresenceInAreaOfInterestItem( + template (present) LocationReportingReferenceID p_locationReportingReferenceID := ?, + template (present) UEPresence p_uEPresence := ?, + template UEPresenceInAreaOfInterestItem.iE_Extensions p_iE_Extensions := * + ) := { + locationReportingReferenceID := p_locationReportingReferenceID, + uEPresence := p_uEPresence, + iE_Extensions := p_iE_Extensions + } // End of template mw_uEPresenceInAreaOfInterestItem + + template UERadioCapabilityForPaging mw_uERadioCapabilityForPaging( + template UERadioCapabilityForPagingOfNR p_uERadioCapabilityForPagingOfNR := *, + template UERadioCapabilityForPagingOfEUTRA p_uERadioCapabilityForPagingOfEUTRA := *, + template UERadioCapabilityForPaging.iE_Extensions p_iE_Extensions := * + ) := { + uERadioCapabilityForPagingOfNR := p_uERadioCapabilityForPagingOfNR, + uERadioCapabilityForPagingOfEUTRA := p_uERadioCapabilityForPagingOfEUTRA, + iE_Extensions := p_iE_Extensions + } // End of template mw_uERadioCapabilityForPaging + + template (present) UERadioCapabilityForPaging.iE_Extensions mw_uERadioCapabilityForPaging_id_UERadioCapabilityForPagingOfNB_IoT( + template (present) UERadioCapabilityForPagingOfNB_IoT p_uERadioCapabilityForPagingOfNB_IoT := ? + ) := { + { + id := id_UERadioCapabilityForPagingOfNB_IoT, + criticality := ignore, + extensionValue := { UERadioCapabilityForPagingOfNB_IoT := p_uERadioCapabilityForPagingOfNB_IoT } + } + } // End of template mw_uERadioCapabilityForPaging_id_UERadioCapabilityForPagingOfNB_IoT + + template (present) UERetentionInformation mw_uERetentionInformation(template (present) UERetentionInformation p_value := ues_retained):= p_value; + + template (present) UERLFReportContainer mw_uERLFReportContainer_nR( + template (present) NRUERLFReportContainer p_nR := ? + ) := { + nR := p_nR + } // End of template mw_uERLFReportContainer_nR + + template (present) UERLFReportContainer mw_uERLFReportContainer_lTE( + template (present) LTEUERLFReportContainer p_lTE := ? + ) := { + lTE := p_lTE + } // End of template mw_uERLFReportContainer_lTE + + template (present) UERLFReportContainer mw_uERLFReportContainer_choice_Extensions( + template (present) UERLFReportContainer.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_uERLFReportContainer_choice_Extensions + + template (present) UESecurityCapabilities mw_uESecurityCapabilities( + template (present) NRencryptionAlgorithms p_nRencryptionAlgorithms := ?, + template (present) NRintegrityProtectionAlgorithms p_nRintegrityProtectionAlgorithms := ?, + template (present) EUTRAencryptionAlgorithms p_eUTRAencryptionAlgorithms := ?, + template (present) EUTRAintegrityProtectionAlgorithms p_eUTRAintegrityProtectionAlgorithms := ?, + template UESecurityCapabilities.iE_Extensions p_iE_Extensions := * + ) := { + nRencryptionAlgorithms := p_nRencryptionAlgorithms, + nRintegrityProtectionAlgorithms := p_nRintegrityProtectionAlgorithms, + eUTRAencryptionAlgorithms := p_eUTRAencryptionAlgorithms, + eUTRAintegrityProtectionAlgorithms := p_eUTRAintegrityProtectionAlgorithms, + iE_Extensions := p_iE_Extensions + } // End of template mw_uESecurityCapabilities + + template (present) UESliceMaximumBitRateItem mw_uESliceMaximumBitRateItem( + template (present) S_NSSAI p_s_NSSAI := ?, + template (present) BitRate p_uESliceMaximumBitRateDL := ?, + template (present) BitRate p_uESliceMaximumBitRateUL := ?, + template UESliceMaximumBitRateItem.iE_Extensions p_iE_Extensions := * + ) := { + s_NSSAI := p_s_NSSAI, + uESliceMaximumBitRateDL := p_uESliceMaximumBitRateDL, + uESliceMaximumBitRateUL := p_uESliceMaximumBitRateUL, + iE_Extensions := p_iE_Extensions + } // End of template mw_uESliceMaximumBitRateItem + + template (present) UE_UP_CIoT_Support mw_uE_UP_CIoT_Support(template (present) UE_UP_CIoT_Support p_value := supported) := p_value; + + template (present) UL_CP_SecurityInformation mw_UL_CP_SecurityInformation( + template (present) UL_NAS_MAC p_ul_NAS_MAC := ?, + template (present) UL_NAS_Count p_ul_NAS_Count := ?, + template UL_CP_SecurityInformation.iE_Extensions p_iE_Extensions := * + ) := { + ul_NAS_MAC := p_ul_NAS_MAC, + ul_NAS_Count := p_ul_NAS_Count, + iE_Extensions := p_iE_Extensions + } // End of template + + template (present) UL_NGU_UP_TNLModifyItem mw_uL_NGU_UP_TNLModifyItem( + template (present) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := ?, + template (present) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := ?, + template UL_NGU_UP_TNLModifyItem.iE_Extensions p_iE_Extensions := * + ) := { + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_uL_NGU_UP_TNLModifyItem + + template (present) UL_NGU_UP_TNLModifyItem.iE_Extensions mw_uL_NGU_UP_TNLModifyItemw_id_RedundantUL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantUL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_uL_NGU_UP_TNLModifyItemw_id_RedundantUL_NGU_UP_TNLInformation + + template (present) UL_NGU_UP_TNLModifyItem.iE_Extensions mw_uL_NGU_UP_TNLModifyItemw_id_RedundantDL_NGU_UP_TNLInformation( + template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ? + ) := { + { + id := id_RedundantDL_NGU_UP_TNLInformation, + criticality := ignore, + extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation } + } + } // End of template mw_uL_NGU_UP_TNLModifyItemw_id_RedundantDL_NGU_UP_TNLInformation + + template (present) UnavailableGUAMIItem mw_unavailableGUAMIItem( + template (present) GUAMI p_gUAMI := ?, + template TimerApproachForGUAMIRemoval p_timerApproachForGUAMIRemoval := *, + template AMFName p_backupAMFName := *, + template UnavailableGUAMIItem.iE_Extensions p_iE_Extensions := * + ) := { + gUAMI := p_gUAMI, + timerApproachForGUAMIRemoval := p_timerApproachForGUAMIRemoval, + backupAMFName := p_backupAMFName, + iE_Extensions := p_iE_Extensions + } // End of template mw_unavailableGUAMIItem + + template (present) ULForwarding mw_uLForwarding(template (present) ULForwarding p_value := ul_forwarding_proposed) := p_value; + + template (present) UPTransportLayerInformation mw_uPTransportLayerInformation_gTPTunnel( + template (present) GTPTunnel p_gTPTunnel := ? + ) := { + gTPTunnel := p_gTPTunnel + } // End of template mw_uPTransportLayerInformation_gTPTunnel + + template (present) UPTransportLayerInformation mw_uPTransportLayerInformation_choice_Extensions( + template (present) UPTransportLayerInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_uPTransportLayerInformation_choice_Extensions + + template (present) UPTransportLayerInformationItem mw_uPTransportLayerInformationItem( + template (present) UPTransportLayerInformation p_nGU_UP_TNLInformation := ?, + template UPTransportLayerInformationItem.iE_Extensions p_iE_Extensions := * + ) := { + nGU_UP_TNLInformation := p_nGU_UP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_uPTransportLayerInformationItem + + template (present) UPTransportLayerInformationItem.iE_Extensions mw_uPTransportLayerInformationItemw_id_CommonNetworkInstance( + template (present) CommonNetworkInstance p_commonNetworkInstance := ? + ) := { + { + id := id_CommonNetworkInstance, + criticality := ignore, + extensionValue := { CommonNetworkInstance := p_commonNetworkInstance } + } + } // End of template mw_uPTransportLayerInformationItemw_id_CommonNetworkInstance + + template (present) UPTransportLayerInformationPairItem mw_uPTransportLayerInformationPairItem( + template (present) UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := ?, + template (present) UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := ?, + template UPTransportLayerInformationPairItem.iE_Extensions p_iE_Extensions := * + ) := { + uL_NGU_UP_TNLInformation := p_uL_NGU_UP_TNLInformation, + dL_NGU_UP_TNLInformation := p_dL_NGU_UP_TNLInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_uPTransportLayerInformationPairItem + + template (present) UserLocationInformation mw_uPTransportLayerInformation_userLocationInformationEUTRA( + template (present) UserLocationInformationEUTRA p_userLocationInformationEUTRA := ? + ) := { + userLocationInformationEUTRA := p_userLocationInformationEUTRA + } // End of template mw_uPTransportLayerInformation_userLocationInformationEUTRA + + template (present) UserLocationInformation mw_uPTransportLayerInformation_userLocationInformationNR( + template (present) UserLocationInformationNR p_userLocationInformationNR := ? + ) := { + userLocationInformationNR := p_userLocationInformationNR + } // End of template mw_uPTransportLayerInformation_userLocationInformationNR + + template (present) UserLocationInformation mw_uPTransportLayerInformation_userLocationInformationN3IWF( + template (present) UserLocationInformationN3IWF p_userLocationInformationN3IWF := ? + ) := { + userLocationInformationN3IWF := p_userLocationInformationN3IWF + } // End of template mw_uPTransportLayerInformation_userLocationInformationN3IWF + + template (present) UserLocationInformation mw_userLocationInformation_choice_Extensions( + template (present) UserLocationInformation.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_userLocationInformation_choice_Extensions + + template (present) UserLocationInformation.choice_Extensions mw_userLocationInformation_id_UserLocationInformationTNGF( + template (present) UserLocationInformationTNGF p_userLocationInformationTNGF := ? + ) := { + id := id_UserLocationInformationTNGF, + criticality := ignore, + value_ := { UserLocationInformationTNGF := p_userLocationInformationTNGF } + } // End of template mw_userLocationInformation_id_UserLocationInformationTNGF + + template (present) UserLocationInformation.choice_Extensions mw_userLocationInformation_id_UserLocationInformationTWIF( + template (present) UserLocationInformationTWIF p_userLocationInformationTWIF := ? + ) := { + id := id_UserLocationInformationTWIF, + criticality := ignore, + value_ := { UserLocationInformationTWIF := p_userLocationInformationTWIF } + } // End of template mw_userLocationInformation_id_UserLocationInformationTWIF + + template (present) UserLocationInformation.choice_Extensions mw_userLocationInformation_id_UserLocationInformationW_AGF( + template (present) UserLocationInformationW_AGF p_userLocationInformationW_AGF := ? + ) := { + id := id_UserLocationInformationW_AGF, + criticality := ignore, + value_ := { UserLocationInformationW_AGF := p_userLocationInformationW_AGF } + } // End of template mw_userLocationInformation_id_UserLocationInformationW_AGF + + template (present) UserLocationInformationEUTRA mw_userLocationInformationEUTRA( + template (present) EUTRA_CGI p_eUTRA_CGI := ?, + template (present) TAI p_tAI := ?, + template TimeStamp p_timeStamp := *, + template UserLocationInformationEUTRA.iE_Extensions p_iE_Extensions := * + ) := { + eUTRA_CGI := p_eUTRA_CGI, + tAI := p_tAI, + timeStamp := p_timeStamp, + iE_Extensions := p_iE_Extensions + } // End of template mw_userLocationInformationEUTRA + + template (present) UserLocationInformationEUTRA.iE_Extensions mw_userLocationInformationEUTRA_id_PSCellInformation( + template (present) NGRAN_CGI p_nGRAN_CGI := ? + ) := { + { + id := id_PSCellInformation, + criticality := ignore, + extensionValue := { NGRAN_CGI := p_nGRAN_CGI } + } + } // End of template mw_userLocationInformationEUTRA_id_PSCellInformation + + template (present) UserLocationInformationN3IWF mw_userLocationInformationN3IWF( + template (present) TransportLayerAddress p_iPAddress := ?, + template (present) PortNumber p_portNumber := ?, + template UserLocationInformationN3IWF.iE_Extensions p_iE_Extensions := * + ) := { + iPAddress := p_iPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template mw_userLocationInformationN3IWF + + template (present) UserLocationInformationN3IWF.iE_Extensions mw_userLocationInformationN3IWF_id_TAI( + template (present) TAI p_tAI := ? + ) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template mw_userLocationInformationN3IWF_id_TAI + + template (present) UserLocationInformationTNGF mw_userLocationInformationTNGF( + template (present) TNAP_ID p_tNAP_ID := ?, + template (present) TransportLayerAddress p_iPAddress := ?, + template (present) PortNumber p_portNumber := ?, + template UserLocationInformationTNGF.iE_Extensions p_iE_Extensions := * + ) := { + tNAP_ID := p_tNAP_ID, + iPAddress := p_iPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template mw_userLocationInformationTNGF + + template (present) UserLocationInformationTNGF.iE_Extensions mw_userLocationInformationTNGF_id_TAI( + template (present) TAI p_tAI := ? + ) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template mw_userLocationInformationTNGF_id_TAI + + template (present) UserLocationInformationTWIF mw_userLocationInformationTWIF( + template (present) TWAP_ID p_tWAP_ID := ?, + template (present) TransportLayerAddress p_iPAddress := ?, + template (present) PortNumber p_portNumber := ?, + template UserLocationInformationTWIF.iE_Extensions p_iE_Extensions := * + ) := { + tWAP_ID := p_tWAP_ID, + iPAddress := p_iPAddress, + portNumber := p_portNumber, + iE_Extensions := p_iE_Extensions + } // End of template mw_userLocationInformationTWIF + + template (present) UserLocationInformationTWIF.iE_Extensions mw_userLocationInformationTWIF_id_TAI( + template (present) TAI p_tAI := ? + ) := { + { + id := id_TAI, + criticality := ignore, + extensionValue := { TAI := p_tAI } + } + } // End of template mw_userLocationInformationTWIF_id_TAI + + template (present) UserLocationInformationW_AGF mw_userLocationInformationW_AGF_globalLine_ID( + template (present) GlobalLine_ID p_globalLine_ID := ? + ) := { + globalLine_ID := p_globalLine_ID + } // End of template mw_userLocationInformationW_AGF_globalLine_ID + + template (present) UserLocationInformationW_AGF mw_userLocationInformationW_AGF_hFCNode_ID( + template (present) HFCNode_ID p_hFCNode_ID := ? + ) := { + hFCNode_ID := p_hFCNode_ID + } // End of template mw_userLocationInformationW_AGF_hFCNode_ID + + template (present) UserLocationInformationW_AGF mw_userLocationInformationW_AGF_choice_Extensions( + template (present) UserLocationInformationW_AGF.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_userLocationInformationW_AGF_choice_Extensions + + template (present) UserLocationInformationW_AGF.choice_Extensions mw_userLocationInformationW_AGF_id_GlobalCable_ID( + template (present) GlobalCable_ID p_globalCable_ID := ? + ) := { + id := id_GlobalCable_ID, + criticality := ignore, + value_ := { GlobalCable_ID := p_globalCable_ID } + } // End of template mw_userLocationInformationW_AGF_id_GlobalCable_ID + + template (present) UserLocationInformationW_AGF.choice_Extensions mw_userLocationInformationW_AGF_id_HFCNode_ID_new( + template (present) HFCNode_ID_new p_hFCNode_ID_new := ? + ) := { + id := id_HFCNode_ID_new, + criticality := ignore, + value_ := { HFCNode_ID_new := p_hFCNode_ID_new } + } // End of template mw_userLocationInformationW_AGF_id_HFCNode_ID_new + + template (present) UserLocationInformationW_AGF.choice_Extensions mw_userLocationInformationW_AGF_id_GlobalCable_ID_new( + template (present) GlobalCable_ID_new p_globalCable_ID_new := ? + ) := { + id := id_GlobalCable_ID_new, + criticality := ignore, + value_ := { GlobalCable_ID_new := p_globalCable_ID_new } + } // End of template mw_userLocationInformationW_AGF_id_GlobalCable_ID_new + + template (present) UserLocationInformationNR mw_userLocationInformationNR( + template (present) NR_CGI p_nR_CGI := ?, + template (present) TAI p_tAI := ?, + template TimeStamp p_timeStamp := *, + template UserLocationInformationNR.iE_Extensions p_iE_Extensions := * + ) := { + nR_CGI := p_nR_CGI, + tAI := p_tAI, + timeStamp := p_timeStamp, + iE_Extensions := p_iE_Extensions + } // End of template mw_userLocationInformationNR + + template (present) UserLocationInformationNR.iE_Extensions mw_userLocationInformationNR_id_PSCellInformation( + template (present) NGRAN_CGI p_nGRAN_CGI := ? + ) := { + { + id := id_PSCellInformation, + criticality := ignore, + extensionValue := { NGRAN_CGI := p_nGRAN_CGI } + } + } // End of template mw_userLocationInformationNR_id_PSCellInformation + + template (present) UserLocationInformationNR.iE_Extensions mw_userLocationInformationNR_id_NID( + template (present) NID p_nID := ? + ) := { + { + id := id_NID, + criticality := reject, + extensionValue := { NID := p_nID } + } + } // End of template mw_userLocationInformationNR_id_NID + + template (present) UserLocationInformationNR.iE_Extensions mw_userLocationInformationNR_id_NRNTNTAIInformation( + template (present) NRNTNTAIInformation p_nRNTNTAIInformation := ? + ) := { + { + id := id_NRNTNTAIInformation, + criticality := ignore, + extensionValue := { NRNTNTAIInformation := p_nRNTNTAIInformation } + } + } // End of template mw_userLocationInformationNR_id_NRNTNTAIInformation + + template (present) UserPlaneSecurityInformation mw_userPlaneSecurityInformation( + template (present) SecurityResult p_securityResult := ?, + template (present) SecurityIndication p_securityIndication := ?, + template UserPlaneSecurityInformation.iE_Extensions p_iE_Extensions := * + ) := { + securityResult := p_securityResult, + securityIndication := p_securityIndication, + iE_Extensions := p_iE_Extensions + } // End of template mw_userPlaneSecurityInformation + + template (present) VolumeTimedReport_Item mw_volumeTimedReport_Item( + template (present) VolumeTimedReport_Item.startTimeStamp p_startTimeStamp := ?, + template (present) VolumeTimedReport_Item.endTimeStamp p_endTimeStamp := ?, + template (present) VolumeTimedReport_Item.usageCountUL p_usageCountUL := ?, + template (present) VolumeTimedReport_Item.usageCountDL p_usageCountDL := ?, + template VolumeTimedReport_Item.iE_Extensions p_iE_Extensions := * + ) := { + startTimeStamp := p_startTimeStamp, + endTimeStamp := p_endTimeStamp, + usageCountUL := p_usageCountUL, + usageCountDL := p_usageCountDL, + iE_Extensions := p_iE_Extensions + } // End of template mw_volumeTimedReport_Item + + template (present) W_AGF_ID mw_w_AGF_ID_w_AGF_ID( + template (present) W_AGF_ID.w_AGF_ID p_w_AGF_ID := ? + ) := { + w_AGF_ID := p_w_AGF_ID + } // End of template mw_w_AGF_ID_w_AGF_ID + + template (present) W_AGF_ID mw_w_AGF_ID_choice_Extensions( + template (present) W_AGF_ID.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_w_AGF_ID_choice_Extensions + + template (present) WarningAreaList mw_warningAreaList_eUTRA_CGIListForWarning( + template (present) EUTRA_CGIListForWarning p_eUTRA_CGIListForWarning := ? + ) := { + eUTRA_CGIListForWarning := p_eUTRA_CGIListForWarning + } // End of template mw_warningAreaList_eUTRA_CGIListForWarning + + template (present) WarningAreaList mw_warningAreaList_nR_CGIListForWarning( + template (present) NR_CGIListForWarning p_nR_CGIListForWarning := ? + ) := { + nR_CGIListForWarning := p_nR_CGIListForWarning + } // End of template mw_warningAreaList_nR_CGIListForWarning + + template (present) WarningAreaList mw_warningAreaList_tAIListForWarning( + template (present) TAIListForWarning p_tAIListForWarning := ? + ) := { + tAIListForWarning := p_tAIListForWarning + } // End of template mw_warningAreaList_tAIListForWarning + + template (present) WarningAreaList mw_warningAreaList_emergencyAreaIDList( + template (present) EmergencyAreaIDList p_emergencyAreaIDList := ? + ) := { + emergencyAreaIDList := p_emergencyAreaIDList + } // End of template mw_warningAreaList_emergencyAreaIDList + + template (present) WarningAreaList mw_warningAreaList_choice_Extensions( + template (present) WarningAreaList.choice_Extensions p_choice_Extensions := ? + ) := { + choice_Extensions := p_choice_Extensions + } // End of template mw_warningAreaList_choice_Extensions + + template (present) WLANMeasurementConfiguration mw_wLANMeasurementConfiguration( + template (present) WLANMeasConfig p_wlanMeasConfig := ?, + template WLANMeasConfigNameList p_wlanMeasConfigNameList := *, + template WLANMeasurementConfiguration.wlan_rssi p_wlan_rssi := *, + template WLANMeasurementConfiguration.wlan_rtt p_wlan_rtt := *, + template WLANMeasurementConfiguration.iE_Extensions p_iE_Extensions := * + ) := { + wlanMeasConfig := p_wlanMeasConfig, + wlanMeasConfigNameList := p_wlanMeasConfigNameList, + wlan_rssi := p_wlan_rssi, + wlan_rtt := p_wlan_rtt, + iE_Extensions := p_iE_Extensions + } // End of template mw_wLANMeasurementConfiguration + + template (present) WLANMeasConfigNameItem mw_wLANMeasConfigNameItem( + template (present) WLANName p_wLANName := ?, + template WLANMeasConfigNameItem.iE_Extensions p_iE_Extensions := * + ) := { + wLANName := p_wLANName, + iE_Extensions := p_iE_Extensions + } // End of template mw_wLANMeasConfigNameItem + + template (present) WLANMeasConfig mw_wLANMeasConfig(template (present) WLANMeasConfig p_value := ?) := p_value; + + template (present) WUS_Assistance_Information mw_wUS_Assistance_Information( + template (present) PagingProbabilityInformation p_pagingProbabilityInformation := ?, + template WUS_Assistance_Information.iE_Extensions p_iE_Extensions := * + ) := { + pagingProbabilityInformation := p_pagingProbabilityInformation, + iE_Extensions := p_iE_Extensions + } // End of template mw_wUS_Assistance_Information + + template (present) XnExtTLA_Item mw_xnExtTLA_Item( + template TransportLayerAddress p_iPsecTLA := *, + template XnGTP_TLAs p_gTP_TLAs := *, + template XnExtTLA_Item.iE_Extensions p_iE_Extensions := * + ) := { + iPsecTLA := p_iPsecTLA, + gTP_TLAs := p_gTP_TLAs, + iE_Extensions := p_iE_Extensions + } // End of template mw_xnExtTLA_Item + + template (present) XnExtTLA_Item.iE_Extensions mw_xnExtTLA_Item_id_SCTP_TLAs( + template (present) SCTP_TLAs p_sCTP_TLAs := ? + ) := { + { + id := id_SCTP_TLAs, + criticality := ignore, + extensionValue := { SCTP_TLAs := p_sCTP_TLAs } + } + } // End of template mw_xnExtTLA_Item_id_SCTP_TLAs + + template (present) XnTNLConfigurationInfo mw_xnTNLConfigurationInfo( + template (present) XnTLAs p_xnTransportLayerAddresses := ?, + template XnExtTLAs p_xnExtendedTransportLayerAddresses := *, + template XnTNLConfigurationInfo.iE_Extensions p_iE_Extensions := * + ) := { + xnTransportLayerAddresses := p_xnTransportLayerAddresses, + xnExtendedTransportLayerAddresses := p_xnExtendedTransportLayerAddresses, + iE_Extensions := p_iE_Extensions + } // End of template mw_xnTNLConfigurationInfo + + } // End of group receive + + } // End of group Information_elements + + } // End of group g_NGAP + + group Functions_For_Templates{ + } // End of group functionsForTemplates + +} // End of module LibNGAP_Templates diff --git a/ttcn/LibNGAP/lib/LibNGAP_TypesAndValues.ttcn b/ttcn/LibNGAP/lib/LibNGAP_TypesAndValues.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c137387b7faba2f999c63b025f2924ed2313c3ee --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_TypesAndValues.ttcn @@ -0,0 +1,21 @@ +/** + * @author ETSI / TTF033 + * @version $URL$ + * $Id$ + * @desc This module provides TypesAndValues for NGAP protocol. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * @see ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16 + */ +module LibNGAP_TypesAndValues { + + // LibNGAP + import from NGAP_IEs language "ASN.1:2002" all; + import from NGAP_PDU_Contents language "ASN.1:2002" all; + import from NGAP_PDU_Descriptions language "ASN.1:2002" all; + +} with { + encode "LibNGAP_codec" +} // End of module LibNGAP_TypesAndValues diff --git a/ttcn/LibNGAP/lib/asn1/Makefile.am.asn1convert b/ttcn/LibNGAP/lib/asn1/Makefile.am.asn1convert new file mode 100644 index 0000000000000000000000000000000000000000..849c1296ceb0a1e8a0a9a862cce9db038ec5d5c3 --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/Makefile.am.asn1convert @@ -0,0 +1,14 @@ +include Makefile.am.libasncodec + +bin_PROGRAMS += asn1convert +asn1convert_CFLAGS = $(ASN_MODULE_CFLAGS) +asn1convert_CPPFLAGS = -I$(top_srcdir)/-DASN_PDU_COLLECTION +asn1convert_LDADD = libasncodec.la +asn1convert_SOURCES = \ + converter-example.c\ + pdu_collection.c +regen: regenerate-from-asn1-source + +regenerate-from-asn1-source: + asn1c NGAP_CommonDataTypes.asn + diff --git a/ttcn/LibNGAP/lib/asn1/NGAP_CommonDataTypes.asn b/ttcn/LibNGAP/lib/asn1/NGAP_CommonDataTypes.asn new file mode 100644 index 0000000000000000000000000000000000000000..e739dd039bd39622993392cb4649e0429deaa76e --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/NGAP_CommonDataTypes.asn @@ -0,0 +1,34 @@ +-- 3GPP TS 38.413 V17.5.0 (2023-06) +-- 9.4.6 Common Definitions +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +NGAP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + +ProcedureCode ::= INTEGER (0..255) + +ProtocolExtensionID ::= INTEGER (0..65535) + +ProtocolIE-ID ::= INTEGER (0..65535) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } + +END diff --git a/ttcn/LibNGAP/lib/asn1/NGAP_Constants.asn b/ttcn/LibNGAP/lib/asn1/NGAP_Constants.asn new file mode 100644 index 0000000000000000000000000000000000000000..70f31a86126b3c3aa4501d1e92959b2905a68449 --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/NGAP_Constants.asn @@ -0,0 +1,591 @@ +-- 3GPP TS 38.413 V17.5.0 (2023-06) +-- 9.4.7 Constant Definitions +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +NGAP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + + ProcedureCode, + ProtocolIE-ID +FROM NGAP-CommonDataTypes; + + +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** + +id-AMFConfigurationUpdate ProcedureCode ::= 0 +id-AMFStatusIndication ProcedureCode ::= 1 +id-CellTrafficTrace ProcedureCode ::= 2 +id-DeactivateTrace ProcedureCode ::= 3 +id-DownlinkNASTransport ProcedureCode ::= 4 +id-DownlinkNonUEAssociatedNRPPaTransport ProcedureCode ::= 5 +id-DownlinkRANConfigurationTransfer ProcedureCode ::= 6 +id-DownlinkRANStatusTransfer ProcedureCode ::= 7 +id-DownlinkUEAssociatedNRPPaTransport ProcedureCode ::= 8 +id-ErrorIndication ProcedureCode ::= 9 +id-HandoverCancel ProcedureCode ::= 10 +id-HandoverNotification ProcedureCode ::= 11 +id-HandoverPreparation ProcedureCode ::= 12 +id-HandoverResourceAllocation ProcedureCode ::= 13 +id-InitialContextSetup ProcedureCode ::= 14 +id-InitialUEMessage ProcedureCode ::= 15 +id-LocationReportingControl ProcedureCode ::= 16 +id-LocationReportingFailureIndication ProcedureCode ::= 17 +id-LocationReport ProcedureCode ::= 18 +id-NASNonDeliveryIndication ProcedureCode ::= 19 +id-NGReset ProcedureCode ::= 20 +id-NGSetup ProcedureCode ::= 21 +id-OverloadStart ProcedureCode ::= 22 +id-OverloadStop ProcedureCode ::= 23 +id-Paging ProcedureCode ::= 24 +id-PathSwitchRequest ProcedureCode ::= 25 +id-PDUSessionResourceModify ProcedureCode ::= 26 +id-PDUSessionResourceModifyIndication ProcedureCode ::= 27 +id-PDUSessionResourceRelease ProcedureCode ::= 28 +id-PDUSessionResourceSetup ProcedureCode ::= 29 +id-PDUSessionResourceNotify ProcedureCode ::= 30 +id-PrivateMessage ProcedureCode ::= 31 +id-PWSCancel ProcedureCode ::= 32 +id-PWSFailureIndication ProcedureCode ::= 33 +id-PWSRestartIndication ProcedureCode ::= 34 +id-RANConfigurationUpdate ProcedureCode ::= 35 +id-RerouteNASRequest ProcedureCode ::= 36 +id-RRCInactiveTransitionReport ProcedureCode ::= 37 +id-TraceFailureIndication ProcedureCode ::= 38 +id-TraceStart ProcedureCode ::= 39 +id-UEContextModification ProcedureCode ::= 40 +id-UEContextRelease ProcedureCode ::= 41 +id-UEContextReleaseRequest ProcedureCode ::= 42 +id-UERadioCapabilityCheck ProcedureCode ::= 43 +id-UERadioCapabilityInfoIndication ProcedureCode ::= 44 +id-UETNLABindingRelease ProcedureCode ::= 45 +id-UplinkNASTransport ProcedureCode ::= 46 +id-UplinkNonUEAssociatedNRPPaTransport ProcedureCode ::= 47 +id-UplinkRANConfigurationTransfer ProcedureCode ::= 48 +id-UplinkRANStatusTransfer ProcedureCode ::= 49 +id-UplinkUEAssociatedNRPPaTransport ProcedureCode ::= 50 +id-WriteReplaceWarning ProcedureCode ::= 51 +id-SecondaryRATDataUsageReport ProcedureCode ::= 52 +id-UplinkRIMInformationTransfer ProcedureCode ::= 53 +id-DownlinkRIMInformationTransfer ProcedureCode ::= 54 +id-RetrieveUEInformation ProcedureCode ::= 55 +id-UEInformationTransfer ProcedureCode ::= 56 +id-RANCPRelocationIndication ProcedureCode ::= 57 +id-UEContextResume ProcedureCode ::= 58 +id-UEContextSuspend ProcedureCode ::= 59 +id-UERadioCapabilityIDMapping ProcedureCode ::= 60 +id-HandoverSuccess ProcedureCode ::= 61 +id-UplinkRANEarlyStatusTransfer ProcedureCode ::= 62 +id-DownlinkRANEarlyStatusTransfer ProcedureCode ::= 63 +id-AMFCPRelocationIndication ProcedureCode ::= 64 +id-ConnectionEstablishmentIndication ProcedureCode ::= 65 +id-BroadcastSessionModification ProcedureCode ::= 66 +id-BroadcastSessionRelease ProcedureCode ::= 67 +id-BroadcastSessionSetup ProcedureCode ::= 68 +id-DistributionSetup ProcedureCode ::= 69 +id-DistributionRelease ProcedureCode ::= 70 +id-MulticastSessionActivation ProcedureCode ::= 71 +id-MulticastSessionDeactivation ProcedureCode ::= 72 +id-MulticastSessionUpdate ProcedureCode ::= 73 +id-MulticastGroupPaging ProcedureCode ::= 74 +id-BroadcastSessionReleaseRequired ProcedureCode ::= 75 + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +maxPrivateIEs INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** + + maxnoofAllowedAreas INTEGER ::= 16 + maxnoofAllowedCAGsperPLMN INTEGER ::= 256 + maxnoofAllowedS-NSSAIs INTEGER ::= 8 + maxnoofBluetoothName INTEGER ::= 4 + maxnoofBPLMNs INTEGER ::= 12 + maxnoofCAGSperCell INTEGER ::= 64 + maxnoofCellIDforMDT INTEGER ::= 32 + maxnoofCellIDforWarning INTEGER ::= 65535 + maxnoofCellinAoI INTEGER ::= 256 + maxnoofCellinEAI INTEGER ::= 65535 + maxnoofCellinTAI INTEGER ::= 65535 + maxnoofCellsforMBS INTEGER ::= 8192 + maxnoofCellsingNB INTEGER ::= 16384 + maxnoofCellsinngeNB INTEGER ::= 256 + maxnoofCellsinNGRANNode INTEGER ::= 16384 + maxnoofCellsinUEHistoryInfo INTEGER ::= 16 + maxnoofCellsUEMovingTrajectory INTEGER ::= 16 + maxnoofDRBs INTEGER ::= 32 + maxnoofEmergencyAreaID INTEGER ::= 65535 + maxnoofEAIforRestart INTEGER ::= 256 + maxnoofEPLMNs INTEGER ::= 15 + maxnoofEPLMNsPlusOne INTEGER ::= 16 + maxnoofE-RABs INTEGER ::= 256 + maxnoofErrors INTEGER ::= 256 + maxnoofExtSliceItems INTEGER ::= 65535 + maxnoofForbTACs INTEGER ::= 4096 + maxnoofFreqforMDT INTEGER ::= 8 + maxnoofMBSAreaSessionIDs INTEGER ::= 256 + maxnoofMBSFSAs INTEGER ::= 64 + maxnoofMBSQoSFlows INTEGER ::= 64 + maxnoofMBSSessions INTEGER ::= 32 + maxnoofMBSSessionsofUE INTEGER ::= 256 + maxnoofMBSServiceAreaInformation INTEGER ::= 256 + maxnoofMDTPLMNs INTEGER ::= 16 + maxnoofMRBs INTEGER ::= 32 + maxnoofMultiConnectivity INTEGER ::= 4 + maxnoofMultiConnectivityMinusOne INTEGER ::= 3 + maxnoofNeighPCIforMDT INTEGER ::= 32 + maxnoofNGAPIESupportInfo INTEGER ::= 32 + maxnoofNGConnectionsToReset INTEGER ::= 65536 + maxnoofNRCellBands INTEGER ::= 32 + maxnoofNSAGs INTEGER ::= 256 + maxnoofPagingAreas INTEGER ::= 64 + maxnoofPC5QoSFlows INTEGER ::= 2048 + maxnoofPDUSessions INTEGER ::= 256 + maxnoofPLMNs INTEGER ::= 12 + maxnoofPSCellsPerPrimaryCellinUEHistoryInfo INTEGER ::= 8 + maxnoofQosFlows INTEGER ::= 64 + maxnoofQosParaSets INTEGER ::= 8 + maxnoofRANNodeinAoI INTEGER ::= 64 + maxnoofRecommendedCells INTEGER ::= 16 + maxnoofRecommendedRANNodes INTEGER ::= 16 + maxnoofAoI INTEGER ::= 64 + maxnoofReportedCells INTEGER ::= 256 + maxnoofSensorName INTEGER ::= 3 + maxnoofServedGUAMIs INTEGER ::= 256 + maxnoofSliceItems INTEGER ::= 1024 + maxnoofSuccessfulHOReports INTEGER ::= 64 + maxnoofTACs INTEGER ::= 256 + maxnoofTACsinNTN INTEGER ::= 12 + maxnoofTAforMDT INTEGER ::= 8 + maxnoofTAIforInactive INTEGER ::= 16 + maxnoofTAIforMBS INTEGER ::= 1024 + maxnoofTAIforPaging INTEGER ::= 16 + maxnoofTAIforRestart INTEGER ::= 2048 + maxnoofTAIforWarning INTEGER ::= 65535 + maxnoofTAIinAoI INTEGER ::= 16 + maxnoofTimePeriods INTEGER ::= 2 + maxnoofTNLAssociations INTEGER ::= 32 + maxnoofUEsforPaging INTEGER ::= 4096 + maxnoofWLANName INTEGER ::= 4 + maxnoofXnExtTLAs INTEGER ::= 16 + maxnoofXnGTP-TLAs INTEGER ::= 16 + maxnoofXnTLAs INTEGER ::= 2 + maxnoofCandidateCells INTEGER ::= 32 + maxnoofTargetS-NSSAIs INTEGER ::= 8 + maxNRARFCN INTEGER ::= 3279165 + maxnoofCellIDforQMC INTEGER ::= 32 + maxnoofPLMNforQMC INTEGER ::= 16 + maxnoofUEAppLayerMeas INTEGER ::= 16 + maxnoofSNSSAIforQMC INTEGER ::= 16 + maxnoofTAforQMC INTEGER ::= 8 + maxnoofThresholdsForExcessPacketDelay INTEGER ::= 255 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + + id-AllowedNSSAI ProtocolIE-ID ::= 0 + id-AMFName ProtocolIE-ID ::= 1 + id-AMFOverloadResponse ProtocolIE-ID ::= 2 + id-AMFSetID ProtocolIE-ID ::= 3 + id-AMF-TNLAssociationFailedToSetupList ProtocolIE-ID ::= 4 + id-AMF-TNLAssociationSetupList ProtocolIE-ID ::= 5 + id-AMF-TNLAssociationToAddList ProtocolIE-ID ::= 6 + id-AMF-TNLAssociationToRemoveList ProtocolIE-ID ::= 7 + id-AMF-TNLAssociationToUpdateList ProtocolIE-ID ::= 8 + id-AMFTrafficLoadReductionIndication ProtocolIE-ID ::= 9 + id-AMF-UE-NGAP-ID ProtocolIE-ID ::= 10 + id-AssistanceDataForPaging ProtocolIE-ID ::= 11 + id-BroadcastCancelledAreaList ProtocolIE-ID ::= 12 + id-BroadcastCompletedAreaList ProtocolIE-ID ::= 13 + id-CancelAllWarningMessages ProtocolIE-ID ::= 14 + id-Cause ProtocolIE-ID ::= 15 + id-CellIDListForRestart ProtocolIE-ID ::= 16 + id-ConcurrentWarningMessageInd ProtocolIE-ID ::= 17 + id-CoreNetworkAssistanceInformationForInactive ProtocolIE-ID ::= 18 + id-CriticalityDiagnostics ProtocolIE-ID ::= 19 + id-DataCodingScheme ProtocolIE-ID ::= 20 + id-DefaultPagingDRX ProtocolIE-ID ::= 21 + id-DirectForwardingPathAvailability ProtocolIE-ID ::= 22 + id-EmergencyAreaIDListForRestart ProtocolIE-ID ::= 23 + id-EmergencyFallbackIndicator ProtocolIE-ID ::= 24 + id-EUTRA-CGI ProtocolIE-ID ::= 25 + id-FiveG-S-TMSI ProtocolIE-ID ::= 26 + id-GlobalRANNodeID ProtocolIE-ID ::= 27 + id-GUAMI ProtocolIE-ID ::= 28 + id-HandoverType ProtocolIE-ID ::= 29 + id-IMSVoiceSupportIndicator ProtocolIE-ID ::= 30 + id-IndexToRFSP ProtocolIE-ID ::= 31 + id-InfoOnRecommendedCellsAndRANNodesForPaging ProtocolIE-ID ::= 32 + id-LocationReportingRequestType ProtocolIE-ID ::= 33 + id-MaskedIMEISV ProtocolIE-ID ::= 34 + id-MessageIdentifier ProtocolIE-ID ::= 35 + id-MobilityRestrictionList ProtocolIE-ID ::= 36 + id-NASC ProtocolIE-ID ::= 37 + id-NAS-PDU ProtocolIE-ID ::= 38 + id-NASSecurityParametersFromNGRAN ProtocolIE-ID ::= 39 + id-NewAMF-UE-NGAP-ID ProtocolIE-ID ::= 40 + id-NewSecurityContextInd ProtocolIE-ID ::= 41 + id-NGAP-Message ProtocolIE-ID ::= 42 + id-NGRAN-CGI ProtocolIE-ID ::= 43 + id-NGRANTraceID ProtocolIE-ID ::= 44 + id-NR-CGI ProtocolIE-ID ::= 45 + id-NRPPa-PDU ProtocolIE-ID ::= 46 + id-NumberOfBroadcastsRequested ProtocolIE-ID ::= 47 + id-OldAMF ProtocolIE-ID ::= 48 + id-OverloadStartNSSAIList ProtocolIE-ID ::= 49 + id-PagingDRX ProtocolIE-ID ::= 50 + id-PagingOrigin ProtocolIE-ID ::= 51 + id-PagingPriority ProtocolIE-ID ::= 52 + id-PDUSessionResourceAdmittedList ProtocolIE-ID ::= 53 + id-PDUSessionResourceFailedToModifyListModRes ProtocolIE-ID ::= 54 + id-PDUSessionResourceFailedToSetupListCxtRes ProtocolIE-ID ::= 55 + id-PDUSessionResourceFailedToSetupListHOAck ProtocolIE-ID ::= 56 + id-PDUSessionResourceFailedToSetupListPSReq ProtocolIE-ID ::= 57 + id-PDUSessionResourceFailedToSetupListSURes ProtocolIE-ID ::= 58 + id-PDUSessionResourceHandoverList ProtocolIE-ID ::= 59 + id-PDUSessionResourceListCxtRelCpl ProtocolIE-ID ::= 60 + id-PDUSessionResourceListHORqd ProtocolIE-ID ::= 61 + id-PDUSessionResourceModifyListModCfm ProtocolIE-ID ::= 62 + id-PDUSessionResourceModifyListModInd ProtocolIE-ID ::= 63 + id-PDUSessionResourceModifyListModReq ProtocolIE-ID ::= 64 + id-PDUSessionResourceModifyListModRes ProtocolIE-ID ::= 65 + id-PDUSessionResourceNotifyList ProtocolIE-ID ::= 66 + id-PDUSessionResourceReleasedListNot ProtocolIE-ID ::= 67 + id-PDUSessionResourceReleasedListPSAck ProtocolIE-ID ::= 68 + id-PDUSessionResourceReleasedListPSFail ProtocolIE-ID ::= 69 + id-PDUSessionResourceReleasedListRelRes ProtocolIE-ID ::= 70 + id-PDUSessionResourceSetupListCxtReq ProtocolIE-ID ::= 71 + id-PDUSessionResourceSetupListCxtRes ProtocolIE-ID ::= 72 + id-PDUSessionResourceSetupListHOReq ProtocolIE-ID ::= 73 + id-PDUSessionResourceSetupListSUReq ProtocolIE-ID ::= 74 + id-PDUSessionResourceSetupListSURes ProtocolIE-ID ::= 75 + id-PDUSessionResourceToBeSwitchedDLList ProtocolIE-ID ::= 76 + id-PDUSessionResourceSwitchedList ProtocolIE-ID ::= 77 + id-PDUSessionResourceToReleaseListHOCmd ProtocolIE-ID ::= 78 + id-PDUSessionResourceToReleaseListRelCmd ProtocolIE-ID ::= 79 + id-PLMNSupportList ProtocolIE-ID ::= 80 + id-PWSFailedCellIDList ProtocolIE-ID ::= 81 + id-RANNodeName ProtocolIE-ID ::= 82 + id-RANPagingPriority ProtocolIE-ID ::= 83 + id-RANStatusTransfer-TransparentContainer ProtocolIE-ID ::= 84 + id-RAN-UE-NGAP-ID ProtocolIE-ID ::= 85 + id-RelativeAMFCapacity ProtocolIE-ID ::= 86 + id-RepetitionPeriod ProtocolIE-ID ::= 87 + id-ResetType ProtocolIE-ID ::= 88 + id-RoutingID ProtocolIE-ID ::= 89 + id-RRCEstablishmentCause ProtocolIE-ID ::= 90 + id-RRCInactiveTransitionReportRequest ProtocolIE-ID ::= 91 + id-RRCState ProtocolIE-ID ::= 92 + id-SecurityContext ProtocolIE-ID ::= 93 + id-SecurityKey ProtocolIE-ID ::= 94 + id-SerialNumber ProtocolIE-ID ::= 95 + id-ServedGUAMIList ProtocolIE-ID ::= 96 + id-SliceSupportList ProtocolIE-ID ::= 97 + id-SONConfigurationTransferDL ProtocolIE-ID ::= 98 + id-SONConfigurationTransferUL ProtocolIE-ID ::= 99 + id-SourceAMF-UE-NGAP-ID ProtocolIE-ID ::= 100 + id-SourceToTarget-TransparentContainer ProtocolIE-ID ::= 101 + id-SupportedTAList ProtocolIE-ID ::= 102 + id-TAIListForPaging ProtocolIE-ID ::= 103 + id-TAIListForRestart ProtocolIE-ID ::= 104 + id-TargetID ProtocolIE-ID ::= 105 + id-TargetToSource-TransparentContainer ProtocolIE-ID ::= 106 + id-TimeToWait ProtocolIE-ID ::= 107 + id-TraceActivation ProtocolIE-ID ::= 108 + id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 109 + id-UEAggregateMaximumBitRate ProtocolIE-ID ::= 110 + id-UE-associatedLogicalNG-connectionList ProtocolIE-ID ::= 111 + id-UEContextRequest ProtocolIE-ID ::= 112 + --WS extension + id-Unknown-113 ProtocolIE-ID ::= 113 + id-UE-NGAP-IDs ProtocolIE-ID ::= 114 + id-UEPagingIdentity ProtocolIE-ID ::= 115 + id-UEPresenceInAreaOfInterestList ProtocolIE-ID ::= 116 + id-UERadioCapability ProtocolIE-ID ::= 117 + id-UERadioCapabilityForPaging ProtocolIE-ID ::= 118 + id-UESecurityCapabilities ProtocolIE-ID ::= 119 + id-UnavailableGUAMIList ProtocolIE-ID ::= 120 + id-UserLocationInformation ProtocolIE-ID ::= 121 + id-WarningAreaList ProtocolIE-ID ::= 122 + id-WarningMessageContents ProtocolIE-ID ::= 123 + id-WarningSecurityInfo ProtocolIE-ID ::= 124 + id-WarningType ProtocolIE-ID ::= 125 + id-AdditionalUL-NGU-UP-TNLInformation ProtocolIE-ID ::= 126 + id-DataForwardingNotPossible ProtocolIE-ID ::= 127 + id-DL-NGU-UP-TNLInformation ProtocolIE-ID ::= 128 + id-NetworkInstance ProtocolIE-ID ::= 129 + id-PDUSessionAggregateMaximumBitRate ProtocolIE-ID ::= 130 + id-PDUSessionResourceFailedToModifyListModCfm ProtocolIE-ID ::= 131 + id-PDUSessionResourceFailedToSetupListCxtFail ProtocolIE-ID ::= 132 + id-PDUSessionResourceListCxtRelReq ProtocolIE-ID ::= 133 + id-PDUSessionType ProtocolIE-ID ::= 134 + id-QosFlowAddOrModifyRequestList ProtocolIE-ID ::= 135 + id-QosFlowSetupRequestList ProtocolIE-ID ::= 136 + id-QosFlowToReleaseList ProtocolIE-ID ::= 137 + id-SecurityIndication ProtocolIE-ID ::= 138 + id-UL-NGU-UP-TNLInformation ProtocolIE-ID ::= 139 + id-UL-NGU-UP-TNLModifyList ProtocolIE-ID ::= 140 + id-WarningAreaCoordinates ProtocolIE-ID ::= 141 + id-PDUSessionResourceSecondaryRATUsageList ProtocolIE-ID ::= 142 + id-HandoverFlag ProtocolIE-ID ::= 143 + id-SecondaryRATUsageInformation ProtocolIE-ID ::= 144 + id-PDUSessionResourceReleaseResponseTransfer ProtocolIE-ID ::= 145 + id-RedirectionVoiceFallback ProtocolIE-ID ::= 146 + id-UERetentionInformation ProtocolIE-ID ::= 147 + id-S-NSSAI ProtocolIE-ID ::= 148 + id-PSCellInformation ProtocolIE-ID ::= 149 + id-LastEUTRAN-PLMNIdentity ProtocolIE-ID ::= 150 + id-MaximumIntegrityProtectedDataRate-DL ProtocolIE-ID ::= 151 + id-AdditionalDLForwardingUPTNLInformation ProtocolIE-ID ::= 152 + id-AdditionalDLUPTNLInformationForHOList ProtocolIE-ID ::= 153 + id-AdditionalNGU-UP-TNLInformation ProtocolIE-ID ::= 154 + id-AdditionalDLQosFlowPerTNLInformation ProtocolIE-ID ::= 155 + id-SecurityResult ProtocolIE-ID ::= 156 + id-ENDC-SONConfigurationTransferDL ProtocolIE-ID ::= 157 + id-ENDC-SONConfigurationTransferUL ProtocolIE-ID ::= 158 + id-OldAssociatedQosFlowList-ULendmarkerexpected ProtocolIE-ID ::= 159 + id-CNTypeRestrictionsForEquivalent ProtocolIE-ID ::= 160 + id-CNTypeRestrictionsForServing ProtocolIE-ID ::= 161 + id-NewGUAMI ProtocolIE-ID ::= 162 + id-ULForwarding ProtocolIE-ID ::= 163 + id-ULForwardingUP-TNLInformation ProtocolIE-ID ::= 164 + id-CNAssistedRANTuning ProtocolIE-ID ::= 165 + id-CommonNetworkInstance ProtocolIE-ID ::= 166 + id-NGRAN-TNLAssociationToRemoveList ProtocolIE-ID ::= 167 + id-TNLAssociationTransportLayerAddressNGRAN ProtocolIE-ID ::= 168 + id-EndpointIPAddressAndPort ProtocolIE-ID ::= 169 + id-LocationReportingAdditionalInfo ProtocolIE-ID ::= 170 + id-SourceToTarget-AMFInformationReroute ProtocolIE-ID ::= 171 + id-AdditionalULForwardingUPTNLInformation ProtocolIE-ID ::= 172 + id-SCTP-TLAs ProtocolIE-ID ::= 173 + id-SelectedPLMNIdentity ProtocolIE-ID ::= 174 + id-RIMInformationTransfer ProtocolIE-ID ::= 175 + id-GUAMIType ProtocolIE-ID ::= 176 + id-SRVCCOperationPossible ProtocolIE-ID ::= 177 + id-TargetRNC-ID ProtocolIE-ID ::= 178 + id-RAT-Information ProtocolIE-ID ::= 179 + id-ExtendedRATRestrictionInformation ProtocolIE-ID ::= 180 + id-QosMonitoringRequest ProtocolIE-ID ::= 181 + id-SgNB-UE-X2AP-ID ProtocolIE-ID ::= 182 + id-AdditionalRedundantDL-NGU-UP-TNLInformation ProtocolIE-ID ::= 183 + id-AdditionalRedundantDLQosFlowPerTNLInformation ProtocolIE-ID ::= 184 + id-AdditionalRedundantNGU-UP-TNLInformation ProtocolIE-ID ::= 185 + id-AdditionalRedundantUL-NGU-UP-TNLInformation ProtocolIE-ID ::= 186 + id-CNPacketDelayBudgetDL ProtocolIE-ID ::= 187 + id-CNPacketDelayBudgetUL ProtocolIE-ID ::= 188 + id-ExtendedPacketDelayBudget ProtocolIE-ID ::= 189 + id-RedundantCommonNetworkInstance ProtocolIE-ID ::= 190 + id-RedundantDL-NGU-TNLInformationReused ProtocolIE-ID ::= 191 + id-RedundantDL-NGU-UP-TNLInformation ProtocolIE-ID ::= 192 + id-RedundantDLQosFlowPerTNLInformation ProtocolIE-ID ::= 193 + id-RedundantQosFlowIndicator ProtocolIE-ID ::= 194 + id-RedundantUL-NGU-UP-TNLInformation ProtocolIE-ID ::= 195 + id-TSCTrafficCharacteristics ProtocolIE-ID ::= 196 + id-RedundantPDUSessionInformation ProtocolIE-ID ::= 197 + id-UsedRSNInformation ProtocolIE-ID ::= 198 + id-IAB-Authorized ProtocolIE-ID ::= 199 + id-IAB-Supported ProtocolIE-ID ::= 200 + id-IABNodeIndication ProtocolIE-ID ::= 201 + id-NB-IoT-PagingDRX ProtocolIE-ID ::= 202 + id-NB-IoT-Paging-eDRXInfo ProtocolIE-ID ::= 203 + id-NB-IoT-DefaultPagingDRX ProtocolIE-ID ::= 204 + id-Enhanced-CoverageRestriction ProtocolIE-ID ::= 205 + id-Extended-ConnectedTime ProtocolIE-ID ::= 206 + id-PagingAssisDataforCEcapabUE ProtocolIE-ID ::= 207 + id-WUS-Assistance-Information ProtocolIE-ID ::= 208 + id-UE-DifferentiationInfo ProtocolIE-ID ::= 209 + id-NB-IoT-UEPriority ProtocolIE-ID ::= 210 + id-UL-CP-SecurityInformation ProtocolIE-ID ::= 211 + id-DL-CP-SecurityInformation ProtocolIE-ID ::= 212 + id-TAI ProtocolIE-ID ::= 213 + id-UERadioCapabilityForPagingOfNB-IoT ProtocolIE-ID ::= 214 + id-LTEV2XServicesAuthorized ProtocolIE-ID ::= 215 + id-NRV2XServicesAuthorized ProtocolIE-ID ::= 216 + id-LTEUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 217 + id-NRUESidelinkAggregateMaximumBitrate ProtocolIE-ID ::= 218 + id-PC5QoSParameters ProtocolIE-ID ::= 219 + id-AlternativeQoSParaSetList ProtocolIE-ID ::= 220 + id-CurrentQoSParaSetIndex ProtocolIE-ID ::= 221 + id-CEmodeBrestricted ProtocolIE-ID ::= 222 + id-EUTRA-PagingeDRXInformation ProtocolIE-ID ::= 223 + id-CEmodeBSupport-Indicator ProtocolIE-ID ::= 224 + id-LTEM-Indication ProtocolIE-ID ::= 225 + id-EndIndication ProtocolIE-ID ::= 226 + id-EDT-Session ProtocolIE-ID ::= 227 + id-UECapabilityInfoRequest ProtocolIE-ID ::= 228 + id-PDUSessionResourceFailedToResumeListRESReq ProtocolIE-ID ::= 229 + id-PDUSessionResourceFailedToResumeListRESRes ProtocolIE-ID ::= 230 + id-PDUSessionResourceSuspendListSUSReq ProtocolIE-ID ::= 231 + id-PDUSessionResourceResumeListRESReq ProtocolIE-ID ::= 232 + id-PDUSessionResourceResumeListRESRes ProtocolIE-ID ::= 233 + id-UE-UP-CIoT-Support ProtocolIE-ID ::= 234 + id-Suspend-Request-Indication ProtocolIE-ID ::= 235 + id-Suspend-Response-Indication ProtocolIE-ID ::= 236 + id-RRC-Resume-Cause ProtocolIE-ID ::= 237 + id-RGLevelWirelineAccessCharacteristics ProtocolIE-ID ::= 238 + id-W-AGFIdentityInformation ProtocolIE-ID ::= 239 + id-GlobalTNGF-ID ProtocolIE-ID ::= 240 + id-GlobalTWIF-ID ProtocolIE-ID ::= 241 + id-GlobalW-AGF-ID ProtocolIE-ID ::= 242 + id-UserLocationInformationW-AGF ProtocolIE-ID ::= 243 + id-UserLocationInformationTNGF ProtocolIE-ID ::= 244 + id-AuthenticatedIndication ProtocolIE-ID ::= 245 + id-TNGFIdentityInformation ProtocolIE-ID ::= 246 + id-TWIFIdentityInformation ProtocolIE-ID ::= 247 + id-UserLocationInformationTWIF ProtocolIE-ID ::= 248 + id-DataForwardingResponseERABList ProtocolIE-ID ::= 249 + id-IntersystemSONConfigurationTransferDL ProtocolIE-ID ::= 250 + id-IntersystemSONConfigurationTransferUL ProtocolIE-ID ::= 251 + id-SONInformationReport ProtocolIE-ID ::= 252 + id-UEHistoryInformationFromTheUE ProtocolIE-ID ::= 253 + id-ManagementBasedMDTPLMNList ProtocolIE-ID ::= 254 + id-MDTConfiguration ProtocolIE-ID ::= 255 + id-PrivacyIndicator ProtocolIE-ID ::= 256 + id-TraceCollectionEntityURI ProtocolIE-ID ::= 257 + id-NPN-Support ProtocolIE-ID ::= 258 + id-NPN-AccessInformation ProtocolIE-ID ::= 259 + id-NPN-PagingAssistanceInformation ProtocolIE-ID ::= 260 + id-NPN-MobilityInformation ProtocolIE-ID ::= 261 + id-TargettoSource-Failure-TransparentContainer ProtocolIE-ID ::= 262 + id-NID ProtocolIE-ID ::= 263 + id-UERadioCapabilityID ProtocolIE-ID ::= 264 + id-UERadioCapability-EUTRA-Format ProtocolIE-ID ::= 265 + id-DAPSRequestInfo ProtocolIE-ID ::= 266 + id-DAPSResponseInfoList ProtocolIE-ID ::= 267 + id-EarlyStatusTransfer-TransparentContainer ProtocolIE-ID ::= 268 + id-NotifySourceNGRANNode ProtocolIE-ID ::= 269 + id-ExtendedSliceSupportList ProtocolIE-ID ::= 270 + id-ExtendedTAISliceSupportList ProtocolIE-ID ::= 271 + id-ConfiguredTACIndication ProtocolIE-ID ::= 272 + id-Extended-RANNodeName ProtocolIE-ID ::= 273 + id-Extended-AMFName ProtocolIE-ID ::= 274 + id-GlobalCable-ID ProtocolIE-ID ::= 275 + id-QosMonitoringReportingFrequency ProtocolIE-ID ::= 276 + id-QosFlowParametersList ProtocolIE-ID ::= 277 + id-QosFlowFeedbackList ProtocolIE-ID ::= 278 + id-BurstArrivalTimeDownlink ProtocolIE-ID ::= 279 + id-ExtendedUEIdentityIndexValue ProtocolIE-ID ::= 280 + id-PduSessionExpectedUEActivityBehaviour ProtocolIE-ID ::= 281 + id-MicoAllPLMN ProtocolIE-ID ::= 282 + id-QosFlowFailedToSetupList ProtocolIE-ID ::= 283 + id-SourceTNLAddrInfo ProtocolIE-ID ::= 284 + id-ExtendedReportIntervalMDT ProtocolIE-ID ::= 285 + id-SourceNodeID ProtocolIE-ID ::= 286 + id-NRNTNTAIInformation ProtocolIE-ID ::= 287 + id-UEContextReferenceAtSource ProtocolIE-ID ::= 288 + id-LastVisitedPSCellList ProtocolIE-ID ::= 289 + id-IntersystemSONInformationRequest ProtocolIE-ID ::= 290 + id-IntersystemSONInformationReply ProtocolIE-ID ::= 291 + id-EnergySavingIndication ProtocolIE-ID ::= 292 + id-IntersystemResourceStatusUpdate ProtocolIE-ID ::= 293 + id-SuccessfulHandoverReportList ProtocolIE-ID ::= 294 + id-MBS-AreaSessionID ProtocolIE-ID ::= 295 + id-MBS-QoSFlowsToBeSetupList ProtocolIE-ID ::= 296 + id-MBS-QoSFlowsToBeSetupModList ProtocolIE-ID ::= 297 + id-MBS-ServiceArea ProtocolIE-ID ::= 298 + id-MBS-SessionID ProtocolIE-ID ::= 299 + id-MBS-DistributionReleaseRequestTransfer ProtocolIE-ID ::= 300 + id-MBS-DistributionSetupRequestTransfer ProtocolIE-ID ::= 301 + id-MBS-DistributionSetupResponseTransfer ProtocolIE-ID ::= 302 + id-MBS-DistributionSetupUnsuccessfulTransfer ProtocolIE-ID ::= 303 + id-MulticastSessionActivationRequestTransfer ProtocolIE-ID ::= 304 + id-MulticastSessionDeactivationRequestTransfer ProtocolIE-ID ::= 305 + id-MulticastSessionUpdateRequestTransfer ProtocolIE-ID ::= 306 + id-MulticastGroupPagingAreaList ProtocolIE-ID ::= 307 + --WS extension + id-Unknown-308 ProtocolIE-ID ::= 308 + id-MBS-SupportIndicator ProtocolIE-ID ::= 309 + id-MBSSessionFailedtoSetupList ProtocolIE-ID ::= 310 + id-MBSSessionFailedtoSetuporModifyList ProtocolIE-ID ::= 311 + id-MBSSessionSetupResponseList ProtocolIE-ID ::= 312 + id-MBSSessionSetuporModifyResponseList ProtocolIE-ID ::= 313 + id-MBSSessionSetupFailureTransfer ProtocolIE-ID ::= 314 + id-MBSSessionSetupRequestTransfer ProtocolIE-ID ::= 315 + id-MBSSessionSetupResponseTransfer ProtocolIE-ID ::= 316 + id-MBSSessionToReleaseList ProtocolIE-ID ::= 317 + id-MBSSessionSetupRequestList ProtocolIE-ID ::= 318 + id-MBSSessionSetuporModifyRequestList ProtocolIE-ID ::= 319 + --WS extension + id-Unknown-320 ProtocolIE-ID ::= 320 + id-Unknown-321 ProtocolIE-ID ::= 321 + id-Unknown-322 ProtocolIE-ID ::= 322 + id-MBS-ActiveSessionInformation-SourcetoTargetList ProtocolIE-ID ::= 323 + id-MBS-ActiveSessionInformation-TargettoSourceList ProtocolIE-ID ::= 324 + id-OnboardingSupport ProtocolIE-ID ::= 325 + id-TimeSyncAssistanceInfo ProtocolIE-ID ::= 326 + id-SurvivalTime ProtocolIE-ID ::= 327 + id-QMCConfigInfo ProtocolIE-ID ::= 328 + id-QMCDeactivation ProtocolIE-ID ::= 329 + --WS extension + id-Unknown-330 ProtocolIE-ID ::= 330 + id-PDUSessionPairID ProtocolIE-ID ::= 331 + id-NR-PagingeDRXInformation ProtocolIE-ID ::= 332 + id-RedCapIndication ProtocolIE-ID ::= 333 + id-TargetNSSAIInformation ProtocolIE-ID ::= 334 + id-UESliceMaximumBitRateList ProtocolIE-ID ::= 335 + id-M4ReportAmount ProtocolIE-ID ::= 336 + id-M5ReportAmount ProtocolIE-ID ::= 337 + id-M6ReportAmount ProtocolIE-ID ::= 338 + id-M7ReportAmount ProtocolIE-ID ::= 339 + id-IncludeBeamMeasurementsIndication ProtocolIE-ID ::= 340 + id-ExcessPacketDelayThresholdConfiguration ProtocolIE-ID ::= 341 + id-PagingCause ProtocolIE-ID ::= 342 + id-PagingCauseIndicationForVoiceService ProtocolIE-ID ::= 343 + id-PEIPSassistanceInformation ProtocolIE-ID ::= 344 + id-FiveG-ProSeAuthorized ProtocolIE-ID ::= 345 + id-FiveG-ProSeUEPC5AggregateMaximumBitRate ProtocolIE-ID ::= 346 + id-FiveG-ProSePC5QoSParameters ProtocolIE-ID ::= 347 + id-MBSSessionModificationFailureTransfer ProtocolIE-ID ::= 348 + id-MBSSessionModificationRequestTransfer ProtocolIE-ID ::= 349 + id-MBSSessionModificationResponseTransfer ProtocolIE-ID ::= 350 + id-MBS-QoSFlowToReleaseList ProtocolIE-ID ::= 351 + id-MBS-SessionTNLInfo5GC ProtocolIE-ID ::= 352 + id-TAINSAGSupportList ProtocolIE-ID ::= 353 + id-SourceNodeTNLAddrInfo ProtocolIE-ID ::= 354 + id-NGAPIESupportInformationRequestList ProtocolIE-ID ::= 355 + id-NGAPIESupportInformationResponseList ProtocolIE-ID ::= 356 + id-MBS-SessionFSAIDList ProtocolIE-ID ::= 357 + id-MBSSessionReleaseResponseTransfer ProtocolIE-ID ::= 358 + id-ManagementBasedMDTPLMNModificationList ProtocolIE-ID ::= 359 + id-EarlyMeasurement ProtocolIE-ID ::= 360 + id-BeamMeasurementsReportConfiguration ProtocolIE-ID ::= 361 + id-HFCNode-ID-new ProtocolIE-ID ::= 362 + id-GlobalCable-ID-new ProtocolIE-ID ::= 363 + id-TargetHomeENB-ID ProtocolIE-ID ::= 364 + id-HashedUEIdentityIndexValue ProtocolIE-ID ::= 365 + + +END diff --git a/ttcn/LibNGAP/lib/asn1/NGAP_Containers.asn b/ttcn/LibNGAP/lib/asn1/NGAP_Containers.asn new file mode 100644 index 0000000000000000000000000000000000000000..fdf612bef26f2985ea78f3dea1d1cbe6f72686ef --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/NGAP_Containers.asn @@ -0,0 +1,200 @@ +-- 3GPP TS 38.413 V17.5.0 (2023-06) +-- 9.4.8 Container Definitions +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +NGAP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + + Criticality, + Presence, + PrivateIE-ID, + ProtocolExtensionID, + ProtocolIE-ID +FROM NGAP-CommonDataTypes + + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM NGAP-Constants; + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +NGAP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +NGAP-PROTOCOL-IES-PAIR ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &firstCriticality Criticality, + &FirstValue, + &secondCriticality Criticality, + &SecondValue, + &presence Presence +} +WITH SYNTAX { + ID &id + FIRST CRITICALITY &firstCriticality + FIRST TYPE &FirstValue + SECOND CRITICALITY &secondCriticality + SECOND TYPE &SecondValue + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** + +NGAP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Private IEs +-- +-- ************************************************************** + +NGAP-PRIVATE-IES ::= CLASS { + &id PrivateIE-ID, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** + +ProtocolIE-Container {NGAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-SingleContainer {NGAP-PROTOCOL-IES : IEsSetParam} ::= + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {NGAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id NGAP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality NGAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value NGAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Protocol IE Pairs +-- +-- ************************************************************** + +ProtocolIE-ContainerPair {NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-FieldPair {{IEsSetParam}} + +ProtocolIE-FieldPair {NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { + id NGAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), + firstCriticality NGAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), + firstValue NGAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), + secondCriticality NGAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), + secondValue NGAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-SingleContainer {{IEsSetParam}} + +ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-ContainerPair {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {NGAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {NGAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id NGAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality NGAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue NGAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {NGAP-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1..maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {NGAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id NGAP-PRIVATE-IES.&id ({IEsSetParam}), + criticality NGAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value NGAP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + +END diff --git a/ttcn/LibNGAP/lib/asn1/NGAP_IEs.asn b/ttcn/LibNGAP/lib/asn1/NGAP_IEs.asn new file mode 100644 index 0000000000000000000000000000000000000000..d0af009244238da73210ba0290d82fa1150c71b7 --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/NGAP_IEs.asn @@ -0,0 +1,6990 @@ +-- 3GPP TS 38.413 V17.5.0 (2023-06) +-- 9.4.5 Information Element Definitions +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +NGAP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + + id-AdditionalDLForwardingUPTNLInformation, + id-AdditionalULForwardingUPTNLInformation, + id-AdditionalDLQosFlowPerTNLInformation, + id-AdditionalDLUPTNLInformationForHOList, + id-AdditionalNGU-UP-TNLInformation, + id-AdditionalRedundantDL-NGU-UP-TNLInformation, + id-AdditionalRedundantDLQosFlowPerTNLInformation, + id-AdditionalRedundantNGU-UP-TNLInformation, + id-AdditionalRedundantUL-NGU-UP-TNLInformation, + id-AdditionalUL-NGU-UP-TNLInformation, + id-AlternativeQoSParaSetList, + id-BurstArrivalTimeDownlink, + id-Cause, + id-CNPacketDelayBudgetDL, + id-CNPacketDelayBudgetUL, + id-CNTypeRestrictionsForEquivalent, + id-CNTypeRestrictionsForServing, + id-CommonNetworkInstance, + id-ConfiguredTACIndication, + id-CurrentQoSParaSetIndex, + id-DAPSRequestInfo, + id-DAPSResponseInfoList, + id-DataForwardingNotPossible, + id-DataForwardingResponseERABList, + id-DirectForwardingPathAvailability, + id-DL-NGU-UP-TNLInformation, + id-EndpointIPAddressAndPort, + id-EnergySavingIndication, + id-ExtendedPacketDelayBudget, + id-ExtendedRATRestrictionInformation, + id-ExtendedReportIntervalMDT, + id-ExtendedSliceSupportList, + id-ExtendedTAISliceSupportList, + id-ExtendedUEIdentityIndexValue, + id-EUTRA-PagingeDRXInformation, + id-GlobalCable-ID, + id-GlobalRANNodeID, + id-GlobalTNGF-ID, + id-GlobalTWIF-ID, + id-GlobalW-AGF-ID, + id-GUAMIType, +id-HashedUEIdentityIndexValue, + id-IncludeBeamMeasurementsIndication, + id-IntersystemSONInformationRequest, + id-IntersystemSONInformationReply, + id-IntersystemResourceStatusUpdate, + id-LastEUTRAN-PLMNIdentity, + id-LastVisitedPSCellList, + id-LocationReportingAdditionalInfo, + id-M4ReportAmount, + id-M5ReportAmount, + id-M6ReportAmount, + id-ExcessPacketDelayThresholdConfiguration, + id-M7ReportAmount, + id-MaximumIntegrityProtectedDataRate-DL, + id-MBS-AreaSessionID, + id-MBS-QoSFlowsToBeSetupList, + id-MBS-QoSFlowsToBeSetupModList, + id-MBS-QoSFlowToReleaseList, + id-MBS-ServiceArea, + id-MBS-SessionFSAIDList, + id-MBS-SessionID, + id-MBS-ActiveSessionInformation-SourcetoTargetList, + id-MBS-ActiveSessionInformation-TargettoSourceList, + id-MBS-SessionTNLInfo5GC, + id-MBS-SupportIndicator, + id-MBSSessionFailedtoSetupList, + id-MBSSessionFailedtoSetuporModifyList, + id-MBSSessionSetupResponseList, + id-MBSSessionSetuporModifyResponseList, + id-MBSSessionToReleaseList, + id-MBSSessionSetupRequestList, + id-MBSSessionSetuporModifyRequestList, + id-MDTConfiguration, + id-MicoAllPLMN, + id-NetworkInstance, + id-NGAPIESupportInformationRequestList, + id-NGAPIESupportInformationResponseList, + id-NID, + id-NR-CGI, + id-NRNTNTAIInformation, + id-NPN-MobilityInformation, + id-NPN-PagingAssistanceInformation, + id-NPN-Support, + id-NR-PagingeDRXInformation, + id-OldAssociatedQosFlowList-ULendmarkerexpected, + id-OnboardingSupport, + id-PagingAssisDataforCEcapabUE, + id-PagingCauseIndicationForVoiceService, + id-PDUSessionAggregateMaximumBitRate, + id-PduSessionExpectedUEActivityBehaviour, + id-PDUSessionPairID, + id-PDUSessionResourceFailedToSetupListCxtFail, + id-PDUSessionResourceReleaseResponseTransfer, + id-PDUSessionType, + id-PEIPSassistanceInformation, + id-PSCellInformation, + id-QMCConfigInfo, + id-QosFlowAddOrModifyRequestList, + id-QosFlowFailedToSetupList, + id-QosFlowFeedbackList, + id-QosFlowParametersList, + id-QosFlowSetupRequestList, + id-QosFlowToReleaseList, + id-QosMonitoringRequest, + id-QosMonitoringReportingFrequency, + id-SuccessfulHandoverReportList, + id-UEContextReferenceAtSource, + id-RAT-Information, + id-RedundantCommonNetworkInstance, + id-RedundantDL-NGU-TNLInformationReused, + id-RedundantDL-NGU-UP-TNLInformation, + id-RedundantDLQosFlowPerTNLInformation, + id-RedundantPDUSessionInformation, + id-RedundantQosFlowIndicator, + id-RedundantUL-NGU-UP-TNLInformation, + id-SCTP-TLAs, + id-SecondaryRATUsageInformation, + id-SecurityIndication, + id-SecurityResult, + id-SgNB-UE-X2AP-ID, + id-S-NSSAI, + id-SONInformationReport, + id-SourceNodeID, + id-SourceNodeTNLAddrInfo, + id-SourceTNLAddrInfo, + id-SurvivalTime, + id-TNLAssociationTransportLayerAddressNGRAN, + id-TAINSAGSupportList, + id-TargetHomeENB-ID, + id-TargetRNC-ID, + id-TraceCollectionEntityURI, + id-TSCTrafficCharacteristics, + id-UEHistoryInformationFromTheUE, + id-UERadioCapabilityForPaging, + id-UERadioCapabilityForPagingOfNB-IoT, + id-UL-NGU-UP-TNLInformation, + id-UL-NGU-UP-TNLModifyList, + id-ULForwarding, + id-ULForwardingUP-TNLInformation, + id-UsedRSNInformation, + id-UserLocationInformationTNGF, + id-UserLocationInformationTWIF, + id-UserLocationInformationW-AGF, + id-EarlyMeasurement, + id-BeamMeasurementsReportConfiguration, + id-TAI, + id-HFCNode-ID-new, + id-GlobalCable-ID-new, + maxnoofAllowedAreas, + maxnoofAllowedCAGsperPLMN, + maxnoofAllowedS-NSSAIs, + maxnoofBluetoothName, + maxnoofBPLMNs, + maxnoofCAGSperCell, + maxnoofCandidateCells, + maxnoofCellIDforMDT, + maxnoofCellIDforQMC, + maxnoofCellIDforWarning, + maxnoofCellinAoI, + maxnoofCellinEAI, + maxnoofCellsforMBS, + maxnoofCellsingNB, + maxnoofCellsinngeNB, + maxnoofCellsinNGRANNode, + maxnoofCellinTAI, + maxnoofCellsinUEHistoryInfo, + maxnoofCellsUEMovingTrajectory, + maxnoofDRBs, + maxnoofEmergencyAreaID, + maxnoofEAIforRestart, + maxnoofEPLMNs, + maxnoofEPLMNsPlusOne, + maxnoofE-RABs, + maxnoofErrors, + maxnoofExtSliceItems, + maxnoofForbTACs, + maxnoofFreqforMDT, + maxnoofMBSFSAs, + maxnoofMBSQoSFlows, + maxnoofMBSServiceAreaInformation, + maxnoofMBSAreaSessionIDs, + maxnoofMBSSessions, + maxnoofMBSSessionsofUE, + maxnoofMDTPLMNs, + maxnoofMRBs, + maxnoofMultiConnectivity, + maxnoofMultiConnectivityMinusOne, + maxnoofNeighPCIforMDT, + maxnoofNGAPIESupportInfo, + maxnoofNGConnectionsToReset, + maxNRARFCN, + maxnoofNRCellBands, + maxnoofNSAGs, + maxnoofPagingAreas, + maxnoofPC5QoSFlows, + maxnoofPDUSessions, + maxnoofPLMNs, + maxnoofPLMNforQMC, + maxnoofQosFlows, + maxnoofQosParaSets, + maxnoofRANNodeinAoI, + maxnoofRecommendedCells, + maxnoofRecommendedRANNodes, + maxnoofAoI, + maxnoofPSCellsPerPrimaryCellinUEHistoryInfo, + maxnoofReportedCells, + maxnoofSensorName, + maxnoofServedGUAMIs, + maxnoofSliceItems, + maxnoofSNSSAIforQMC, + maxnoofSuccessfulHOReports, + maxnoofTACs, + maxnoofTACsinNTN, + maxnoofTAforMDT, + maxnoofTAforQMC, + maxnoofTAIforInactive, + maxnoofTAIforMBS, + maxnoofTAIforPaging, + maxnoofTAIforRestart, + maxnoofTAIforWarning, + maxnoofTAIinAoI, + maxnoofTargetS-NSSAIs, + maxnoofTimePeriods, + maxnoofTNLAssociations, + maxnoofUEAppLayerMeas, + maxnoofUEsforPaging, + maxnoofWLANName, + maxnoofXnExtTLAs, + maxnoofXnGTP-TLAs, + maxnoofXnTLAs, + maxnoofThresholdsForExcessPacketDelay + +FROM NGAP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM NGAP-CommonDataTypes + + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + NGAP-PROTOCOL-EXTENSION, + ProtocolIE-SingleContainer{}, + NGAP-PROTOCOL-IES +FROM NGAP-Containers; + +-- A + +AdditionalDLUPTNLInformationForHOList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF AdditionalDLUPTNLInformationForHOItem + +AdditionalDLUPTNLInformationForHOItem ::= SEQUENCE { + additionalDL-NGU-UP-TNLInformation UPTransportLayerInformation, + additionalQosFlowSetupResponseList QosFlowListWithDataForwarding, + additionalDLForwardingUPTNLInformation UPTransportLayerInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { AdditionalDLUPTNLInformationForHOItem-ExtIEs} } OPTIONAL, + ... +} + +AdditionalDLUPTNLInformationForHOItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalRedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }, + ... +} + +AdditionalQosFlowInformation ::= ENUMERATED { + more-likely, + ... +} + +AllocationAndRetentionPriority ::= SEQUENCE { + priorityLevelARP PriorityLevelARP, + pre-emptionCapability Pre-emptionCapability, + pre-emptionVulnerability Pre-emptionVulnerability, + iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL, + ... +} + +AllocationAndRetentionPriority-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +Allowed-CAG-List-per-PLMN ::= SEQUENCE (SIZE(1..maxnoofAllowedCAGsperPLMN)) OF CAG-ID + +AllowedNSSAI ::= SEQUENCE (SIZE(1..maxnoofAllowedS-NSSAIs)) OF AllowedNSSAI-Item + +AllowedNSSAI-Item ::= SEQUENCE { + s-NSSAI S-NSSAI, + iE-Extensions ProtocolExtensionContainer { {AllowedNSSAI-Item-ExtIEs} } OPTIONAL, + ... +} + +AllowedNSSAI-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +Allowed-PNI-NPN-List ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF Allowed-PNI-NPN-Item + +Allowed-PNI-NPN-Item ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + pNI-NPN-restricted ENUMERATED {restricted, not-restricted, ...}, + allowed-CAG-List-per-PLMN Allowed-CAG-List-per-PLMN, + iE-Extensions ProtocolExtensionContainer { {Allowed-PNI-NPN-Item-ExtIEs} } OPTIONAL, + ... +} + +Allowed-PNI-NPN-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AllowedTACs ::= SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC + +AlternativeQoSParaSetIndex ::= INTEGER (1..8, ...) + +AlternativeQoSParaSetNotifyIndex ::= INTEGER (0..8, ...) + +AlternativeQoSParaSetList ::= SEQUENCE (SIZE(1..maxnoofQosParaSets)) OF AlternativeQoSParaSetItem + +AlternativeQoSParaSetItem ::= SEQUENCE { + alternativeQoSParaSetIndex AlternativeQoSParaSetIndex, + guaranteedFlowBitRateDL BitRate OPTIONAL, + guaranteedFlowBitRateUL BitRate OPTIONAL, + packetDelayBudget PacketDelayBudget OPTIONAL, + packetErrorRate PacketErrorRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AlternativeQoSParaSetItem-ExtIEs} } OPTIONAL, + ... +} + +AlternativeQoSParaSetItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AMFName ::= PrintableString (SIZE(1..150, ...)) + +AMFNameVisibleString ::= VisibleString (SIZE(1..150, ...)) + +AMFNameUTF8String ::= UTF8String (SIZE(1..150, ...)) + +AMFPagingTarget ::= CHOICE { + globalRANNodeID GlobalRANNodeID, + tAI TAI, + choice-Extensions ProtocolIE-SingleContainer { {AMFPagingTarget-ExtIEs} } +} + +AMFPagingTarget-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +AMFPointer ::= BIT STRING (SIZE(6)) + +AMFRegionID ::= BIT STRING (SIZE(8)) + +AMFSetID ::= BIT STRING (SIZE(10)) + +AMF-TNLAssociationSetupList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationSetupItem + +AMF-TNLAssociationSetupItem ::= SEQUENCE { + aMF-TNLAssociationAddress CPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationSetupItem-ExtIEs} } OPTIONAL, + ... +} + +AMF-TNLAssociationSetupItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AMF-TNLAssociationToAddList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationToAddItem + +AMF-TNLAssociationToAddItem ::= SEQUENCE { + aMF-TNLAssociationAddress CPTransportLayerInformation, + tNLAssociationUsage TNLAssociationUsage OPTIONAL, + tNLAddressWeightFactor TNLAddressWeightFactor, + iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationToAddItem-ExtIEs} } OPTIONAL, + ... +} + +AMF-TNLAssociationToAddItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AMF-TNLAssociationToRemoveList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationToRemoveItem + +AMF-TNLAssociationToRemoveItem ::= SEQUENCE { + aMF-TNLAssociationAddress CPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationToRemoveItem-ExtIEs} } OPTIONAL, + ... +} + +AMF-TNLAssociationToRemoveItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-TNLAssociationTransportLayerAddressNGRAN CRITICALITY reject EXTENSION CPTransportLayerInformation PRESENCE optional}, + ... +} + +AMF-TNLAssociationToUpdateList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF AMF-TNLAssociationToUpdateItem + +AMF-TNLAssociationToUpdateItem ::= SEQUENCE { + aMF-TNLAssociationAddress CPTransportLayerInformation, + tNLAssociationUsage TNLAssociationUsage OPTIONAL, + tNLAddressWeightFactor TNLAddressWeightFactor OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AMF-TNLAssociationToUpdateItem-ExtIEs} } OPTIONAL, + ... +} + +AMF-TNLAssociationToUpdateItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775) + +AreaOfInterest ::= SEQUENCE { + areaOfInterestTAIList AreaOfInterestTAIList OPTIONAL, + areaOfInterestCellList AreaOfInterestCellList OPTIONAL, + areaOfInterestRANNodeList AreaOfInterestRANNodeList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AreaOfInterest-ExtIEs} } OPTIONAL, + ... +} + +AreaOfInterest-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AreaOfInterestCellList ::= SEQUENCE (SIZE(1..maxnoofCellinAoI)) OF AreaOfInterestCellItem + +AreaOfInterestCellItem ::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + iE-Extensions ProtocolExtensionContainer { {AreaOfInterestCellItem-ExtIEs} } OPTIONAL, + ... +} + +AreaOfInterestCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AreaOfInterestList ::= SEQUENCE (SIZE(1..maxnoofAoI)) OF AreaOfInterestItem + +AreaOfInterestItem ::= SEQUENCE { + areaOfInterest AreaOfInterest, + locationReportingReferenceID LocationReportingReferenceID, + iE-Extensions ProtocolExtensionContainer { {AreaOfInterestItem-ExtIEs} } OPTIONAL, + ... +} + +AreaOfInterestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AreaOfInterestRANNodeList ::= SEQUENCE (SIZE(1..maxnoofRANNodeinAoI)) OF AreaOfInterestRANNodeItem + +AreaOfInterestRANNodeItem ::= SEQUENCE { + globalRANNodeID GlobalRANNodeID, + iE-Extensions ProtocolExtensionContainer { {AreaOfInterestRANNodeItem-ExtIEs} } OPTIONAL, + ... +} + +AreaOfInterestRANNodeItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AreaOfInterestTAIList ::= SEQUENCE (SIZE(1..maxnoofTAIinAoI)) OF AreaOfInterestTAIItem + +AreaOfInterestTAIItem ::= SEQUENCE { + tAI TAI, + iE-Extensions ProtocolExtensionContainer { {AreaOfInterestTAIItem-ExtIEs} } OPTIONAL, + ... +} + +AreaOfInterestTAIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AssistanceDataForPaging ::= SEQUENCE { + assistanceDataForRecommendedCells AssistanceDataForRecommendedCells OPTIONAL, + pagingAttemptInformation PagingAttemptInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AssistanceDataForPaging-ExtIEs} } OPTIONAL, + ... +} + +AssistanceDataForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-NPN-PagingAssistanceInformation CRITICALITY ignore EXTENSION NPN-PagingAssistanceInformation PRESENCE optional }| + { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore EXTENSION PagingAssisDataforCEcapabUE PRESENCE optional }, + ... +} + +AssistanceDataForRecommendedCells ::= SEQUENCE { + recommendedCellsForPaging RecommendedCellsForPaging, + iE-Extensions ProtocolExtensionContainer { {AssistanceDataForRecommendedCells-ExtIEs} } OPTIONAL, + ... +} + +AssistanceDataForRecommendedCells-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AssociatedMBSQosFlowSetupRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF AssociatedMBSQosFlowSetupRequestItem + +AssociatedMBSQosFlowSetupRequestItem ::= SEQUENCE { + mBS-QosFlowIdentifier QosFlowIdentifier, + associatedUnicastQosFlowIdentifier QosFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { { AssociatedMBSQosFlowSetupRequestItem-ExtIEs} } OPTIONAL, + ... +} + +AssociatedMBSQosFlowSetupRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AssociatedMBSQosFlowSetuporModifyRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF AssociatedMBSQosFlowSetuporModifyRequestItem + +AssociatedMBSQosFlowSetuporModifyRequestItem ::= SEQUENCE { + mBS-QosFlowIdentifier QosFlowIdentifier, + associatedUnicastQosFlowIdentifier QosFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { { AssociatedMBSQosFlowSetuporModifyRequestItem-ExtIEs} } OPTIONAL, + ... +} + +AssociatedMBSQosFlowSetuporModifyRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AssociatedQosFlowList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF AssociatedQosFlowItem + +AssociatedQosFlowItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + qosFlowMappingIndication ENUMERATED {ul, dl, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AssociatedQosFlowItem-ExtIEs} } OPTIONAL, + ... +} + +AssociatedQosFlowItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional }, + ... +} + +AuthenticatedIndication ::= ENUMERATED {true, ...} + +AveragingWindow ::= INTEGER (0..4095, ...) + +AreaScopeOfMDT-NR ::= CHOICE { + cellBased CellBasedMDT-NR, + tABased TABasedMDT, + pLMNWide NULL, + tAIBased TAIBasedMDT, + choice-Extensions ProtocolIE-SingleContainer { {AreaScopeOfMDT-NR-ExtIEs} } +} + +AreaScopeOfMDT-NR-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +AreaScopeOfMDT-EUTRA ::= CHOICE { + cellBased CellBasedMDT-EUTRA, + tABased TABasedMDT, + pLMNWide NULL, + tAIBased TAIBasedMDT, + choice-Extensions ProtocolIE-SingleContainer { {AreaScopeOfMDT-EUTRA-ExtIEs} } +} + +AreaScopeOfMDT-EUTRA-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +AreaScopeOfNeighCellsList ::= SEQUENCE (SIZE(1..maxnoofFreqforMDT)) OF AreaScopeOfNeighCellsItem +AreaScopeOfNeighCellsItem ::= SEQUENCE { + nrFrequencyInfo NRFrequencyInfo, + pciListForMDT PCIListForMDT OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { AreaScopeOfNeighCellsItem-ExtIEs} } OPTIONAL, + ... +} + +AreaScopeOfNeighCellsItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +AreaScopeOfQMC ::= CHOICE { + cellBased CellBasedQMC, + tABased TABasedQMC, + tAIBased TAIBasedQMC, + pLMNAreaBased PLMNAreaBasedQMC, + choice-Extensions ProtocolIE-SingleContainer { { AreaScopeOfQMC-ExtIEs} } +} + +AreaScopeOfQMC-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +AvailableRANVisibleQoEMetrics ::= SEQUENCE { + applicationLayerBufferLevelList ENUMERATED {true, ...} OPTIONAL, + playoutDelayForMediaStartup ENUMERATED {true, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { AvailableRANVisibleQoEMetrics-ExtIEs} } OPTIONAL, + ... +} + +AvailableRANVisibleQoEMetrics-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- B + +BeamMeasurementsReportConfiguration ::= SEQUENCE { + beamMeasurementsReportQuantity BeamMeasurementsReportQuantity OPTIONAL, + maxNrofRS-IndexesToReport MaxNrofRS-IndexesToReport OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BeamMeasurementsReportConfiguration-ExtIEs} } OPTIONAL, + ... +} + +BeamMeasurementsReportConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +BeamMeasurementsReportQuantity ::= SEQUENCE { + rSRP ENUMERATED {true, ...}, + rSRQ ENUMERATED {true, ...}, + sINR ENUMERATED {true, ...}, + iE-Extensions ProtocolExtensionContainer { { BeamMeasurementsReportQuantity-ExtIEs} } OPTIONAL, + ... +} + +BeamMeasurementsReportQuantity-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +BitRate ::= INTEGER (0..4000000000000, ...) + +BroadcastCancelledAreaList ::= CHOICE { + cellIDCancelledEUTRA CellIDCancelledEUTRA, + tAICancelledEUTRA TAICancelledEUTRA, + emergencyAreaIDCancelledEUTRA EmergencyAreaIDCancelledEUTRA, + cellIDCancelledNR CellIDCancelledNR, + tAICancelledNR TAICancelledNR, + emergencyAreaIDCancelledNR EmergencyAreaIDCancelledNR, + choice-Extensions ProtocolIE-SingleContainer { {BroadcastCancelledAreaList-ExtIEs} } +} + +BroadcastCancelledAreaList-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +BroadcastCompletedAreaList ::= CHOICE { + cellIDBroadcastEUTRA CellIDBroadcastEUTRA, + tAIBroadcastEUTRA TAIBroadcastEUTRA, + emergencyAreaIDBroadcastEUTRA EmergencyAreaIDBroadcastEUTRA, + cellIDBroadcastNR CellIDBroadcastNR, + tAIBroadcastNR TAIBroadcastNR, + emergencyAreaIDBroadcastNR EmergencyAreaIDBroadcastNR, + choice-Extensions ProtocolIE-SingleContainer { {BroadcastCompletedAreaList-ExtIEs} } +} + +BroadcastCompletedAreaList-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +BroadcastPLMNList ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF BroadcastPLMNItem + +BroadcastPLMNItem ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + tAISliceSupportList SliceSupportList, + iE-Extensions ProtocolExtensionContainer { {BroadcastPLMNItem-ExtIEs} } OPTIONAL, + ... +} + +BroadcastPLMNItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-NPN-Support CRITICALITY reject EXTENSION NPN-Support PRESENCE optional}| + {ID id-ExtendedTAISliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional}| + {ID id-TAINSAGSupportList CRITICALITY ignore EXTENSION TAINSAGSupportList PRESENCE optional}, + ... +} + +BluetoothMeasurementConfiguration ::= SEQUENCE { + bluetoothMeasConfig BluetoothMeasConfig, + bluetoothMeasConfigNameList BluetoothMeasConfigNameList OPTIONAL, + bt-rssi ENUMERATED {true, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL, + ... +} + +BluetoothMeasurementConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothMeasConfigNameItem + +BluetoothMeasConfigNameItem ::= SEQUENCE { + bluetoothName BluetoothName, + iE-Extensions ProtocolExtensionContainer { { BluetoothMeasConfigNameItem-ExtIEs } } OPTIONAL, + ... +} + +BluetoothMeasConfigNameItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +BluetoothMeasConfig::= ENUMERATED {setup,...} + +BluetoothName ::= OCTET STRING (SIZE (1..248)) + +BurstArrivalTime ::= OCTET STRING + +-- C + +CAG-ID ::= BIT STRING (SIZE(32)) + +CancelAllWarningMessages ::= ENUMERATED { + true, + ... +} + +CancelledCellsInEAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellsInEAI-EUTRA-Item + +CancelledCellsInEAI-EUTRA-Item ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CancelledCellsInEAI-EUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +CancelledCellsInEAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CancelledCellsInEAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellsInEAI-NR-Item + +CancelledCellsInEAI-NR-Item ::= SEQUENCE { + nR-CGI NR-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CancelledCellsInEAI-NR-Item-ExtIEs} } OPTIONAL, + ... +} + +CancelledCellsInEAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CancelledCellsInTAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellsInTAI-EUTRA-Item + +CancelledCellsInTAI-EUTRA-Item ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CancelledCellsInTAI-EUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +CancelledCellsInTAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CancelledCellsInTAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellsInTAI-NR-Item + +CancelledCellsInTAI-NR-Item ::= SEQUENCE{ + nR-CGI NR-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CancelledCellsInTAI-NR-Item-ExtIEs} } OPTIONAL, + ... +} + +CancelledCellsInTAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CandidateCellList ::= SEQUENCE (SIZE(1.. maxnoofCandidateCells)) OF CandidateCellItem + +CandidateCellItem ::= SEQUENCE{ + candidateCell CandidateCell, + iE-Extensions ProtocolExtensionContainer { {CandidateCellItem-ExtIEs} } OPTIONAL, + ... +} + +CandidateCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CandidateCell::= CHOICE { + candidateCGI CandidateCellID, + candidatePCI CandidatePCI, + choice-Extensions ProtocolIE-SingleContainer { { CandidateCell-ExtIEs} } +} + +CandidateCell-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + + +CandidateCellID::= SEQUENCE { + candidateCellID NR-CGI, + iE-Extensions ProtocolExtensionContainer { { CandidateCellID-ExtIEs} } OPTIONAL, + ... +} + +CandidateCellID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CandidatePCI::= SEQUENCE { + candidatePCI INTEGER (0..1007, ...), + candidateNRARFCN INTEGER (0..maxNRARFCN), + iE-Extensions ProtocolExtensionContainer { { CandidatePCI-ExtIEs} } OPTIONAL, + ... +} + +CandidatePCI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transport CauseTransport, + nas CauseNas, + protocol CauseProtocol, + misc CauseMisc, + choice-Extensions ProtocolIE-SingleContainer { {Cause-ExtIEs} } +} + +Cause-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +CauseMisc ::= ENUMERATED { + control-processing-overload, + not-enough-user-plane-processing-resources, + hardware-failure, + om-intervention, + unknown-PLMN-or-SNPN, + unspecified, + ... +} + +CauseNas ::= ENUMERATED { + normal-release, + authentication-failure, + deregister, + unspecified, + ..., + uE-not-in-PLMN-serving-area +} + +CauseProtocol ::= ENUMERATED { + transfer-syntax-error, + abstract-syntax-error-reject, + abstract-syntax-error-ignore-and-notify, + message-not-compatible-with-receiver-state, + semantic-error, + abstract-syntax-error-falsely-constructed-message, + unspecified, + ... +} + +CauseRadioNetwork ::= ENUMERATED { + unspecified, + txnrelocoverall-expiry, + successful-handover, + release-due-to-ngran-generated-reason, + release-due-to-5gc-generated-reason, + handover-cancelled, + partial-handover, + ho-failure-in-target-5GC-ngran-node-or-target-system, + ho-target-not-allowed, + tngrelocoverall-expiry, + tngrelocprep-expiry, + cell-not-available, + unknown-targetID, + no-radio-resources-available-in-target-cell, + unknown-local-UE-NGAP-ID, + inconsistent-remote-UE-NGAP-ID, + handover-desirable-for-radio-reason, + time-critical-handover, + resource-optimisation-handover, + reduce-load-in-serving-cell, + user-inactivity, + radio-connection-with-ue-lost, + radio-resources-not-available, + invalid-qos-combination, + failure-in-radio-interface-procedure, + interaction-with-other-procedure, + unknown-PDU-session-ID, + unkown-qos-flow-ID, + multiple-PDU-session-ID-instances, + multiple-qos-flow-ID-instances, + encryption-and-or-integrity-protection-algorithms-not-supported, + ng-intra-system-handover-triggered, + ng-inter-system-handover-triggered, + xn-handover-triggered, + not-supported-5QI-value, + ue-context-transfer, + ims-voice-eps-fallback-or-rat-fallback-triggered, + up-integrity-protection-not-possible, + up-confidentiality-protection-not-possible, + slice-not-supported, + ue-in-rrc-inactive-state-not-reachable, + redirection, + resources-not-available-for-the-slice, + ue-max-integrity-protected-data-rate-reason, + release-due-to-cn-detected-mobility, + ..., + n26-interface-not-available, + release-due-to-pre-emption, + multiple-location-reporting-reference-ID-instances, + rsn-not-available-for-the-up, + npn-access-denied, + cag-only-access-denied, + insufficient-ue-capabilities, + redcap-ue-not-supported, + unknown-MBS-Session-ID, + indicated-MBS-session-area-information-not-served-by-the-gNB, + inconsistent-slice-info-for-the-session, + misaligned-association-for-multicast-unicast +} + +CauseTransport ::= ENUMERATED { + transport-resource-unavailable, + unspecified, + ... +} + +Cell-CAGInformation ::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + cellCAGList CellCAGList, + iE-Extensions ProtocolExtensionContainer { {Cell-CAGInformation-ExtIEs} } OPTIONAL, + ... +} + +Cell-CAGInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +CellCAGList ::= SEQUENCE (SIZE(1..maxnoofCAGSperCell)) OF CAG-ID + +CellIDBroadcastEUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDBroadcastEUTRA-Item + +CellIDBroadcastEUTRA-Item ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + iE-Extensions ProtocolExtensionContainer { {CellIDBroadcastEUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +CellIDBroadcastEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIDBroadcastNR ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDBroadcastNR-Item + +CellIDBroadcastNR-Item ::= SEQUENCE { + nR-CGI NR-CGI, + iE-Extensions ProtocolExtensionContainer { {CellIDBroadcastNR-Item-ExtIEs} } OPTIONAL, + ... +} + +CellIDBroadcastNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIDCancelledEUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDCancelledEUTRA-Item + +CellIDCancelledEUTRA-Item ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CellIDCancelledEUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +CellIDCancelledEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIDCancelledNR ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF CellIDCancelledNR-Item + +CellIDCancelledNR-Item ::= SEQUENCE { + nR-CGI NR-CGI, + numberOfBroadcasts NumberOfBroadcasts, + iE-Extensions ProtocolExtensionContainer { {CellIDCancelledNR-Item-ExtIEs} } OPTIONAL, + ... +} + +CellIDCancelledNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIDListForRestart ::= CHOICE { + eUTRA-CGIListforRestart EUTRA-CGIList, + nR-CGIListforRestart NR-CGIList, + choice-Extensions ProtocolIE-SingleContainer { {CellIDListForRestart-ExtIEs} } +} + +CellIDListForRestart-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +CellSize ::= ENUMERATED {verysmall, small, medium, large, ...} + + +CellType ::= SEQUENCE { + cellSize CellSize, + iE-Extensions ProtocolExtensionContainer { {CellType-ExtIEs} } OPTIONAL, + ... +} + +CellType-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CEmodeBSupport-Indicator ::= ENUMERATED {supported,...} + + +CEmodeBrestricted ::= ENUMERATED { + restricted, + not-restricted, + ... +} + +CNAssistedRANTuning ::= SEQUENCE { + expectedUEBehaviour ExpectedUEBehaviour OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CNAssistedRANTuning-ExtIEs} } OPTIONAL, + ... +} + +CNAssistedRANTuning-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CNsubgroupID ::= INTEGER (0..7, ...) + +CNTypeRestrictionsForEquivalent ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF CNTypeRestrictionsForEquivalentItem + +CNTypeRestrictionsForEquivalentItem ::= SEQUENCE { + plmnIdentity PLMNIdentity, + cn-Type ENUMERATED {epc-forbidden, fiveGC-forbidden, ...}, + iE-Extensions ProtocolExtensionContainer { {CNTypeRestrictionsForEquivalentItem-ExtIEs} } OPTIONAL, + ... +} + +CNTypeRestrictionsForEquivalentItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::={ + ... +} + +CNTypeRestrictionsForServing ::= ENUMERATED { + epc-forbidden, + ... +} + +CommonNetworkInstance ::= OCTET STRING + +CompletedCellsInEAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellsInEAI-EUTRA-Item + +CompletedCellsInEAI-EUTRA-Item ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + iE-Extensions ProtocolExtensionContainer { {CompletedCellsInEAI-EUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +CompletedCellsInEAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CompletedCellsInEAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellsInEAI-NR-Item + +CompletedCellsInEAI-NR-Item ::= SEQUENCE { + nR-CGI NR-CGI, + iE-Extensions ProtocolExtensionContainer { {CompletedCellsInEAI-NR-Item-ExtIEs} } OPTIONAL, + ... +} + +CompletedCellsInEAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CompletedCellsInTAI-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellsInTAI-EUTRA-Item + +CompletedCellsInTAI-EUTRA-Item ::= SEQUENCE{ + eUTRA-CGI EUTRA-CGI, + iE-Extensions ProtocolExtensionContainer { {CompletedCellsInTAI-EUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +CompletedCellsInTAI-EUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CompletedCellsInTAI-NR ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellsInTAI-NR-Item + +CompletedCellsInTAI-NR-Item ::= SEQUENCE{ + nR-CGI NR-CGI, + iE-Extensions ProtocolExtensionContainer { {CompletedCellsInTAI-NR-Item-ExtIEs} } OPTIONAL, + ... +} + +CompletedCellsInTAI-NR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ConcurrentWarningMessageInd ::= ENUMERATED { + true, + ... +} + +ConfidentialityProtectionIndication ::= ENUMERATED { + required, + preferred, + not-needed, + ... +} + +ConfidentialityProtectionResult ::= ENUMERATED { + performed, + not-performed, + ... +} + +ConfiguredTACIndication ::= ENUMERATED { + true, + ... +} + +CoreNetworkAssistanceInformationForInactive ::= SEQUENCE { + uEIdentityIndexValue UEIdentityIndexValue, + uESpecificDRX PagingDRX OPTIONAL, + periodicRegistrationUpdateTimer PeriodicRegistrationUpdateTimer, + mICOModeIndication MICOModeIndication OPTIONAL, + tAIListForInactive TAIListForInactive, + expectedUEBehaviour ExpectedUEBehaviour OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CoreNetworkAssistanceInformationForInactive-ExtIEs} } OPTIONAL, + ... +} + +CoreNetworkAssistanceInformationForInactive-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-EUTRA-PagingeDRXInformation CRITICALITY ignore EXTENSION EUTRA-PagingeDRXInformation PRESENCE optional }| + { ID id-ExtendedUEIdentityIndexValue CRITICALITY ignore EXTENSION ExtendedUEIdentityIndexValue PRESENCE optional }| + { ID id-UERadioCapabilityForPaging CRITICALITY ignore EXTENSION UERadioCapabilityForPaging PRESENCE optional }| + { ID id-MicoAllPLMN CRITICALITY ignore EXTENSION MicoAllPLMN PRESENCE optional }| + { ID id-NR-PagingeDRXInformation CRITICALITY ignore EXTENSION NR-PagingeDRXInformation PRESENCE optional }| + { ID id-PagingCauseIndicationForVoiceService CRITICALITY ignore EXTENSION PagingCauseIndicationForVoiceService PRESENCE optional }| + { ID id-PEIPSassistanceInformation CRITICALITY ignore EXTENSION PEIPSassistanceInformation PRESENCE optional }| + { ID id-HashedUEIdentityIndexValue CRITICALITY ignore EXTENSION HashedUEIdentityIndexValue PRESENCE optional }, + ... +} + +COUNTValueForPDCP-SN12 ::= SEQUENCE { + pDCP-SN12 INTEGER (0..4095), + hFN-PDCP-SN12 INTEGER (0..1048575), + iE-Extensions ProtocolExtensionContainer { {COUNTValueForPDCP-SN12-ExtIEs} } OPTIONAL, + ... +} + +COUNTValueForPDCP-SN12-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +COUNTValueForPDCP-SN18 ::= SEQUENCE { + pDCP-SN18 INTEGER (0..262143), + hFN-PDCP-SN18 INTEGER (0..16383), + iE-Extensions ProtocolExtensionContainer { {COUNTValueForPDCP-SN18-ExtIEs} } OPTIONAL, + ... +} + +COUNTValueForPDCP-SN18-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CoverageEnhancementLevel ::= OCTET STRING + +CPTransportLayerInformation ::= CHOICE { + endpointIPAddress TransportLayerAddress, + choice-Extensions ProtocolIE-SingleContainer { {CPTransportLayerInformation-ExtIEs} } +} + +CPTransportLayerInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-EndpointIPAddressAndPort CRITICALITY reject TYPE EndpointIPAddressAndPort PRESENCE mandatory }, + ... +} + +CriticalityDiagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL, + ... +} + +CriticalityDiagnostics-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE(1..maxnoofErrors)) OF CriticalityDiagnostics-IE-Item + +CriticalityDiagnostics-IE-Item ::= SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + typeOfError TypeOfError, + iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL, + ... +} + +CriticalityDiagnostics-IE-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellBasedMDT-NR::= SEQUENCE { + cellIdListforMDT CellIdListforMDT-NR, + iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-NR-ExtIEs} } OPTIONAL, + ... +} + +CellBasedMDT-NR-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIdListforMDT-NR ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF NR-CGI + + +CellBasedMDT-EUTRA::= SEQUENCE { + cellIdListforMDT CellIdListforMDT-EUTRA, + iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-EUTRA-ExtIEs} } OPTIONAL, + ... +} + +CellBasedMDT-EUTRA-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellBasedQMC ::= SEQUENCE { + cellIdListforQMC CellIdListforQMC, + iE-Extensions ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL, + ... +} + +CellBasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF NGRAN-CGI + +CellIdListforMDT-EUTRA ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRA-CGI + + +-- D + +DataCodingScheme ::= BIT STRING (SIZE(8)) + +DataForwardingAccepted ::= ENUMERATED { + data-forwarding-accepted, + ... +} + +DataForwardingNotPossible ::= ENUMERATED { + data-forwarding-not-possible, + ... +} + +DataForwardingResponseDRBList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DataForwardingResponseDRBItem + +DataForwardingResponseDRBItem ::= SEQUENCE { + dRB-ID DRB-ID, + dLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL, + uLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{DataForwardingResponseDRBItem-ExtIEs}} OPTIONAL, + ... +} + +DataForwardingResponseDRBItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DAPSRequestInfo ::= SEQUENCE { + dAPSIndicator ENUMERATED {daps-ho-required, ...}, + iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL, + ... +} + +DAPSRequestInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DAPSResponseInfoList ::= SEQUENCE (SIZE(1.. maxnoofDRBs)) OF DAPSResponseInfoItem + +DAPSResponseInfoItem ::= SEQUENCE { + dRB-ID DRB-ID, + dAPSResponseInfo DAPSResponseInfo, + iE-Extension ProtocolExtensionContainer { {DAPSResponseInfoItem-ExtIEs} } OPTIONAL, + ... +} + +DAPSResponseInfoItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DAPSResponseInfo ::= SEQUENCE { + dapsresponseindicator ENUMERATED {daps-ho-accepted, daps-ho-not-accepted, ...}, + iE-Extensions ProtocolExtensionContainer { { DAPSResponseInfo-ExtIEs} } OPTIONAL, + ... +} + +DAPSResponseInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +DataForwardingResponseERABList ::= SEQUENCE (SIZE(1..maxnoofE-RABs)) OF DataForwardingResponseERABListItem + +DataForwardingResponseERABListItem ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + dLForwardingUP-TNLInformation UPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { {DataForwardingResponseERABListItem-ExtIEs} } OPTIONAL, + ... +} + +DataForwardingResponseERABListItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DelayCritical ::= ENUMERATED { + delay-critical, + non-delay-critical, + ... +} + +DL-CP-SecurityInformation ::= SEQUENCE { + dl-NAS-MAC DL-NAS-MAC, + iE-Extensions ProtocolExtensionContainer { { DL-CP-SecurityInformation-ExtIEs} } OPTIONAL, + ... +} + +DL-CP-SecurityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DL-NAS-MAC ::= BIT STRING (SIZE (16)) + +DLForwarding ::= ENUMERATED { + dl-forwarding-proposed, + ... +} + +DL-NGU-TNLInformationReused ::= ENUMERATED { + true, + ... +} + +DirectForwardingPathAvailability ::= ENUMERATED { + direct-path-available, + ... +} + +DRB-ID ::= INTEGER (1..32, ...) + +DRBsSubjectToStatusTransferList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsSubjectToStatusTransferItem + +DRBsSubjectToStatusTransferItem ::= SEQUENCE { + dRB-ID DRB-ID, + dRBStatusUL DRBStatusUL, + dRBStatusDL DRBStatusDL, + iE-Extension ProtocolExtensionContainer { {DRBsSubjectToStatusTransferItem-ExtIEs} } OPTIONAL, + ... +} + +DRBsSubjectToStatusTransferItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-OldAssociatedQosFlowList-ULendmarkerexpected CRITICALITY ignore EXTENSION AssociatedQosFlowList PRESENCE optional }, + ... +} + +DRBStatusDL ::= CHOICE { + dRBStatusDL12 DRBStatusDL12, + dRBStatusDL18 DRBStatusDL18, + choice-Extensions ProtocolIE-SingleContainer { {DRBStatusDL-ExtIEs} } +} + +DRBStatusDL-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +DRBStatusDL12 ::= SEQUENCE { + dL-COUNTValue COUNTValueForPDCP-SN12, + iE-Extension ProtocolExtensionContainer { {DRBStatusDL12-ExtIEs} } OPTIONAL, + ... +} + +DRBStatusDL12-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DRBStatusDL18 ::= SEQUENCE { + dL-COUNTValue COUNTValueForPDCP-SN18, + iE-Extension ProtocolExtensionContainer { {DRBStatusDL18-ExtIEs} } OPTIONAL, + ... +} + +DRBStatusDL18-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DRBStatusUL ::= CHOICE { + dRBStatusUL12 DRBStatusUL12, + dRBStatusUL18 DRBStatusUL18, + choice-Extensions ProtocolIE-SingleContainer { {DRBStatusUL-ExtIEs} } +} + +DRBStatusUL-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +DRBStatusUL12 ::= SEQUENCE { + uL-COUNTValue COUNTValueForPDCP-SN12, + receiveStatusOfUL-PDCP-SDUs BIT STRING (SIZE(1..2048)) OPTIONAL, + iE-Extension ProtocolExtensionContainer { {DRBStatusUL12-ExtIEs} } OPTIONAL, + ... +} + +DRBStatusUL12-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DRBStatusUL18 ::= SEQUENCE { + uL-COUNTValue COUNTValueForPDCP-SN18, + receiveStatusOfUL-PDCP-SDUs BIT STRING (SIZE(1..131072)) OPTIONAL, + iE-Extension ProtocolExtensionContainer { {DRBStatusUL18-ExtIEs} } OPTIONAL, + ... +} + +DRBStatusUL18-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DRBsToQosFlowsMappingList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF DRBsToQosFlowsMappingItem + +DRBsToQosFlowsMappingItem ::= SEQUENCE { + dRB-ID DRB-ID, + associatedQosFlowList AssociatedQosFlowList, + iE-Extensions ProtocolExtensionContainer { {DRBsToQosFlowsMappingItem-ExtIEs} } OPTIONAL, + ... +} + +DRBsToQosFlowsMappingItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional }, + ... +} + +Dynamic5QIDescriptor ::= SEQUENCE { + priorityLevelQos PriorityLevelQos, + packetDelayBudget PacketDelayBudget, + packetErrorRate PacketErrorRate, + fiveQI FiveQI OPTIONAL, + delayCritical DelayCritical OPTIONAL, +-- The above IE shall be present in case of GBR QoS flow + averagingWindow AveragingWindow OPTIONAL, +-- The above IE shall be present in case of GBR QoS flow + maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Dynamic5QIDescriptor-ExtIEs} } OPTIONAL, + ... +} + +Dynamic5QIDescriptor-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-ExtendedPacketDelayBudget CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetDL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetUL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }, + ... +} + +-- E + +EarlyMeasurement ::= ENUMERATED {true, ...} + +EarlyStatusTransfer-TransparentContainer ::= SEQUENCE { + procedureStage ProcedureStageChoice, + iE-Extensions ProtocolExtensionContainer { {EarlyStatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +EarlyStatusTransfer-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ProcedureStageChoice ::= CHOICE { + first-dl-count FirstDLCount, + choice-Extensions ProtocolIE-SingleContainer { {ProcedureStageChoice-ExtIEs} } +} + +ProcedureStageChoice-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +FirstDLCount ::= SEQUENCE { + dRBsSubjectToEarlyStatusTransfer DRBsSubjectToEarlyStatusTransfer-List, + iE-Extension ProtocolExtensionContainer { {FirstDLCount-ExtIEs} } OPTIONAL, + ... +} + +FirstDLCount-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +DRBsSubjectToEarlyStatusTransfer-List ::= SEQUENCE (SIZE (1.. maxnoofDRBs)) OF DRBsSubjectToEarlyStatusTransfer-Item + +DRBsSubjectToEarlyStatusTransfer-Item ::= SEQUENCE { + dRB-ID DRB-ID, + firstDLCOUNT DRBStatusDL, + iE-Extension ProtocolExtensionContainer { { DRBsSubjectToEarlyStatusTransfer-Item-ExtIEs} } OPTIONAL, + ... +} + +DRBsSubjectToEarlyStatusTransfer-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +EDT-Session ::= ENUMERATED { + true, + ... +} + +EmergencyAreaID ::= OCTET STRING (SIZE(3)) + +EmergencyAreaIDBroadcastEUTRA ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDBroadcastEUTRA-Item + +EmergencyAreaIDBroadcastEUTRA-Item ::= SEQUENCE { + emergencyAreaID EmergencyAreaID, + completedCellsInEAI-EUTRA CompletedCellsInEAI-EUTRA, + iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDBroadcastEUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +EmergencyAreaIDBroadcastEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EmergencyAreaIDBroadcastNR ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDBroadcastNR-Item + +EmergencyAreaIDBroadcastNR-Item ::= SEQUENCE { + emergencyAreaID EmergencyAreaID, + completedCellsInEAI-NR CompletedCellsInEAI-NR, + iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDBroadcastNR-Item-ExtIEs} } OPTIONAL, + ... +} + +EmergencyAreaIDBroadcastNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EmergencyAreaIDCancelledEUTRA ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDCancelledEUTRA-Item + +EmergencyAreaIDCancelledEUTRA-Item ::= SEQUENCE { + emergencyAreaID EmergencyAreaID, + cancelledCellsInEAI-EUTRA CancelledCellsInEAI-EUTRA, + iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDCancelledEUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +EmergencyAreaIDCancelledEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EmergencyAreaIDCancelledNR ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaIDCancelledNR-Item + +EmergencyAreaIDCancelledNR-Item ::= SEQUENCE { + emergencyAreaID EmergencyAreaID, + cancelledCellsInEAI-NR CancelledCellsInEAI-NR, + iE-Extensions ProtocolExtensionContainer { {EmergencyAreaIDCancelledNR-Item-ExtIEs} } OPTIONAL, + ... +} + +EmergencyAreaIDCancelledNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID + +EmergencyAreaIDListForRestart ::= SEQUENCE (SIZE(1..maxnoofEAIforRestart)) OF EmergencyAreaID + +EmergencyFallbackIndicator ::= SEQUENCE { + emergencyFallbackRequestIndicator EmergencyFallbackRequestIndicator, + emergencyServiceTargetCN EmergencyServiceTargetCN OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {EmergencyFallbackIndicator-ExtIEs} } OPTIONAL, + ... +} + +EmergencyFallbackIndicator-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EmergencyFallbackRequestIndicator ::= ENUMERATED { + emergency-fallback-requested, + ... +} + +EmergencyServiceTargetCN ::= ENUMERATED { + fiveGC, + epc, + ... +} + +ENB-ID ::= CHOICE { + macroENB-ID BIT STRING (SIZE(20)), + homeENB-ID BIT STRING (SIZE(28)), + short-macroENB-ID BIT STRING (SIZE(18)), + long-macroENB-ID BIT STRING (SIZE(21)), + choice-Extensions ProtocolIE-SingleContainer { { ENB-ID-ExtIEs} } +} + +ENB-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + + +Enhanced-CoverageRestriction ::= ENUMERATED {restricted, ... } + + +Extended-ConnectedTime ::= INTEGER (0..255) + +EN-DCSONConfigurationTransfer ::= OCTET STRING + +EndpointIPAddressAndPort ::=SEQUENCE { + endpointIPAddress TransportLayerAddress, + portNumber PortNumber, + iE-Extensions ProtocolExtensionContainer { { EndpointIPAddressAndPort-ExtIEs} } OPTIONAL +} + +EndIndication ::= ENUMERATED { + no-further-data, + further-data-exists, + ... +} + +EndpointIPAddressAndPort-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EquivalentPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNIdentity + +EPS-TAC ::= OCTET STRING (SIZE(2)) + +EPS-TAI ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + ePS-TAC EPS-TAC, + iE-Extensions ProtocolExtensionContainer { {EPS-TAI-ExtIEs} } OPTIONAL, + ... +} + +EPS-TAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RAB-ID ::= INTEGER (0..15, ...) + +E-RABInformationList ::= SEQUENCE (SIZE(1..maxnoofE-RABs)) OF E-RABInformationItem + +E-RABInformationItem ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + dLForwarding DLForwarding OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABInformationItem-ExtIEs} } OPTIONAL, + ... +} + +E-RABInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-SourceTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| + {ID id-SourceNodeTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}, + ... +} + +EUTRACellIdentity ::= BIT STRING (SIZE(28)) + +EUTRA-CGI ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + eUTRACellIdentity EUTRACellIdentity, + iE-Extensions ProtocolExtensionContainer { {EUTRA-CGI-ExtIEs} } OPTIONAL, + ... +} + +EUTRA-CGI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EUTRA-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsinngeNB)) OF EUTRA-CGI + +EUTRA-CGIListForWarning ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF EUTRA-CGI + +EUTRA-PagingeDRXInformation ::= SEQUENCE { + eUTRA-paging-eDRX-Cycle EUTRA-Paging-eDRX-Cycle, + eUTRA-paging-Time-Window EUTRA-Paging-Time-Window OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {EUTRA-PagingeDRXInformation-ExtIEs} } OPTIONAL, + ... +} + +EUTRA-PagingeDRXInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EUTRA-Paging-eDRX-Cycle ::= ENUMERATED { + hfhalf, hf1, hf2, hf4, hf6, + hf8, hf10, hf12, hf14, hf16, + hf32, hf64, hf128, hf256, + ... +} + +EUTRA-Paging-Time-Window ::= ENUMERATED { + s1, s2, s3, s4, s5, + s6, s7, s8, s9, s10, + s11, s12, s13, s14, s15, s16, + ... +} + +EUTRAencryptionAlgorithms ::= BIT STRING (SIZE(16, ...)) + +EUTRAintegrityProtectionAlgorithms ::= BIT STRING (SIZE(16, ...)) + +EventType ::= ENUMERATED { + direct, + change-of-serve-cell, + ue-presence-in-area-of-interest, + stop-change-of-serve-cell, + stop-ue-presence-in-area-of-interest, + cancel-location-reporting-for-the-ue, + ... +} + +ExcessPacketDelayThresholdConfiguration ::= SEQUENCE (SIZE(1..maxnoofThresholdsForExcessPacketDelay)) OF ExcessPacketDelayThresholdItem + +ExcessPacketDelayThresholdItem ::= SEQUENCE { + fiveQi FiveQI, + excessPacketDelayThresholdValue ExcessPacketDelayThresholdValue, + iE-Extensions ProtocolExtensionContainer { { ExcessPacketDelayThresholdItem-ExtIEs} } OPTIONAL, + ... +} + +ExcessPacketDelayThresholdItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ExcessPacketDelayThresholdValue ::= ENUMERATED { +ms0dot25, ms0dot5, ms1, ms2, ms4, ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500, + ... +} + +ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...) + +ExpectedHOInterval ::= ENUMERATED { + sec15, sec30, sec60, sec90, sec120, sec180, long-time, + ... +} + +ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181, ...) + +ExpectedUEActivityBehaviour ::= SEQUENCE { + expectedActivityPeriod ExpectedActivityPeriod OPTIONAL, + expectedIdlePeriod ExpectedIdlePeriod OPTIONAL, + sourceOfUEActivityBehaviourInformation SourceOfUEActivityBehaviourInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL, + ... +} + +ExpectedUEActivityBehaviour-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ExpectedUEBehaviour ::= SEQUENCE { + expectedUEActivityBehaviour ExpectedUEActivityBehaviour OPTIONAL, + expectedHOInterval ExpectedHOInterval OPTIONAL, + expectedUEMobility ExpectedUEMobility OPTIONAL, + expectedUEMovingTrajectory ExpectedUEMovingTrajectory OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {ExpectedUEBehaviour-ExtIEs} } OPTIONAL, + ... +} + +ExpectedUEBehaviour-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ExpectedUEMobility ::= ENUMERATED { + stationary, + mobile, + ... +} + +ExpectedUEMovingTrajectory ::= SEQUENCE (SIZE(1..maxnoofCellsUEMovingTrajectory)) OF ExpectedUEMovingTrajectoryItem + +ExpectedUEMovingTrajectoryItem ::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + timeStayedInCell INTEGER (0..4095) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {ExpectedUEMovingTrajectoryItem-ExtIEs} } OPTIONAL, + ... +} + +ExpectedUEMovingTrajectoryItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +Extended-AMFName ::= SEQUENCE { + aMFNameVisibleString AMFNameVisibleString OPTIONAL, + aMFNameUTF8String AMFNameUTF8String OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Extended-AMFName-ExtIEs } } OPTIONAL, + ... +} + +Extended-AMFName-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ExtendedPacketDelayBudget ::= INTEGER (1..65535, ..., 65536..109999) + + +Extended-RANNodeName ::= SEQUENCE { + rANNodeNameVisibleString RANNodeNameVisibleString OPTIONAL, + rANNodeNameUTF8String RANNodeNameUTF8String OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Extended-RANNodeName-ExtIEs } } OPTIONAL, ... +} + +Extended-RANNodeName-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ExtendedRATRestrictionInformation ::= SEQUENCE { + primaryRATRestriction BIT STRING (SIZE(8, ...)), + secondaryRATRestriction BIT STRING (SIZE(8, ...)), + iE-Extensions ProtocolExtensionContainer { {ExtendedRATRestrictionInformation-ExtIEs} } OPTIONAL, + ... +} + +ExtendedRATRestrictionInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ExtendedRNC-ID ::= INTEGER (4096..65535) + +ExtendedSliceSupportList ::= SEQUENCE (SIZE(1..maxnoofExtSliceItems)) OF SliceSupportItem + +ExtendedUEIdentityIndexValue ::= BIT STRING (SIZE(16)) + +EventTrigger::= CHOICE { + outOfCoverage ENUMERATED {true, ...}, + eventL1LoggedMDTConfig EventL1LoggedMDTConfig, + choice-Extensions ProtocolIE-SingleContainer { { EventTrigger-ExtIEs} } +} + +EventTrigger-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +EventL1LoggedMDTConfig ::= SEQUENCE { + l1Threshold MeasurementThresholdL1LoggedMDT, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + iE-Extensions ProtocolExtensionContainer { { EventL1LoggedMDTConfig-ExtIEs} } OPTIONAL, + ... +} + +EventL1LoggedMDTConfig-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MeasurementThresholdL1LoggedMDT ::= CHOICE { + threshold-RSRP Threshold-RSRP, + threshold-RSRQ Threshold-RSRQ, + choice-Extensions ProtocolIE-SingleContainer { { MeasurementThresholdL1LoggedMDT-ExtIEs} } +} + +MeasurementThresholdL1LoggedMDT-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +-- F + +FailureIndication ::= SEQUENCE { + uERLFReportContainer UERLFReportContainer, + iE-Extensions ProtocolExtensionContainer { { FailureIndication-ExtIEs} } OPTIONAL, + ... +} + +FailureIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +FiveG-ProSeAuthorized ::= SEQUENCE { + fiveGProSeDirectDiscovery FiveGProSeDirectDiscovery OPTIONAL, + fiveGProSeDirectCommunication FiveGProSeDirectCommunication OPTIONAL, + fiveGProSeLayer2UEtoNetworkRelay FiveGProSeLayer2UEtoNetworkRelay OPTIONAL, + fiveGProSeLayer3UEtoNetworkRelay FiveGProSeLayer3UEtoNetworkRelay OPTIONAL, + fiveGProSeLayer2RemoteUE FiveGProSeLayer2RemoteUE OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {FiveG-ProSeAuthorized-ExtIEs} } OPTIONAL, + ... +} + +FiveG-ProSeAuthorized-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +FiveGProSeDirectDiscovery ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +FiveGProSeDirectCommunication ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +FiveGProSeLayer2UEtoNetworkRelay ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +FiveGProSeLayer3UEtoNetworkRelay ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +FiveGProSeLayer2RemoteUE ::= ENUMERATED { + authorized, + not-authorized, + ... +} + + + +FiveG-ProSePC5QoSParameters ::= SEQUENCE { + fiveGProSepc5QoSFlowList FiveGProSePC5QoSFlowList, + fiveGProSepc5LinkAggregateBitRates BitRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { FiveG-ProSePC5QoSParameters-ExtIEs} } OPTIONAL, + ... +} + +FiveG-ProSePC5QoSParameters-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +FiveGProSePC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF FiveGProSePC5QoSFlowItem + +FiveGProSePC5QoSFlowItem ::= SEQUENCE { + fiveGproSepQI FiveQI, + fiveGproSepc5FlowBitRates FiveGProSePC5FlowBitRates OPTIONAL, + fiveGproSerange Range OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5QoSFlowItem-ExtIEs} } OPTIONAL, + ... +} + +FiveGProSePC5QoSFlowItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +FiveGProSePC5FlowBitRates ::= SEQUENCE { + fiveGproSeguaranteedFlowBitRate BitRate, + fiveGproSemaximumFlowBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { { FiveGProSePC5FlowBitRates-ExtIEs} } OPTIONAL, + ... +} + +FiveGProSePC5FlowBitRates-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +FiveG-S-TMSI ::= SEQUENCE { + aMFSetID AMFSetID, + aMFPointer AMFPointer, + fiveG-TMSI FiveG-TMSI, + iE-Extensions ProtocolExtensionContainer { {FiveG-S-TMSI-ExtIEs} } OPTIONAL, + ... +} + +FiveG-S-TMSI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +FiveG-TMSI ::= OCTET STRING (SIZE(4)) + +FiveQI ::= INTEGER (0..255, ...) + +ForbiddenAreaInformation ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenAreaInformation-Item + +ForbiddenAreaInformation-Item ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + forbiddenTACs ForbiddenTACs, + iE-Extensions ProtocolExtensionContainer { {ForbiddenAreaInformation-Item-ExtIEs} } OPTIONAL, + ... +} + +ForbiddenAreaInformation-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC + +FromEUTRANtoNGRAN ::= SEQUENCE { + sourceeNBID IntersystemSONeNBID, + targetNGRANnodeID IntersystemSONNGRANnodeID, + iE-Extensions ProtocolExtensionContainer { { FromEUTRANtoNGRAN-ExtIEs} } OPTIONAL +} + +FromEUTRANtoNGRAN-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +FromNGRANtoEUTRAN ::= SEQUENCE { + sourceNGRANnodeID IntersystemSONNGRANnodeID, + targeteNBID IntersystemSONeNBID, + iE-Extensions ProtocolExtensionContainer { { FromNGRANtoEUTRAN-ExtIEs} } OPTIONAL +} + +FromNGRANtoEUTRAN-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- G + +GBR-QosInformation ::= SEQUENCE { + maximumFlowBitRateDL BitRate, + maximumFlowBitRateUL BitRate, + guaranteedFlowBitRateDL BitRate, + guaranteedFlowBitRateUL BitRate, + notificationControl NotificationControl OPTIONAL, + maximumPacketLossRateDL PacketLossRate OPTIONAL, + maximumPacketLossRateUL PacketLossRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {GBR-QosInformation-ExtIEs} } OPTIONAL, + ... +} + +GBR-QosInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AlternativeQoSParaSetList CRITICALITY ignore EXTENSION AlternativeQoSParaSetList PRESENCE optional }, + ... +} + +GlobalCable-ID ::= OCTET STRING + +GlobalCable-ID-new ::= SEQUENCE { + globalCable-ID GlobalCable-ID, + tAI TAI, + iE-Extensions ProtocolExtensionContainer { { GlobalCable-ID-new-ExtIEs} } OPTIONAL, + ... +} + +GlobalCable-ID-new-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GlobalENB-ID ::= SEQUENCE { + pLMNidentity PLMNIdentity, + eNB-ID ENB-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalENB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +GlobalGNB-ID ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + gNB-ID GNB-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalGNB-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalGNB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GlobalN3IWF-ID ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + n3IWF-ID N3IWF-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalN3IWF-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalN3IWF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GlobalLine-ID ::= SEQUENCE { + globalLineIdentity GlobalLineIdentity, + lineType LineType OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {GlobalLine-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalLine-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional }, + ... +} + +GlobalLineIdentity ::= OCTET STRING + +GlobalNgENB-ID ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + ngENB-ID NgENB-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalNgENB-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalNgENB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GlobalRANNodeID ::= CHOICE { + globalGNB-ID GlobalGNB-ID, + globalNgENB-ID GlobalNgENB-ID, + globalN3IWF-ID GlobalN3IWF-ID, + choice-Extensions ProtocolIE-SingleContainer { {GlobalRANNodeID-ExtIEs} } +} + +GlobalRANNodeID-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-GlobalTNGF-ID CRITICALITY reject TYPE GlobalTNGF-ID PRESENCE mandatory }| + { ID id-GlobalTWIF-ID CRITICALITY reject TYPE GlobalTWIF-ID PRESENCE mandatory }| + { ID id-GlobalW-AGF-ID CRITICALITY reject TYPE GlobalW-AGF-ID PRESENCE mandatory }, + ... +} + +GlobalTNGF-ID ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + tNGF-ID TNGF-ID, + iE-Extensions ProtocolExtensionContainer { { GlobalTNGF-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalTNGF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +GlobalTWIF-ID ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + tWIF-ID TWIF-ID, + iE-Extensions ProtocolExtensionContainer { { GlobalTWIF-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalTWIF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +GlobalW-AGF-ID ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + w-AGF-ID W-AGF-ID, + iE-Extensions ProtocolExtensionContainer { { GlobalW-AGF-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalW-AGF-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GNB-ID ::= CHOICE { + gNB-ID BIT STRING (SIZE(22..32)), + choice-Extensions ProtocolIE-SingleContainer { {GNB-ID-ExtIEs} } +} + +GNB-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +GTP-TEID ::= OCTET STRING (SIZE(4)) + +GTPTunnel ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + gTP-TEID GTP-TEID, + iE-Extensions ProtocolExtensionContainer { {GTPTunnel-ExtIEs} } OPTIONAL, + ... +} + +GTPTunnel-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GUAMI ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + aMFRegionID AMFRegionID, + aMFSetID AMFSetID, + aMFPointer AMFPointer, + iE-Extensions ProtocolExtensionContainer { {GUAMI-ExtIEs} } OPTIONAL, + ... +} + +GUAMI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GUAMIType ::= ENUMERATED {native, mapped, ...} + +-- H + +HandoverCommandTransfer ::= SEQUENCE { + dLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL, + qosFlowToBeForwardedList QosFlowToBeForwardedList OPTIONAL, + dataForwardingResponseDRBList DataForwardingResponseDRBList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {HandoverCommandTransfer-ExtIEs} } OPTIONAL, + ... +} + +HandoverCommandTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalDLForwardingUPTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }| + { ID id-ULForwardingUP-TNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-AdditionalULForwardingUPTNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformationList PRESENCE optional }| + { ID id-DataForwardingResponseERABList CRITICALITY ignore EXTENSION DataForwardingResponseERABList PRESENCE optional }| + { ID id-QosFlowFailedToSetupList CRITICALITY ignore EXTENSION QosFlowListWithCause PRESENCE optional }, + ... +} + +HandoverFlag ::= ENUMERATED { + handover-preparation, + ... +} + +HandoverPreparationUnsuccessfulTransfer ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {HandoverPreparationUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +HandoverPreparationUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +HandoverRequestAcknowledgeTransfer ::= SEQUENCE { + dL-NGU-UP-TNLInformation UPTransportLayerInformation, + dLForwardingUP-TNLInformation UPTransportLayerInformation OPTIONAL, + securityResult SecurityResult OPTIONAL, + qosFlowSetupResponseList QosFlowListWithDataForwarding, + qosFlowFailedToSetupList QosFlowListWithCause OPTIONAL, + dataForwardingResponseDRBList DataForwardingResponseDRBList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {HandoverRequestAcknowledgeTransfer-ExtIEs} } OPTIONAL, + ... +} + +HandoverRequestAcknowledgeTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalDLUPTNLInformationForHOList CRITICALITY ignore EXTENSION AdditionalDLUPTNLInformationForHOList PRESENCE optional }| + { ID id-ULForwardingUP-TNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-AdditionalULForwardingUPTNLInformation CRITICALITY reject EXTENSION UPTransportLayerInformationList PRESENCE optional }| + { ID id-DataForwardingResponseERABList CRITICALITY ignore EXTENSION DataForwardingResponseERABList PRESENCE optional }| + { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }| + { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }| + { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }, + ... +} + +HandoverRequiredTransfer ::= SEQUENCE { + directForwardingPathAvailability DirectForwardingPathAvailability OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {HandoverRequiredTransfer-ExtIEs} } OPTIONAL, + ... +} + +HandoverRequiredTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +HandoverResourceAllocationUnsuccessfulTransfer ::= SEQUENCE { + cause Cause, + criticalityDiagnostics CriticalityDiagnostics OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {HandoverResourceAllocationUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +HandoverResourceAllocationUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +HandoverType ::= ENUMERATED { + intra5gs, + fivegs-to-eps, + eps-to-5gs, + ..., + fivegs-to-utran +} + +HashedUEIdentityIndexValue ::= BIT STRING (SIZE(13, ...)) + + +HFCNode-ID ::= OCTET STRING + +HFCNode-ID-new ::= SEQUENCE { + hFCNode-ID HFCNode-ID, + tAI TAI, + iE-Extensions ProtocolExtensionContainer { { HFCNode-ID-new-ExtIEs} } OPTIONAL, + ... +} + +HFCNode-ID-new-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +HOReport::= SEQUENCE { + handoverReportType ENUMERATED {ho-too-early, ho-to-wrong-cell, intersystem-ping-pong, ...}, + handoverCause Cause, + sourcecellCGI NGRAN-CGI, + targetcellCGI NGRAN-CGI, + reestablishmentcellCGI NGRAN-CGI OPTIONAL, + -- The above IE shall be present if the Handover Report Type IE is set to the value "HO to wrong cell" -- + sourcecellC-RNTI BIT STRING (SIZE(16)) OPTIONAL, + targetcellinE-UTRAN EUTRA-CGI OPTIONAL, + -- The above IE shall be present if the Handover Report Type IE is set to the value "Inter System ping-pong" -- + mobilityInformation MobilityInformation OPTIONAL, + uERLFReportContainer UERLFReportContainer OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { HOReport-ExtIEs} } OPTIONAL, + ... +} + +HOReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +Hysteresis ::= INTEGER (0..30) + +-- I + +IAB-Authorized ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +IAB-Supported ::= ENUMERATED { + true, + ... +} + +IABNodeIndication ::= ENUMERATED { + true, + ... +} + +IMSVoiceSupportIndicator ::= ENUMERATED { + supported, + not-supported, + ... +} + +IndexToRFSP ::= INTEGER (1..256, ...) + +InfoOnRecommendedCellsAndRANNodesForPaging ::= SEQUENCE { + recommendedCellsForPaging RecommendedCellsForPaging, + recommendRANNodesForPaging RecommendedRANNodesForPaging, + iE-Extensions ProtocolExtensionContainer { {InfoOnRecommendedCellsAndRANNodesForPaging-ExtIEs} } OPTIONAL, + ... +} + +InfoOnRecommendedCellsAndRANNodesForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +IntegrityProtectionIndication ::= ENUMERATED { + required, + preferred, + not-needed, + ... +} + +IntegrityProtectionResult ::= ENUMERATED { + performed, + not-performed, + ... +} + +IntendedNumberOfPagingAttempts ::= INTEGER (1..16, ...) + +InterfacesToTrace ::= BIT STRING (SIZE(8)) + +ImmediateMDTNr ::= SEQUENCE { + measurementsToActivate MeasurementsToActivate, + m1Configuration M1Configuration OPTIONAL, +-- The above IE shall be present if the Measurements to Activate IE has the first bit set to “1” + m4Configuration M4Configuration OPTIONAL, +-- The above IE shall be present if the Measurements to Activate IE has the third bit set to “1” + m5Configuration M5Configuration OPTIONAL, +-- The above IE shall be present if the Measurements to Activate IE has the fourth bit set to “1” + m6Configuration M6Configuration OPTIONAL, +-- The above IE shall be present if the Measurements to Activate IE has the fifth bit set to “1” + m7Configuration M7Configuration OPTIONAL, +-- The above IE shall be present if the Measurements to Activate IE has the sixth bit set to “1” + bluetoothMeasurementConfiguration BluetoothMeasurementConfiguration OPTIONAL, + wLANMeasurementConfiguration WLANMeasurementConfiguration OPTIONAL, + mDT-Location-Info MDT-Location-Info OPTIONAL, + sensorMeasurementConfiguration SensorMeasurementConfiguration OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ImmediateMDTNr-ExtIEs} } OPTIONAL, + ... +} + +ImmediateMDTNr-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +InterSystemFailureIndication ::= SEQUENCE { + uERLFReportContainer UERLFReportContainer OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { InterSystemFailureIndication-ExtIEs} } OPTIONAL, + ... +} + +InterSystemFailureIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntersystemSONConfigurationTransfer ::= SEQUENCE { + transferType IntersystemSONTransferType, + intersystemSONInformation IntersystemSONInformation, + iE-Extensions ProtocolExtensionContainer { { IntersystemSONConfigurationTransfer-ExtIEs} } OPTIONAL, + ... +} + +IntersystemSONConfigurationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntersystemSONTransferType ::= CHOICE { + fromEUTRANtoNGRAN FromEUTRANtoNGRAN, + fromNGRANtoEUTRAN FromNGRANtoEUTRAN, + choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONTransferType-ExtIEs} } +} +IntersystemSONTransferType-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +IntersystemSONeNBID ::= SEQUENCE { + globaleNBID GlobalENB-ID, + selectedEPSTAI EPS-TAI, + iE-Extensions ProtocolExtensionContainer { { IntersystemSONeNBID-ExtIEs} } OPTIONAL, + ... +} + +IntersystemSONeNBID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntersystemSONNGRANnodeID ::= SEQUENCE { + globalRANNodeID GlobalRANNodeID, + selectedTAI TAI, + iE-Extensions ProtocolExtensionContainer { { IntersystemSONNGRANnodeID-ExtIEs} } OPTIONAL, + ... +} + +IntersystemSONNGRANnodeID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntersystemSONInformation ::= CHOICE { + intersystemSONInformationReport IntersystemSONInformationReport, + choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformation-ExtIEs} } +} + +IntersystemSONInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-IntersystemSONInformationRequest CRITICALITY ignore TYPE IntersystemSONInformationRequest PRESENCE mandatory }| + { ID id-IntersystemSONInformationReply CRITICALITY ignore TYPE IntersystemSONInformationReply PRESENCE mandatory }, + ... +} + +-- -------------------------------------------------------------------- +-- INTER SYSTEM SON INFORMATION REQUEST +-- -------------------------------------------------------------------- + +IntersystemSONInformationRequest ::= CHOICE { + nGRAN-CellActivation IntersystemCellActivationRequest, + resourceStatus IntersystemResourceStatusRequest, + choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformationRequest-ExtIEs} } +} + +IntersystemSONInformationRequest-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +IntersystemCellActivationRequest ::= SEQUENCE { + activationID INTEGER (0..16384, ...), + cellsToActivateList CellsToActivateList, + iE-Extensions ProtocolExtensionContainer { { IntersystemCellActivationRequest-ExtIEs} } OPTIONAL, + ... +} + +IntersystemCellActivationRequest-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellsToActivateList ::= SEQUENCE (SIZE(1..maxnoofCellsinNGRANNode)) OF NGRAN-CGI + + +-- -------------------------------------------------------------------- +-- Inter System Resource Status Request +-- -------------------------------------------------------------------- + +IntersystemResourceStatusRequest ::= SEQUENCE { + reportingSystem ReportingSystem, + reportCharacteristics ReportCharacteristics, + reportType ReportType, + iE-Extensions ProtocolExtensionContainer { { IntersystemResourceStatusRequest-ExtIEs} } OPTIONAL, + ... +} + +IntersystemResourceStatusRequest-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ReportingSystem ::= CHOICE { + eUTRAN EUTRAN-ReportingSystemIEs, + nGRAN NGRAN-ReportingSystemIEs, + noReporting NULL, + choice-Extensions ProtocolIE-SingleContainer { { ReportingSystem-ExtIEs}} +} + +ReportingSystem-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +EUTRAN-ReportingSystemIEs::= SEQUENCE { + eUTRAN-CellToReportList EUTRAN-CellToReportList, + iE-Extensions ProtocolExtensionContainer { {EUTRAN-ReportingSystemIEs-ExtIEs} } OPTIONAL, + ... +} + +EUTRAN-ReportingSystemIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NGRAN-ReportingSystemIEs ::= SEQUENCE { + nGRAN-CellToReportList NGRAN-CellToReportList, + iE-Extensions ProtocolExtensionContainer { {NGRAN-ReportingSystemIEs-ExtIEs} } OPTIONAL, + ... +} + +NGRAN-ReportingSystemIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EUTRAN-CellToReportList ::= SEQUENCE (SIZE(1..maxnoofReportedCells)) OF EUTRAN-CellToReportItem + +EUTRAN-CellToReportItem::= SEQUENCE { + eCGI EUTRA-CGI, + iE-Extensions ProtocolExtensionContainer { {EUTRAN-CellToReportItem-ExtIEs} } OPTIONAL, + ... +} + +EUTRAN-CellToReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +NGRAN-CellToReportList ::= SEQUENCE (SIZE(1.. maxnoofReportedCells)) OF NGRAN-CellToReportItem + +NGRAN-CellToReportItem::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + iE-Extensions ProtocolExtensionContainer { {NGRAN-CellToReportItem-ExtIEs} } OPTIONAL, + ... +} + +NGRAN-CellToReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ReportCharacteristics ::= BIT STRING(SIZE(32)) + +ReportType ::= CHOICE { + eventBasedReporting EventBasedReportingIEs, + periodicReporting PeriodicReportingIEs, + choice-Extensions ProtocolIE-SingleContainer { { ReportType-ExtIEs}} +} + +ReportType-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +EventBasedReportingIEs ::= SEQUENCE { + intersystemResourceThresholdLow IntersystemResourceThreshold, + intersystemResourceThresholdHigh IntersystemResourceThreshold, + numberOfMeasurementReportingLevels NumberOfMeasurementReportingLevels, + iE-Extensions ProtocolExtensionContainer { {EventBasedReportingIEs-ExtIEs} } OPTIONAL, + ... +} +EventBasedReportingIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntersystemResourceThreshold ::= INTEGER(0..100) + +NumberOfMeasurementReportingLevels ::= ENUMERATED {n2, n3, n4, n5, n10, ...} + +PeriodicReportingIEs ::= SEQUENCE { + reportingPeriodicity ReportingPeriodicity, + iE-Extensions ProtocolExtensionContainer { {PeriodicReportingIEs-ExtIEs} } OPTIONAL, + ... +} + +PeriodicReportingIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ReportingPeriodicity ::= ENUMERATED { + stop, + single, + ms1000, + ms2000, + ms5000, + ms10000, + ... +} + + +-- -------------------------------------------------------------------- +-- INTER SYSTEM SON INFORMATION REPLY +-- -------------------------------------------------------------------- + +IntersystemSONInformationReply ::= CHOICE { + nGRAN-CellActivation IntersystemCellActivationReply, + resourceStatus IntersystemResourceStatusReply, + choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformationReply-ExtIEs} } +} + +IntersystemSONInformationReply-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +IntersystemCellActivationReply ::= SEQUENCE { + activatedCellList ActivatedCellList, + activation-ID INTEGER(0..16384, ...), + iE-Extensions ProtocolExtensionContainer { { IntersystemCellActivationReply-ExtIEs} } OPTIONAL, + ... +} + +IntersystemCellActivationReply-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ActivatedCellList ::= SEQUENCE (SIZE(1..maxnoofCellsinNGRANNode)) OF NGRAN-CGI + + +-- -------------------------------------------------------------------- +-- Inter System Resource Status Reply +-- -------------------------------------------------------------------- + +IntersystemResourceStatusReply ::= SEQUENCE { + reportingsystem ReportingSystem, + iE-Extensions ProtocolExtensionContainer { { IntersystemResourceStatusReply-ExtIEs} } OPTIONAL, + ... +} + +IntersystemResourceStatusReply-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- -------------------------------------------------------------------- +-- INTER SYSTEM SON INFORMATION REPORT +-- -------------------------------------------------------------------- + +IntersystemSONInformationReport::= CHOICE { + hOReportInformation InterSystemHOReport, + failureIndicationInformation InterSystemFailureIndication, + choice-Extensions ProtocolIE-SingleContainer { { IntersystemSONInformationReport-ExtIEs} } +} + +IntersystemSONInformationReport-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-EnergySavingIndication CRITICALITY ignore TYPE IntersystemCellStateIndication PRESENCE mandatory }| + { ID id-IntersystemResourceStatusUpdate CRITICALITY ignore TYPE IntersystemResourceStatusReport PRESENCE mandatory }, + ... +} + +IntersystemCellStateIndication ::= SEQUENCE { + notificationCellList NotificationCellList, + iE-Extensions ProtocolExtensionContainer { { IntersystemCellStateIndication-ExtIEs} } OPTIONAL, + ... +} + +IntersystemCellStateIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NotificationCellList ::= SEQUENCE (SIZE(1.. maxnoofCellsinNGRANNode)) OF NotificationCell-Item + +NotificationCell-Item ::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + notifyFlag ENUMERATED {activated, deactivated, ...}, + iE-Extensions ProtocolExtensionContainer { { NotificationCell-Item-ExtIEs} } OPTIONAL, + ... +} + +NotificationCell-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- -------------------------------------------------------------------- +-- Inter System Resource Status Report +-- -------------------------------------------------------------------- + +IntersystemResourceStatusReport ::= SEQUENCE { + reportingSystem ResourceStatusReportingSystem, + iE-Extensions ProtocolExtensionContainer { { IntersystemResourceStatusReport-ExtIEs} } OPTIONAL, + ... +} + +IntersystemResourceStatusReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ResourceStatusReportingSystem ::= CHOICE { + eUTRAN-ReportingStatus EUTRAN-ReportingStatusIEs, + nGRAN-ReportingStatus NGRAN-ReportingStatusIEs, + choice-Extensions ProtocolIE-SingleContainer { { ResourceStatusReportingSystem-ExtIEs}} +} + +ResourceStatusReportingSystem-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +EUTRAN-ReportingStatusIEs::= SEQUENCE { + eUTRAN-CellReportList EUTRAN-CellReportList, + iE-Extensions ProtocolExtensionContainer { {EUTRAN-ReportingStatusIEs-ExtIEs} } OPTIONAL, + ... +} + +EUTRAN-ReportingStatusIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EUTRAN-CellReportList ::= SEQUENCE (SIZE(1..maxnoofReportedCells)) OF EUTRAN-CellReportItem + +EUTRAN-CellReportItem ::= SEQUENCE { + eCGI EUTRA-CGI, + eUTRAN-CompositeAvailableCapacityGroup EUTRAN-CompositeAvailableCapacityGroup, + eUTRAN-NumberOfActiveUEs EUTRAN-NumberOfActiveUEs OPTIONAL, + eUTRAN-NoofRRCConnections NGRAN-NoofRRCConnections OPTIONAL, + eUTRAN-RadioResourceStatus EUTRAN-RadioResourceStatus OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {EUTRAN-CellReportItem-ExtIEs} } OPTIONAL, + ... +} + +EUTRAN-CellReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +EUTRAN-CompositeAvailableCapacityGroup ::= SEQUENCE { + dL-CompositeAvailableCapacity CompositeAvailableCapacity, + uL-CompositeAvailableCapacity CompositeAvailableCapacity, + iE-Extensions ProtocolExtensionContainer { { EUTRAN-CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL, + ... +} + +EUTRAN-CompositeAvailableCapacityGroup-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +CompositeAvailableCapacity ::= SEQUENCE { + cellCapacityClassValue INTEGER (1..100, ...) OPTIONAL, + capacityValue INTEGER (0..100), + iE-Extensions ProtocolExtensionContainer { {CompositeAvailableCapacity-ExtIEs} } OPTIONAL, + ... +} + +CompositeAvailableCapacity-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +EUTRAN-NumberOfActiveUEs ::= INTEGER (0..16777215, ...) + +EUTRAN-RadioResourceStatus ::= SEQUENCE { + dL-GBR-PRB-usage INTEGER (0..100), + uL-GBR-PRB-usage INTEGER (0..100), + dL-non-GBR-PRB-usage INTEGER (0..100), + uL-non-GBR-PRB-usage INTEGER (0..100), + dL-Total-PRB-usage INTEGER (0..100), + uL-Total-PRB-usage INTEGER (0..100), + dL-scheduling-PDCCH-CCE-usage INTEGER (0..100) OPTIONAL, + uL-scheduling-PDCCH-CCE-usage INTEGER (0..100) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {EUTRAN-RadioResourceStatus-ExtIEs} } OPTIONAL, + ... +} + +EUTRAN-RadioResourceStatus-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NGRAN-ReportingStatusIEs ::= SEQUENCE { + nGRAN-CellReportList NGRAN-CellReportList, + iE-Extensions ProtocolExtensionContainer { {NGRAN-ReportingStatusIEs-ExtIEs} } OPTIONAL, + ... +} + +NGRAN-ReportingStatusIEs-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NGRAN-CellReportList ::= SEQUENCE (SIZE(1..maxnoofReportedCells)) OF NGRAN-CellReportItem + +NGRAN-CellReportItem ::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + nGRAN-CompositeAvailableCapacityGroup EUTRAN-CompositeAvailableCapacityGroup, + nGRAN-NumberOfActiveUEs NGRAN-NumberOfActiveUEs OPTIONAL, + nGRAN-NoofRRCConnections NGRAN-NoofRRCConnections OPTIONAL, + nGRAN-RadioResourceStatus NGRAN-RadioResourceStatus OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NGRAN-CellReportItem-ExtIEs} } OPTIONAL, + ... +} + +NGRAN-CellReportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +NGRAN-NumberOfActiveUEs ::= INTEGER (0..16777215, ...) + +NGRAN-NoofRRCConnections ::= INTEGER (1..65536, ...) + +NGRAN-RadioResourceStatus ::= SEQUENCE { + dL-GBR-PRB-usage-for-MIMO INTEGER (0..100), + uL-GBR-PRB-usage-for-MIMO INTEGER (0..100), + dL-non-GBR-PRB-usage-for-MIMO INTEGER (0..100), + uL-non-GBR-PRB-usage-for-MIMO INTEGER (0..100), + dL-Total-PRB-usage-for-MIMO INTEGER (0..100), + uL-Total-PRB-usage-for-MIMO INTEGER (0..100), + iE-Extensions ProtocolExtensionContainer { { NGRAN-RadioResourceStatus-ExtIEs} } OPTIONAL, + ... +} + +NGRAN-RadioResourceStatus-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +InterSystemHOReport ::= SEQUENCE { + handoverReportType InterSystemHandoverReportType, + iE-Extensions ProtocolExtensionContainer { { InterSystemHOReport-ExtIEs} } OPTIONAL, + ... +} + +InterSystemHOReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +InterSystemHandoverReportType ::= CHOICE { + tooearlyIntersystemHO TooearlyIntersystemHO, + intersystemUnnecessaryHO IntersystemUnnecessaryHO, + choice-Extensions ProtocolIE-SingleContainer { { InterSystemHandoverReportType-ExtIEs} } +} + +InterSystemHandoverReportType-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +IntersystemUnnecessaryHO ::= SEQUENCE { + sourcecellID NGRAN-CGI, + targetcellID EUTRA-CGI, + earlyIRATHO ENUMERATED {true, false, ...}, + candidateCellList CandidateCellList, + iE-Extensions ProtocolExtensionContainer { { IntersystemUnnecessaryHO-ExtIEs} } OPTIONAL, + ... +} + +IntersystemUnnecessaryHO-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- J +-- K +-- L + +LAC ::= OCTET STRING (SIZE (2)) + +LAI ::= SEQUENCE { + pLMNidentity PLMNIdentity, + lAC LAC, + iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL, + ... +} + +LAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastVisitedCellInformation ::= CHOICE { + nGRANCell LastVisitedNGRANCellInformation, + eUTRANCell LastVisitedEUTRANCellInformation, + uTRANCell LastVisitedUTRANCellInformation, + gERANCell LastVisitedGERANCellInformation, + choice-Extensions ProtocolIE-SingleContainer { {LastVisitedCellInformation-ExtIEs} } +} + +LastVisitedCellInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +LastVisitedCellItem ::= SEQUENCE { + lastVisitedCellInformation LastVisitedCellInformation, + iE-Extensions ProtocolExtensionContainer { {LastVisitedCellItem-ExtIEs} } OPTIONAL, + ... +} + +LastVisitedCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastVisitedEUTRANCellInformation ::= OCTET STRING + +LastVisitedGERANCellInformation ::= OCTET STRING + +LastVisitedNGRANCellInformation::= SEQUENCE { + globalCellID NGRAN-CGI, + cellType CellType, + timeUEStayedInCell TimeUEStayedInCell, + timeUEStayedInCellEnhancedGranularity TimeUEStayedInCellEnhancedGranularity OPTIONAL, + hOCauseValue Cause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {LastVisitedNGRANCellInformation-ExtIEs} } OPTIONAL, + ... +} + +LastVisitedNGRANCellInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-LastVisitedPSCellList CRITICALITY ignore EXTENSION LastVisitedPSCellList PRESENCE optional }, + ... +} + +LastVisitedPSCellList ::= SEQUENCE (SIZE(1..maxnoofPSCellsPerPrimaryCellinUEHistoryInfo)) OF LastVisitedPSCellInformation + +LastVisitedPSCellInformation ::= SEQUENCE { + pSCellID NGRAN-CGI OPTIONAL, + timeStay INTEGER (0..40950), + iE-Extensions ProtocolExtensionContainer { {LastVisitedPSCellInformation-ExtIEs} } OPTIONAL, + ... +} + +LastVisitedPSCellInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastVisitedUTRANCellInformation ::= OCTET STRING + +LineType ::= ENUMERATED { + dsl, + pon, + ... +} + + +LocationReportingAdditionalInfo ::= ENUMERATED { + includePSCell, + ... +} + +LocationReportingReferenceID ::= INTEGER (1..64, ...) + +LocationReportingRequestType ::= SEQUENCE { + eventType EventType, + reportArea ReportArea, + areaOfInterestList AreaOfInterestList OPTIONAL, + locationReportingReferenceIDToBeCancelled LocationReportingReferenceID OPTIONAL, +-- The above IE shall be present if the event type is set to “stop reporting UE presence in the area of interest” + iE-Extensions ProtocolExtensionContainer { {LocationReportingRequestType-ExtIEs} } OPTIONAL, + ... +} + +LocationReportingRequestType-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-LocationReportingAdditionalInfo CRITICALITY ignore EXTENSION LocationReportingAdditionalInfo PRESENCE optional }, + ... +} + +LoggedMDTNr ::= SEQUENCE { + loggingInterval LoggingInterval, + loggingDuration LoggingDuration, + loggedMDTTrigger LoggedMDTTrigger, + bluetoothMeasurementConfiguration BluetoothMeasurementConfiguration OPTIONAL, + wLANMeasurementConfiguration WLANMeasurementConfiguration OPTIONAL, + sensorMeasurementConfiguration SensorMeasurementConfiguration OPTIONAL, + areaScopeOfNeighCellsList AreaScopeOfNeighCellsList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {LoggedMDTNr-ExtIEs} } OPTIONAL, + ... +} + +LoggedMDTNr-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-EarlyMeasurement CRITICALITY ignore EXTENSION EarlyMeasurement PRESENCE optional }, + ... +} + +LoggingInterval ::= ENUMERATED { + ms320, ms640, ms1280, ms2560, ms5120, ms10240, ms20480, ms30720, ms40960, ms61440, + infinity, + ... +} + +LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120, ...} + +Links-to-log ::= ENUMERATED { + uplink, + downlink, + both-uplink-and-downlink, + ... +} + +LoggedMDTTrigger ::= CHOICE{ + periodical NULL, + eventTrigger EventTrigger, + choice-Extensions ProtocolIE-SingleContainer { {LoggedMDTTrigger-ExtIEs} } +} + +LoggedMDTTrigger-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +LTEM-Indication ::= ENUMERATED {lte-m,...} + +LTEUERLFReportContainer ::= OCTET STRING + +LTEV2XServicesAuthorized ::= SEQUENCE { + vehicleUE VehicleUE OPTIONAL, + pedestrianUE PedestrianUE OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {LTEV2XServicesAuthorized-ExtIEs} } OPTIONAL, + ... +} + +LTEV2XServicesAuthorized-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +LTEUESidelinkAggregateMaximumBitrate ::= SEQUENCE { + uESidelinkAggregateMaximumBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { {LTEUE-Sidelink-Aggregate-MaximumBitrates-ExtIEs} } OPTIONAL, + ... +} + +LTEUE-Sidelink-Aggregate-MaximumBitrates-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- M + +MaskedIMEISV ::= BIT STRING (SIZE(64)) + +MaximumDataBurstVolume ::= INTEGER (0..4095, ..., 4096.. 2000000) + +MessageIdentifier ::= BIT STRING (SIZE(16)) + +MaximumIntegrityProtectedDataRate ::= ENUMERATED { + bitrate64kbs, + maximum-UE-rate, + ... +} + + +MBS-AreaSessionID ::= INTEGER (0..65535, ...) + +MBS-DataForwardingResponseMRBList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MBS-DataForwardingResponseMRBItem + +MBS-DataForwardingResponseMRBItem ::= SEQUENCE { + mRB-ID MRB-ID, + dL-Forwarding-UPTNLInformation UPTransportLayerInformation, + mRB-ProgressInformation MRB-ProgressInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBS-DataForwardingResponseMRBItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-DataForwardingResponseMRBItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-MappingandDataForwardingRequestList ::= SEQUENCE (SIZE(1..maxnoofMRBs)) OF MBS-MappingandDataForwardingRequestItem + +MBS-MappingandDataForwardingRequestItem ::= SEQUENCE { + mRB-ID MRB-ID, + mBS-QoSFlowList MBS-QoSFlowList, + mRB-ProgressInformation MRB-ProgressInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBS-MappingandDataForwardingRequestItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-MappingandDataForwardingRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofMBSQoSFlows)) OF QosFlowIdentifier + +MRB-ProgressInformation ::= CHOICE { + pDCP-SN-Length12 INTEGER (0..4095), + pDCP-SN-Length18 INTEGER (0..262143), + choice-Extensions ProtocolIE-SingleContainer { { MRB-ProgressInformation-ExtIEs} } +} + +MRB-ProgressInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +MBS-QoSFlowsToBeSetupList ::= SEQUENCE (SIZE(1.. maxnoofMBSQoSFlows)) OF MBS-QoSFlowsToBeSetupItem + +MBS-QoSFlowsToBeSetupItem ::= SEQUENCE { + mBSqosFlowIdentifier QosFlowIdentifier, + mBSqosFlowLevelQosParameters QosFlowLevelQosParameters, + iE-Extensions ProtocolExtensionContainer { {MBS-QoSFlowsToBeSetupItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-QoSFlowsToBeSetupItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +MBS-ServiceArea ::= CHOICE { + locationindependent MBS-ServiceAreaInformation, + locationdependent MBS-ServiceAreaInformationList, + choice-Extensions ProtocolIE-SingleContainer { {MBS-ServiceArea-ExtIEs} } +} + +MBS-ServiceArea-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +MBS-ServiceAreaInformationList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-ServiceAreaInformationItem + + +MBS-ServiceAreaInformationItem ::= SEQUENCE { + mBS-AreaSessionID MBS-AreaSessionID, + mBS-ServiceAreaInformation MBS-ServiceAreaInformation, + iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaInformationItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-ServiceAreaInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-ServiceAreaInformation ::= SEQUENCE { + mBS-ServiceAreaCellList MBS-ServiceAreaCellList OPTIONAL, + mBS-ServiceAreaTAIList MBS-ServiceAreaTAIList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MBS-ServiceAreaInformation-ExtIEs} } OPTIONAL, + ... +} + +MBS-ServiceAreaInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-ServiceAreaCellList ::= SEQUENCE (SIZE(1.. maxnoofCellsforMBS)) OF NR-CGI + +MBS-ServiceAreaTAIList ::= SEQUENCE (SIZE(1.. maxnoofTAIforMBS)) OF TAI + +MBS-SessionID ::= SEQUENCE { + tMGI TMGI, + nID NID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MBS-SessionID-ExtIEs} } OPTIONAL, + ... +} + +MBS-SessionID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionFailedtoSetupList ::= SEQUENCE (SIZE(1.. maxnoofMBSSessions)) OF MBSSessionFailedtoSetupItem + +MBSSessionFailedtoSetupItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { MBSSessionFailedtoSetupItem-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionFailedtoSetupItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-ActiveSessionInformation-SourcetoTargetList ::= SEQUENCE (SIZE(1..maxnoofMBSSessionsofUE)) OF MBS-ActiveSessionInformation-SourcetoTargetItem + +MBS-ActiveSessionInformation-SourcetoTargetItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + mBS-ServiceArea MBS-ServiceArea OPTIONAL, + mBS-QoSFlowsToBeSetupList MBS-QoSFlowsToBeSetupList, + mBS-MappingandDataForwardingRequestList MBS-MappingandDataForwardingRequestList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBS-ActiveSessionInformation-SourcetoTargetItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-ActiveSessionInformation-SourcetoTargetItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-ActiveSessionInformation-TargettoSourceList ::= SEQUENCE (SIZE(1..maxnoofMBSSessionsofUE)) OF MBS-ActiveSessionInformation-TargettoSourceItem + +MBS-ActiveSessionInformation-TargettoSourceItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-DataForwardingResponseMRBList MBS-DataForwardingResponseMRBList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBS-ActiveSessionInformation-TargettoSourceItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-ActiveSessionInformation-TargettoSourceItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionSetupOrModFailureTransfer ::= SEQUENCE { + cause Cause, + criticalityDiagnostics CriticalityDiagnostics OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBSSessionSetupOrModFailureTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionSetupOrModFailureTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionSetupResponseList ::= SEQUENCE (SIZE(1.. maxnoofMBSSessions)) OF MBSSessionSetupResponseItem + +MBSSessionSetupResponseItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBSSessionSetupResponseItem-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionSetupResponseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionSetupOrModRequestTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBSSessionSetupOrModRequestTransferIEs} }, + ... +} + +MBSSessionSetupOrModRequestTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionTNLInfo5GC CRITICALITY reject TYPE MBS-SessionTNLInfo5GC PRESENCE optional }| + { ID id-MBS-QoSFlowsToBeSetupModList CRITICALITY reject TYPE MBS-QoSFlowsToBeSetupList PRESENCE mandatory }| + { ID id-MBS-SessionFSAIDList CRITICALITY ignore TYPE MBS-SessionFSAIDList PRESENCE optional }, + ... +} + +MBS-SessionFSAIDList ::= SEQUENCE (SIZE(1.. maxnoofMBSFSAs)) OF MBS-SessionFSAID + +MBS-SessionFSAID ::= OCTET STRING (SIZE(3)) + +MBSSessionReleaseResponseTransfer ::= SEQUENCE { + mBS-SessionTNLInfoNGRAN MBS-SessionTNLInfoNGRAN OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MBSSessionReleaseResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionReleaseResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionSetupOrModResponseTransfer ::= SEQUENCE { + mBS-SessionTNLInfoNGRAN MBS-SessionTNLInfoNGRAN OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MBSSessionSetupOrModResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionSetupOrModResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-SupportIndicator ::= ENUMERATED { + true, + ... +} + +MBS-SessionTNLInfo5GC ::= CHOICE { + locationindependent SharedNGU-MulticastTNLInformation, + locationdependent MBS-SessionTNLInfo5GCList, + choice-Extensions ProtocolIE-SingleContainer { {MBS-SessionTNLInfo5GC-ExtIEs} } +} + +MBS-SessionTNLInfo5GC-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +MBS-SessionTNLInfo5GCList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-SessionTNLInfo5GCItem + +MBS-SessionTNLInfo5GCItem ::= SEQUENCE { + mBS-AreaSessionID MBS-AreaSessionID, + sharedNGU-MulticastTNLInformation SharedNGU-MulticastTNLInformation, + iE-Extensions ProtocolExtensionContainer { {MBS-SessionTNLInfo5GCItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-SessionTNLInfo5GCItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-SessionTNLInfoNGRAN ::= CHOICE { + locationindependent UPTransportLayerInformation, + locationdependent MBS-SessionTNLInfoNGRANList, + choice-Extensions ProtocolIE-SingleContainer { {MBS-SessionTNLInfoNGRAN-ExtIEs} } +} + +MBS-SessionTNLInfoNGRAN-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +MBS-SessionTNLInfoNGRANList ::= SEQUENCE (SIZE(1..maxnoofMBSServiceAreaInformation)) OF MBS-SessionTNLInfoNGRANItem + +MBS-SessionTNLInfoNGRANItem ::= SEQUENCE { + mBS-AreaSessionID MBS-AreaSessionID, + sharedNGU-UnicastTNLInformation UPTransportLayerInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MBS-SessionTNLInfoNGRANItem-ExtIEs} } OPTIONAL, + ... +} + +MBS-SessionTNLInfoNGRANItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-DistributionReleaseRequestTransfer ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + sharedNGU-UnicastTNLInformation UPTransportLayerInformation OPTIONAL, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { MBS-DistributionReleaseRequesTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBS-DistributionReleaseRequesTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-DistributionSetupRequestTransfer ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + sharedNGU-UnicastTNLInformation UPTransportLayerInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBS-DistributionSetupRequestTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBS-DistributionSetupRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-DistributionSetupResponseTransfer ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + sharedNGU-MulticastTNLInformation MBS-SessionTNLInfo5GCItem OPTIONAL, + mBS-QoSFlowsToBeSetupList MBS-QoSFlowsToBeSetupList, + mBSSessionStatus MBSSessionStatus, + mBS-ServiceArea MBS-ServiceArea OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MBS-DistributionSetupResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBS-DistributionSetupResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +MBS-DistributionSetupUnsuccessfulTransfer ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + cause Cause, + criticalityDiagnostics CriticalityDiagnostics OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBS-DistributionSetupUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +MBS-DistributionSetupUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionSetupRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBSSessionSetupRequestItem + +MBSSessionSetupRequestItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + associatedMBSQosFlowSetupRequestList AssociatedMBSQosFlowSetupRequestList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MBSSessionSetupRequestItem-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionSetupRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionSetuporModifyRequestList ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBSSessionSetuporModifyRequestItem + +MBSSessionSetuporModifyRequestItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + mBS-AreaSessionID MBS-AreaSessionID OPTIONAL, + associatedMBSQosFlowSetuporModifyRequestList AssociatedMBSQosFlowSetuporModifyRequestList OPTIONAL, + mBS-QosFlowToReleaseList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer {{MBSSessionSetuporModifyRequestItem-ExtIEs}} OPTIONAL, + ... +} + +MBSSessionSetuporModifyRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +MBSSessionToReleaseList ::= SEQUENCE (SIZE(1..maxnoofMBSSessions)) OF MBSSessionToReleaseItem + +MBSSessionToReleaseItem ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { MBSSessionToReleaseItem-ExtIEs} } OPTIONAL, + ... +} + +MBSSessionToReleaseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBSSessionStatus ::= ENUMERATED { + activated, + deactivated, + ... +} + +MicoAllPLMN ::= ENUMERATED { + true, + ... +} + + +MICOModeIndication ::= ENUMERATED { + true, + ... +} + +MobilityInformation ::= BIT STRING (SIZE(16)) + +MobilityRestrictionList ::= SEQUENCE { + servingPLMN PLMNIdentity, + equivalentPLMNs EquivalentPLMNs OPTIONAL, + rATRestrictions RATRestrictions OPTIONAL, + forbiddenAreaInformation ForbiddenAreaInformation OPTIONAL, + serviceAreaInformation ServiceAreaInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MobilityRestrictionList-ExtIEs} } OPTIONAL, + ... +} + +MobilityRestrictionList-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-LastEUTRAN-PLMNIdentity CRITICALITY ignore EXTENSION PLMNIdentity PRESENCE optional }| + { ID id-CNTypeRestrictionsForServing CRITICALITY ignore EXTENSION CNTypeRestrictionsForServing PRESENCE optional }| + { ID id-CNTypeRestrictionsForEquivalent CRITICALITY ignore EXTENSION CNTypeRestrictionsForEquivalent PRESENCE optional }| + { ID id-NPN-MobilityInformation CRITICALITY reject EXTENSION NPN-MobilityInformation PRESENCE optional }, + ... +} + +MDT-AlignmentInfo ::= CHOICE { + s-basedMDT NGRANTraceID, + choice-Extensions ProtocolIE-SingleContainer { { MDT-AlignmentInfo-ExtIEs} } +} + +MDT-AlignmentInfo-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMNIdentity + +MDTPLMNModificationList ::= SEQUENCE (SIZE(0..maxnoofMDTPLMNs)) OF PLMNIdentity + +MDT-Configuration ::= SEQUENCE { + mdt-Config-NR MDT-Configuration-NR OPTIONAL, + mdt-Config-EUTRA MDT-Configuration-EUTRA OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL, + ... +} + +MDT-Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MDT-Configuration-NR ::= SEQUENCE { + mdt-Activation MDT-Activation, + areaScopeOfMDT AreaScopeOfMDT-NR, + mDTModeNr MDTModeNr, + signallingBasedMDTPLMNList MDTPLMNList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-NR-ExtIEs} } OPTIONAL, + ... +} + +MDT-Configuration-NR-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MDT-Configuration-EUTRA ::= SEQUENCE { + mdt-Activation MDT-Activation, + areaScopeOfMDT AreaScopeOfMDT-EUTRA, + mDTMode MDTModeEutra, + signallingBasedMDTPLMNList MDTPLMNList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-EUTRA-ExtIEs} } OPTIONAL, + ... +} + +MDT-Configuration-EUTRA-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MDT-Activation ::= ENUMERATED { + immediate-MDT-only, + logged-MDT-only, + immediate-MDT-and-Trace, + ... +} + +MDTModeNr ::= CHOICE { + immediateMDTNr ImmediateMDTNr, + loggedMDTNr LoggedMDTNr, + choice-Extensions ProtocolIE-SingleContainer { {MDTModeNr-ExtIEs} } +} + +MDTModeNr-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +MDTModeEutra ::= OCTET STRING + +MeasurementsToActivate ::= BIT STRING(SIZE(8)) + +MRB-ID ::= INTEGER (1..512, ...) + +MulticastSessionActivationRequestTransfer ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + iE-Extensions ProtocolExtensionContainer { { MulticastSessionActivationRequestTransfer-ExtIEs} } OPTIONAL, + ... +} + +MulticastSessionActivationRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MulticastSessionDeactivationRequestTransfer ::= SEQUENCE { + mBS-SessionID MBS-SessionID, + iE-Extensions ProtocolExtensionContainer { { MulticastSessionDeactivationRequestTransfer-ExtIEs} } OPTIONAL, + ... +} + +MulticastSessionDeactivationRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MulticastSessionUpdateRequestTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionUpdateRequestTransferIEs} }, + ... +} + +MulticastSessionUpdateRequestTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }| + { ID id-MBS-QoSFlowsToBeSetupModList CRITICALITY reject TYPE MBS-QoSFlowsToBeSetupList PRESENCE optional }| + { ID id-MBS-QoSFlowToReleaseList CRITICALITY reject TYPE QosFlowListWithCause PRESENCE optional }| + { ID id-MBS-SessionTNLInfo5GC CRITICALITY reject TYPE MBS-SessionTNLInfo5GC PRESENCE optional }, + ... +} + + +MulticastGroupPagingAreaList ::= SEQUENCE (SIZE(1..maxnoofPagingAreas)) OF MulticastGroupPagingAreaItem + +MulticastGroupPagingAreaItem ::= SEQUENCE { + multicastGroupPagingArea MulticastGroupPagingArea, + uE-PagingList UE-PagingList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { MulticastGroupPagingAreaItem-ExtIEs} } OPTIONAL, + ... +} + +MulticastGroupPagingAreaItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBS-AreaTAIList ::= SEQUENCE (SIZE(1..maxnoofTAIforPaging)) OF TAI + +MulticastGroupPagingArea ::= SEQUENCE { + mBS-AreaTAIList MBS-AreaTAIList, + iE-Extensions ProtocolExtensionContainer { { MulticastGroupPagingArea-ExtIEs} } OPTIONAL, + ... +} + +MulticastGroupPagingArea-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UE-PagingList ::= SEQUENCE (SIZE(1..maxnoofUEsforPaging)) OF UE-PagingItem + +UE-PagingItem ::= SEQUENCE { + uEIdentityIndexValue UEIdentityIndexValue, + pagingDRX PagingDRX OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { UE-PagingItem-ExtIEs} } OPTIONAL, + ... +} + +UE-PagingItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +M1Configuration ::= SEQUENCE { + m1reportingTrigger M1ReportingTrigger, + m1thresholdEventA2 M1ThresholdEventA2 OPTIONAL, +-- The above IE shall be present if the M1 Reporting Trigger IE is set to “A2event-triggered” or “A2event-triggered periodic” + m1periodicReporting M1PeriodicReporting OPTIONAL, +-- The above IE shall be present if the M1 Reporting Trigger IE is set to “periodic” or “A2event-triggered periodic” + iE-Extensions ProtocolExtensionContainer { { M1Configuration-ExtIEs} } OPTIONAL, + ... +} + +M1Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-IncludeBeamMeasurementsIndication CRITICALITY ignore EXTENSION IncludeBeamMeasurementsIndication PRESENCE optional }| + { ID id-BeamMeasurementsReportConfiguration CRITICALITY ignore EXTENSION BeamMeasurementsReportConfiguration PRESENCE conditional }, +-- The above IE shall be present if the IncludeBeamMeasurementsIndication IE is set to “true” + ... +} + +IncludeBeamMeasurementsIndication ::= ENUMERATED { + true, + ... +} + +MaxNrofRS-IndexesToReport ::= INTEGER (1..64, ...) + +M1ReportingTrigger ::= ENUMERATED { + periodic, + a2eventtriggered, + a2eventtriggered-periodic, + ... +} + +M1ThresholdEventA2 ::= SEQUENCE { + m1ThresholdType M1ThresholdType, + iE-Extensions ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL, + ... +} + +M1ThresholdEventA2-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +M1ThresholdType ::= CHOICE { + threshold-RSRP Threshold-RSRP, + threshold-RSRQ Threshold-RSRQ, + threshold-SINR Threshold-SINR, + choice-Extensions ProtocolIE-SingleContainer { {M1ThresholdType-ExtIEs} } +} + +M1ThresholdType-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +M1PeriodicReporting ::= SEQUENCE { + reportInterval ReportIntervalMDT, + reportAmount ReportAmountMDT, + iE-Extensions ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL, + ... +} + +M1PeriodicReporting-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-ExtendedReportIntervalMDT CRITICALITY ignore EXTENSION ExtendedReportIntervalMDT PRESENCE optional}, + ... +} + +M4Configuration ::= SEQUENCE { + m4period M4period, + m4-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL, + ... +} + +M4Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-M4ReportAmount CRITICALITY ignore EXTENSION M4ReportAmountMDT PRESENCE optional }, + ... +} + +M4ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...} + +M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } + +M5Configuration ::= SEQUENCE { + m5period M5period, + m5-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL, + ... +} + +M5Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-M5ReportAmount CRITICALITY ignore EXTENSION M5ReportAmountMDT PRESENCE optional }, + ... +} + +M5ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...} + + +M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } + +M6Configuration ::= SEQUENCE { + m6report-Interval M6report-Interval, + m6-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL, + ... +} + +M6Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-M6ReportAmount CRITICALITY ignore EXTENSION M6ReportAmountMDT PRESENCE optional }| + { ID id-ExcessPacketDelayThresholdConfiguration CRITICALITY ignore EXTENSION ExcessPacketDelayThresholdConfiguration PRESENCE optional }, + ... +} + + +M6ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...} + +M6report-Interval ::= ENUMERATED { + ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, min1, min6, min12, min30, + ... +} + + +M7Configuration ::= SEQUENCE { + m7period M7period, + m7-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL, + ... +} + +M7Configuration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-M7ReportAmount CRITICALITY ignore EXTENSION M7ReportAmountMDT PRESENCE optional }, + ... +} + +M7ReportAmountMDT ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity, ...} + +M7period ::= INTEGER(1..60, ...) + +MDT-Location-Info ::= SEQUENCE { + mDT-Location-Information MDT-Location-Information, + iE-Extensions ProtocolExtensionContainer { { MDT-Location-Info-ExtIEs} } OPTIONAL, + ... +} + +MDT-Location-Info-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +MDT-Location-Information::= BIT STRING (SIZE (8)) + +-- N + +N3IWF-ID ::= CHOICE { + n3IWF-ID BIT STRING (SIZE(16)), + choice-Extensions ProtocolIE-SingleContainer { {N3IWF-ID-ExtIEs} } +} + +N3IWF-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +NAS-PDU ::= OCTET STRING + +NASSecurityParametersFromNGRAN ::= OCTET STRING + +NB-IoT-DefaultPagingDRX ::= ENUMERATED { + rf128, rf256, rf512, rf1024, + ... +} + +NB-IoT-PagingDRX ::= ENUMERATED { + rf32, rf64, rf128, rf256, rf512, rf1024, + ... +} + +NB-IoT-Paging-eDRXCycle ::= ENUMERATED { + hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, hf512, hf1024, + ... +} + +NB-IoT-Paging-TimeWindow ::= ENUMERATED { + s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, + ... +} + +NB-IoT-Paging-eDRXInfo ::= SEQUENCE { + nB-IoT-Paging-eDRXCycle NB-IoT-Paging-eDRXCycle, + nB-IoT-Paging-TimeWindow NB-IoT-Paging-TimeWindow OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInfo-ExtIEs} } OPTIONAL, + ... +} + +NB-IoT-Paging-eDRXInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NB-IoT-UEPriority ::= INTEGER (0..255, ...) + +NetworkInstance ::= INTEGER (1..256, ...) + +NewSecurityContextInd ::= ENUMERATED { + true, + ... +} + +NextHopChainingCount ::= INTEGER (0..7) + +NextPagingAreaScope ::= ENUMERATED { + same, + changed, + ... +} + +NGAPIESupportInformationRequestList ::= SEQUENCE (SIZE(1.. maxnoofNGAPIESupportInfo)) OF NGAPIESupportInformationRequestItem + +NGAPIESupportInformationRequestItem ::= SEQUENCE { + ngap-ProtocolIE-Id ProtocolIE-ID, + iE-Extensions ProtocolExtensionContainer { { NGAPIESupportInformationRequestItem-ExtIEs} } OPTIONAL, + ... +} + +NGAPIESupportInformationRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NGAPIESupportInformationResponseList ::= SEQUENCE (SIZE(1.. maxnoofNGAPIESupportInfo)) OF NGAPIESupportInformationResponseItem + +NGAPIESupportInformationResponseItem ::= SEQUENCE { + ngap-ProtocolIE-Id ProtocolIE-ID, + ngap-ProtocolIESupportInfo ENUMERATED {supported, not-supported, ...}, + ngap-ProtocolIEPresenceInfo ENUMERATED {present, not-present, ...}, + iE-Extensions ProtocolExtensionContainer { { NGAPIESupportInformationResponseItem-ExtIEs} } OPTIONAL, + ... +} + +NGAPIESupportInformationResponseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NgENB-ID ::= CHOICE { + macroNgENB-ID BIT STRING (SIZE(20)), + shortMacroNgENB-ID BIT STRING (SIZE(18)), + longMacroNgENB-ID BIT STRING (SIZE(21)), + choice-Extensions ProtocolIE-SingleContainer { {NgENB-ID-ExtIEs} } +} + +NgENB-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +NotifySourceNGRANNode ::= ENUMERATED { + notifySource, + ... +} + +NGRAN-CGI ::= CHOICE { + nR-CGI NR-CGI, + eUTRA-CGI EUTRA-CGI, + choice-Extensions ProtocolIE-SingleContainer { {NGRAN-CGI-ExtIEs} } +} + +NGRAN-CGI-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +NGRAN-TNLAssociationToRemoveList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF NGRAN-TNLAssociationToRemoveItem + +NGRAN-TNLAssociationToRemoveItem::= SEQUENCE { + tNLAssociationTransportLayerAddress CPTransportLayerInformation, + tNLAssociationTransportLayerAddressAMF CPTransportLayerInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NGRAN-TNLAssociationToRemoveItem-ExtIEs} } OPTIONAL +} + +NGRAN-TNLAssociationToRemoveItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NGRANTraceID ::= OCTET STRING (SIZE(8)) + +NID ::= BIT STRING (SIZE(44)) + +NonDynamic5QIDescriptor ::= SEQUENCE { + fiveQI FiveQI, + priorityLevelQos PriorityLevelQos OPTIONAL, + averagingWindow AveragingWindow OPTIONAL, + maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NonDynamic5QIDescriptor-ExtIEs} } OPTIONAL, + ... +} + +NonDynamic5QIDescriptor-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CNPacketDelayBudgetDL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetUL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }, + ... +} + +NotAllowedTACs ::= SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC + +NotificationCause ::= ENUMERATED { + fulfilled, + not-fulfilled, + ... +} + +NotificationControl ::= ENUMERATED { + notification-requested, + ... +} + +NPN-AccessInformation ::= CHOICE { + pNI-NPN-Access-Information CellCAGList, + choice-Extensions ProtocolIE-SingleContainer { {NPN-AccessInformation-ExtIEs} } +} + +NPN-AccessInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +NPN-MobilityInformation ::= CHOICE { + sNPN-MobilityInformation SNPN-MobilityInformation, + pNI-NPN-MobilityInformation PNI-NPN-MobilityInformation, + choice-Extensions ProtocolIE-SingleContainer { {NPN-MobilityInformation-ExtIEs} } +} + +NPN-MobilityInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + + +NPN-PagingAssistanceInformation ::= CHOICE { + pNI-NPN-PagingAssistance Allowed-PNI-NPN-List, + choice-Extensions ProtocolIE-SingleContainer { {NPN-PagingAssistanceInformation-ExtIEs} } +} + +NPN-PagingAssistanceInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +NPN-Support ::= CHOICE { + sNPN NID, + choice-Extensions ProtocolIE-SingleContainer { {NPN-Support-ExtIEs} } +} + +NPN-Support-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +NRCellIdentity ::= BIT STRING (SIZE(36)) + +NR-CGI ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + nRCellIdentity NRCellIdentity, + iE-Extensions ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL, + ... +} + +NR-CGI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NR-CGIList ::= SEQUENCE (SIZE(1..maxnoofCellsingNB)) OF NR-CGI + +NR-CGIListForWarning ::= SEQUENCE (SIZE(1..maxnoofCellIDforWarning)) OF NR-CGI + +NR-PagingeDRXInformation ::= SEQUENCE { + nR-paging-eDRX-Cycle NR-Paging-eDRX-Cycle, + nR-paging-Time-Window NR-Paging-Time-Window OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NR-PagingeDRXInformation-ExtIEs} } OPTIONAL, + ... +} + +NR-PagingeDRXInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NR-Paging-eDRX-Cycle ::= ENUMERATED { + hfquarter, hfhalf, hf1, hf2, hf4, hf8, hf16, + hf32, hf64, hf128, hf256, hf512, hf1024, + ... +} + +NR-Paging-Time-Window ::= ENUMERATED { + s1, s2, s3, s4, s5, + s6, s7, s8, s9, s10, + s11, s12, s13, s14, s15, s16, + ..., + s17, s18, s19, s20, s21, s22, s23, s24, + s25, s26, s27, s28, s29, s30, s31, s32 +} + +NRencryptionAlgorithms ::= BIT STRING (SIZE(16, ...)) + +NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE(16, ...)) + +NRMobilityHistoryReport ::= OCTET STRING + +NRPPa-PDU ::= OCTET STRING + +NRUERLFReportContainer ::= OCTET STRING + +NRNTNTAIInformation ::= SEQUENCE { + servingPLMN PLMNIdentity, + tACListInNRNTN TACListInNRNTN, + uELocationDerivedTACInNRNTN TAC OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NRNTNTAIInformation-ExtIEs} } OPTIONAL, + ... +} + +NRNTNTAIInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +NumberOfBroadcasts ::= INTEGER (0..65535) + +NumberOfBroadcastsRequested ::= INTEGER (0..65535) + +NRARFCN ::= INTEGER (0.. maxNRARFCN) + +NRFrequencyBand ::= INTEGER (1..1024, ...) + +NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNRCellBands)) OF NRFrequencyBandItem + +NRFrequencyBandItem ::= SEQUENCE { + nr-frequency-band NRFrequencyBand, + iE-Extension ProtocolExtensionContainer { {NRFrequencyBandItem-ExtIEs} } OPTIONAL, + ... +} + +NRFrequencyBandItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NRFrequencyInfo ::= SEQUENCE { + nrARFCN NRARFCN, + frequencyBand-List NRFrequencyBand-List, + iE-Extension ProtocolExtensionContainer { {NRFrequencyInfo-ExtIEs} } OPTIONAL, + ... +} + +NRFrequencyInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NR-PCI ::= INTEGER (0..1007, ...) + +NRV2XServicesAuthorized ::= SEQUENCE { + vehicleUE VehicleUE OPTIONAL, + pedestrianUE PedestrianUE OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL, + ... +} + +NRV2XServicesAuthorized-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +VehicleUE ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +PedestrianUE ::= ENUMERATED { + authorized, + not-authorized, + ... +} + +NRUESidelinkAggregateMaximumBitrate ::= SEQUENCE { + uESidelinkAggregateMaximumBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { {NRUESidelinkAggregateMaximumBitrate-ExtIEs} } OPTIONAL, + ... +} + +NRUESidelinkAggregateMaximumBitrate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +NSAG-ID ::= INTEGER (0..255, ...) + +-- O + +OnboardingSupport ::= ENUMERATED { + true, + ... +} + +OverloadAction ::= ENUMERATED { + reject-non-emergency-mo-dt, + reject-rrc-cr-signalling, + permit-emergency-sessions-and-mobile-terminated-services-only, + permit-high-priority-sessions-and-mobile-terminated-services-only, + ... +} + +OverloadResponse ::= CHOICE { + overloadAction OverloadAction, + choice-Extensions ProtocolIE-SingleContainer { {OverloadResponse-ExtIEs} } +} + +OverloadResponse-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +OverloadStartNSSAIList ::= SEQUENCE (SIZE (1..maxnoofSliceItems)) OF OverloadStartNSSAIItem + +OverloadStartNSSAIItem ::= SEQUENCE { + sliceOverloadList SliceOverloadList, + sliceOverloadResponse OverloadResponse OPTIONAL, + sliceTrafficLoadReductionIndication TrafficLoadReductionIndication OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {OverloadStartNSSAIItem-ExtIEs} } OPTIONAL, + ... +} + +OverloadStartNSSAIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- P + +PacketDelayBudget ::= INTEGER (0..1023, ...) + +PacketErrorRate ::= SEQUENCE { + pERScalar INTEGER (0..9, ...), + pERExponent INTEGER (0..9, ...), + iE-Extensions ProtocolExtensionContainer { {PacketErrorRate-ExtIEs} } OPTIONAL, + ... +} + +PacketErrorRate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PacketLossRate ::= INTEGER (0..1000, ...) + +PagingAssisDataforCEcapabUE ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + coverageEnhancementLevel CoverageEnhancementLevel, + iE-Extensions ProtocolExtensionContainer { { PagingAssisDataforCEcapabUE-ExtIEs} } OPTIONAL, + ... +} + +PagingAssisDataforCEcapabUE-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PagingAttemptInformation ::= SEQUENCE { + pagingAttemptCount PagingAttemptCount, + intendedNumberOfPagingAttempts IntendedNumberOfPagingAttempts, + nextPagingAreaScope NextPagingAreaScope OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PagingAttemptInformation-ExtIEs} } OPTIONAL, + ... +} + +PagingAttemptInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PagingAttemptCount ::= INTEGER (1..16, ...) + +PagingCause ::= ENUMERATED { + voice, + ... +} + +PagingCauseIndicationForVoiceService ::= ENUMERATED { + supported, + ... +} + +PagingDRX ::= ENUMERATED { + v32, + v64, + v128, + v256, + ... +} + +PagingOrigin ::= ENUMERATED { + non-3gpp, + ... +} + +PagingPriority ::= ENUMERATED { + priolevel1, + priolevel2, + priolevel3, + priolevel4, + priolevel5, + priolevel6, + priolevel7, + priolevel8, + ... +} + +PagingProbabilityInformation ::= ENUMERATED { + p00, p05, p10, p15, p20, p25, p30, p35, p40, p45, p50, p55, p60, p65, p70, p75, p80, p85, p90, p95, p100, + ... +} + +PathSwitchRequestAcknowledgeTransfer ::= SEQUENCE { + uL-NGU-UP-TNLInformation UPTransportLayerInformation OPTIONAL, + securityIndication SecurityIndication OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestAcknowledgeTransfer-ExtIEs} } OPTIONAL, + ... +} + +PathSwitchRequestAcknowledgeTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }| + { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-AdditionalRedundantNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }| + { ID id-QosFlowParametersList CRITICALITY ignore EXTENSION QosFlowParametersList PRESENCE optional }, + ... +} + +PathSwitchRequestSetupFailedTransfer ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestSetupFailedTransfer-ExtIEs} } OPTIONAL, + ... +} + +PathSwitchRequestSetupFailedTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PathSwitchRequestTransfer ::= SEQUENCE { + dL-NGU-UP-TNLInformation UPTransportLayerInformation, + dL-NGU-TNLInformationReused DL-NGU-TNLInformationReused OPTIONAL, + userPlaneSecurityInformation UserPlaneSecurityInformation OPTIONAL, + qosFlowAcceptedList QosFlowAcceptedList, + iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestTransfer-ExtIEs} } OPTIONAL, + ... +} + +PathSwitchRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }| + { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-RedundantDL-NGU-TNLInformationReused CRITICALITY ignore EXTENSION DL-NGU-TNLInformationReused PRESENCE optional }| + { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }| + { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }| + { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }| + { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }, + ... +} + +PathSwitchRequestUnsuccessfulTransfer ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PathSwitchRequestUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +PathSwitchRequestUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PC5QoSParameters ::= SEQUENCE { + pc5QoSFlowList PC5QoSFlowList, + pc5LinkAggregateBitRates BitRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs} } OPTIONAL, + ... +} + +PC5QoSParameters-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF PC5QoSFlowItem + +PC5QoSFlowItem::= SEQUENCE { + pQI FiveQI, + pc5FlowBitRates PC5FlowBitRates OPTIONAL, + range Range OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { PC5QoSFlowItem-ExtIEs} } OPTIONAL, + ... +} + +PC5QoSFlowItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PC5FlowBitRates ::= SEQUENCE { + guaranteedFlowBitRate BitRate, + maximumFlowBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs} } OPTIONAL, + ... +} + +PC5FlowBitRates-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +PCIListForMDT ::= SEQUENCE (SIZE(1.. maxnoofNeighPCIforMDT)) OF NR-PCI + +PrivacyIndicator ::= ENUMERATED { + immediate-MDT, + logged-MDT, + ... +} + +PDUSessionAggregateMaximumBitRate ::= SEQUENCE { + pDUSessionAggregateMaximumBitRateDL BitRate, + pDUSessionAggregateMaximumBitRateUL BitRate, + iE-Extensions ProtocolExtensionContainer { {PDUSessionAggregateMaximumBitRate-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionAggregateMaximumBitRate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionID ::= INTEGER (0..255) + +PDUSessionPairID ::= INTEGER (0..255, ...) + +PDUSessionResourceAdmittedList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceAdmittedItem + +PDUSessionResourceAdmittedItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + handoverRequestAcknowledgeTransfer OCTET STRING (CONTAINING HandoverRequestAcknowledgeTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceAdmittedItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceAdmittedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToModifyListModCfm ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToModifyItemModCfm + +PDUSessionResourceFailedToModifyItemModCfm ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceModifyIndicationUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyIndicationUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToModifyItemModCfm-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToModifyItemModCfm-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToModifyListModRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToModifyItemModRes + +PDUSessionResourceFailedToModifyItemModRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceModifyUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToModifyItemModRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToModifyItemModRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToResumeListRESReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToResumeItemRESReq + +PDUSessionResourceFailedToResumeItemRESReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToResumeItemRESReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToResumeItemRESReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +PDUSessionResourceFailedToResumeListRESRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToResumeItemRESRes + +PDUSessionResourceFailedToResumeItemRESRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToResumeItemRESRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToResumeItemRESRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToSetupListCxtFail ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemCxtFail + +PDUSessionResourceFailedToSetupItemCxtFail ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemCxtFail-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToSetupItemCxtFail-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToSetupListCxtRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemCxtRes + +PDUSessionResourceFailedToSetupItemCxtRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemCxtRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToSetupItemCxtRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToSetupListHOAck ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemHOAck + +PDUSessionResourceFailedToSetupItemHOAck ::= SEQUENCE { + pDUSessionID PDUSessionID, + handoverResourceAllocationUnsuccessfulTransfer OCTET STRING (CONTAINING HandoverResourceAllocationUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemHOAck-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToSetupItemHOAck-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToSetupListPSReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemPSReq + +PDUSessionResourceFailedToSetupItemPSReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + pathSwitchRequestSetupFailedTransfer OCTET STRING (CONTAINING PathSwitchRequestSetupFailedTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemPSReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToSetupItemPSReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceFailedToSetupListSURes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceFailedToSetupItemSURes + +PDUSessionResourceFailedToSetupItemSURes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceSetupUnsuccessfulTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceFailedToSetupItemSURes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceFailedToSetupItemSURes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceHandoverList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceHandoverItem + +PDUSessionResourceHandoverItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + handoverCommandTransfer OCTET STRING (CONTAINING HandoverCommandTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceHandoverItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceHandoverItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceInformationList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceInformationItem + +PDUSessionResourceInformationItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + qosFlowInformationList QosFlowInformationList, + dRBsToQosFlowsMappingList DRBsToQosFlowsMappingList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceInformationItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceListCxtRelCpl ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceItemCxtRelCpl + +PDUSessionResourceItemCxtRelCpl ::= SEQUENCE { + pDUSessionID PDUSessionID, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceItemCxtRelCpl-ExtIEs} } OPTIONAL, + ... +} + +-- WS modification: define a dedicated type +PDUSessionResourceReleaseResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING PDUSessionResourceReleaseResponseTransfer) + +PDUSessionResourceItemCxtRelCpl-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { +-- WS modification: define a dedicated type +-- { ID id-PDUSessionResourceReleaseResponseTransfer CRITICALITY ignore EXTENSION OCTET STRING (CONTAINING PDUSessionResourceReleaseResponseTransfer) PRESENCE optional }, + { ID id-PDUSessionResourceReleaseResponseTransfer CRITICALITY ignore EXTENSION PDUSessionResourceReleaseResponseTransfer-OCTET-STRING PRESENCE optional }, + ... +} + +PDUSessionResourceListCxtRelReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceItemCxtRelReq + +PDUSessionResourceItemCxtRelReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceItemCxtRelReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceItemCxtRelReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceListHORqd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceItemHORqd + +PDUSessionResourceItemHORqd ::= SEQUENCE { + pDUSessionID PDUSessionID, + handoverRequiredTransfer OCTET STRING (CONTAINING HandoverRequiredTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceItemHORqd-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceItemHORqd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceModifyConfirmTransfer ::= SEQUENCE { + qosFlowModifyConfirmList QosFlowModifyConfirmList, + uLNGU-UP-TNLInformation UPTransportLayerInformation, + additionalNG-UUPTNLInformation UPTransportLayerInformationPairList OPTIONAL, + qosFlowFailedToModifyList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyConfirmTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyConfirmTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-AdditionalRedundantNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }, + ... +} + +PDUSessionResourceModifyIndicationUnsuccessfulTransfer ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyIndicationUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyIndicationUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceModifyRequestTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyRequestTransferIEs} }, + ... +} + +PDUSessionResourceModifyRequestTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-PDUSessionAggregateMaximumBitRate CRITICALITY reject TYPE PDUSessionAggregateMaximumBitRate PRESENCE optional }| + { ID id-UL-NGU-UP-TNLModifyList CRITICALITY reject TYPE UL-NGU-UP-TNLModifyList PRESENCE optional }| + { ID id-NetworkInstance CRITICALITY reject TYPE NetworkInstance PRESENCE optional }| + { ID id-QosFlowAddOrModifyRequestList CRITICALITY reject TYPE QosFlowAddOrModifyRequestList PRESENCE optional }| + { ID id-QosFlowToReleaseList CRITICALITY reject TYPE QosFlowListWithCause PRESENCE optional }| + { ID id-AdditionalUL-NGU-UP-TNLInformation CRITICALITY reject TYPE UPTransportLayerInformationList PRESENCE optional }| + { ID id-CommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }| + { ID id-AdditionalRedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformationList PRESENCE optional }| + { ID id-RedundantCommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }| + { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformation PRESENCE optional }| + { ID id-SecurityIndication CRITICALITY ignore TYPE SecurityIndication PRESENCE optional }| + { ID id-MBSSessionSetuporModifyRequestList CRITICALITY ignore TYPE MBSSessionSetuporModifyRequestList PRESENCE optional }| + { ID id-MBSSessionToReleaseList CRITICALITY ignore TYPE MBSSessionToReleaseList PRESENCE optional }, + ... +} + +PDUSessionResourceModifyResponseTransfer ::= SEQUENCE { + dL-NGU-UP-TNLInformation UPTransportLayerInformation OPTIONAL, + uL-NGU-UP-TNLInformation UPTransportLayerInformation OPTIONAL, + qosFlowAddOrModifyResponseList QosFlowAddOrModifyResponseList OPTIONAL, + additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL, + qosFlowFailedToAddOrModifyList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }| + { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }| + { ID id-AdditionalRedundantNGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformationPairList PRESENCE optional }| + { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }| + { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }| + { ID id-MBSSessionSetuporModifyResponseList CRITICALITY ignore EXTENSION MBSSessionSetupResponseList PRESENCE optional }| + { ID id-MBSSessionFailedtoSetuporModifyList CRITICALITY ignore EXTENSION MBSSessionFailedtoSetupList PRESENCE optional }, + ... +} + +PDUSessionResourceModifyIndicationTransfer ::= SEQUENCE { + dLQosFlowPerTNLInformation QosFlowPerTNLInformation, + additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyIndicationTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyIndicationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }| + { ID id-SecurityResult CRITICALITY ignore EXTENSION SecurityResult PRESENCE optional }| + { ID id-RedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformation PRESENCE optional }| + { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }| + { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }, + ... +} + +PDUSessionResourceModifyListModCfm ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModCfm + +PDUSessionResourceModifyItemModCfm ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceModifyConfirmTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyConfirmTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModCfm-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyItemModCfm-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceModifyListModInd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModInd + +PDUSessionResourceModifyItemModInd ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceModifyIndicationTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyIndicationTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModInd-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyItemModInd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceModifyListModReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModReq + +PDUSessionResourceModifyItemModReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + nAS-PDU NAS-PDU OPTIONAL, + pDUSessionResourceModifyRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyRequestTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyItemModReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-S-NSSAI CRITICALITY reject EXTENSION S-NSSAI PRESENCE optional }| + { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional }, + ... +} + +PDUSessionResourceModifyListModRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceModifyItemModRes + +PDUSessionResourceModifyItemModRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceModifyResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceModifyResponseTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyItemModRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyItemModRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceModifyUnsuccessfulTransfer ::= SEQUENCE { + cause Cause, + criticalityDiagnostics CriticalityDiagnostics OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceModifyUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceModifyUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceNotifyList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceNotifyItem + +PDUSessionResourceNotifyItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceNotifyTransfer OCTET STRING (CONTAINING PDUSessionResourceNotifyTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceNotifyItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceNotifyItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceNotifyReleasedTransfer ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceNotifyReleasedTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceNotifyReleasedTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }, + ... +} + +PDUSessionResourceNotifyTransfer ::= SEQUENCE { + qosFlowNotifyList QosFlowNotifyList OPTIONAL, + qosFlowReleasedList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceNotifyTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceNotifyTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }| + { ID id-QosFlowFeedbackList CRITICALITY ignore EXTENSION QosFlowFeedbackList PRESENCE optional }, + ... +} + +PDUSessionResourceReleaseCommandTransfer ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleaseCommandTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceReleaseCommandTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceReleasedListNot ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemNot + +PDUSessionResourceReleasedItemNot ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceNotifyReleasedTransfer OCTET STRING (CONTAINING PDUSessionResourceNotifyReleasedTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemNot-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceReleasedItemNot-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceReleasedListPSAck ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemPSAck + +PDUSessionResourceReleasedItemPSAck ::= SEQUENCE { + pDUSessionID PDUSessionID, + pathSwitchRequestUnsuccessfulTransfer OCTET STRING (CONTAINING PathSwitchRequestUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemPSAck-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceReleasedItemPSAck-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceReleasedListPSFail ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemPSFail + +PDUSessionResourceReleasedItemPSFail ::= SEQUENCE { + pDUSessionID PDUSessionID, + pathSwitchRequestUnsuccessfulTransfer OCTET STRING (CONTAINING PathSwitchRequestUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemPSFail-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceReleasedItemPSFail-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceReleasedListRelRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceReleasedItemRelRes + +PDUSessionResourceReleasedItemRelRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceReleaseResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceReleaseResponseTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleasedItemRelRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceReleasedItemRelRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceReleaseResponseTransfer ::= SEQUENCE { + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceReleaseResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceReleaseResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SecondaryRATUsageInformation CRITICALITY ignore EXTENSION SecondaryRATUsageInformation PRESENCE optional }, + ... +} + +PDUSessionResourceResumeListRESReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceResumeItemRESReq + +PDUSessionResourceResumeItemRESReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + uEContextResumeRequestTransfer OCTET STRING (CONTAINING UEContextResumeRequestTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceResumeItemRESReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceResumeItemRESReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceResumeListRESRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceResumeItemRESRes + +PDUSessionResourceResumeItemRESRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + uEContextResumeResponseTransfer OCTET STRING (CONTAINING UEContextResumeResponseTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceResumeItemRESRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceResumeItemRESRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceSecondaryRATUsageList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSecondaryRATUsageItem + +PDUSessionResourceSecondaryRATUsageItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + secondaryRATDataUsageReportTransfer OCTET STRING (CONTAINING SecondaryRATDataUsageReportTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSecondaryRATUsageItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSecondaryRATUsageItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceSetupListCxtReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemCxtReq + +PDUSessionResourceSetupItemCxtReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + nAS-PDU NAS-PDU OPTIONAL, + s-NSSAI S-NSSAI, + pDUSessionResourceSetupRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupRequestTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemCxtReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupItemCxtReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional }, + ... +} + +PDUSessionResourceSetupListCxtRes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemCxtRes + +PDUSessionResourceSetupItemCxtRes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceSetupResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupResponseTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemCxtRes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupItemCxtRes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceSetupListHOReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemHOReq + +PDUSessionResourceSetupItemHOReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + s-NSSAI S-NSSAI, + handoverRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupRequestTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemHOReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupItemHOReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional }, + ... +} + +PDUSessionResourceSetupListSUReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemSUReq + +PDUSessionResourceSetupItemSUReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionNAS-PDU NAS-PDU OPTIONAL, + s-NSSAI S-NSSAI, + pDUSessionResourceSetupRequestTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupRequestTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemSUReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupItemSUReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional }, + ... +} + +PDUSessionResourceSetupListSURes ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSetupItemSURes + +PDUSessionResourceSetupItemSURes ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceSetupResponseTransfer OCTET STRING (CONTAINING PDUSessionResourceSetupResponseTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupItemSURes-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupItemSURes-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceSetupRequestTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupRequestTransferIEs} }, + ... +} + +PDUSessionResourceSetupRequestTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-PDUSessionAggregateMaximumBitRate CRITICALITY reject TYPE PDUSessionAggregateMaximumBitRate PRESENCE optional }| + { ID id-UL-NGU-UP-TNLInformation CRITICALITY reject TYPE UPTransportLayerInformation PRESENCE mandatory }| + { ID id-AdditionalUL-NGU-UP-TNLInformation CRITICALITY reject TYPE UPTransportLayerInformationList PRESENCE optional }| + { ID id-DataForwardingNotPossible CRITICALITY reject TYPE DataForwardingNotPossible PRESENCE optional }| + { ID id-PDUSessionType CRITICALITY reject TYPE PDUSessionType PRESENCE mandatory }| + { ID id-SecurityIndication CRITICALITY reject TYPE SecurityIndication PRESENCE optional }| + { ID id-NetworkInstance CRITICALITY reject TYPE NetworkInstance PRESENCE optional }| + { ID id-QosFlowSetupRequestList CRITICALITY reject TYPE QosFlowSetupRequestList PRESENCE mandatory }| + { ID id-CommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }| + { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }| + { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformation PRESENCE optional }| + { ID id-AdditionalRedundantUL-NGU-UP-TNLInformation CRITICALITY ignore TYPE UPTransportLayerInformationList PRESENCE optional }| + { ID id-RedundantCommonNetworkInstance CRITICALITY ignore TYPE CommonNetworkInstance PRESENCE optional }| + { ID id-RedundantPDUSessionInformation CRITICALITY ignore TYPE RedundantPDUSessionInformation PRESENCE optional }| + { ID id-MBSSessionSetupRequestList CRITICALITY ignore TYPE MBSSessionSetupRequestList PRESENCE optional }, + ... +} + +PDUSessionResourceSetupResponseTransfer ::= SEQUENCE { + dLQosFlowPerTNLInformation QosFlowPerTNLInformation, + additionalDLQosFlowPerTNLInformation QosFlowPerTNLInformationList OPTIONAL, + securityResult SecurityResult OPTIONAL, + qosFlowFailedToSetupList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-RedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformation PRESENCE optional }| + { ID id-AdditionalRedundantDLQosFlowPerTNLInformation CRITICALITY ignore EXTENSION QosFlowPerTNLInformationList PRESENCE optional }| + { ID id-UsedRSNInformation CRITICALITY ignore EXTENSION RedundantPDUSessionInformation PRESENCE optional }| + { ID id-GlobalRANNodeID CRITICALITY ignore EXTENSION GlobalRANNodeID PRESENCE optional }| + { ID id-MBS-SupportIndicator CRITICALITY ignore EXTENSION MBS-SupportIndicator PRESENCE optional }| + { ID id-MBSSessionSetupResponseList CRITICALITY ignore EXTENSION MBSSessionSetupResponseList PRESENCE optional }| + { ID id-MBSSessionFailedtoSetupList CRITICALITY ignore EXTENSION MBSSessionFailedtoSetupList PRESENCE optional }, + ... +} + +PDUSessionResourceSetupUnsuccessfulTransfer ::= SEQUENCE { + cause Cause, + criticalityDiagnostics CriticalityDiagnostics OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSetupUnsuccessfulTransfer-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSetupUnsuccessfulTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceSuspendListSUSReq ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSuspendItemSUSReq + +PDUSessionResourceSuspendItemSUSReq ::= SEQUENCE { + pDUSessionID PDUSessionID, + uEContextSuspendRequestTransfer OCTET STRING (CONTAINING UEContextSuspendRequestTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceSuspendItemSUSReq-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSuspendItemSUSReq-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceSwitchedList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceSwitchedItem + +PDUSessionResourceSwitchedItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + pathSwitchRequestAcknowledgeTransfer OCTET STRING (CONTAINING PathSwitchRequestAcknowledgeTransfer), + iE-Extensions ProtocolExtensionContainer { { PDUSessionResourceSwitchedItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceSwitchedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PduSessionExpectedUEActivityBehaviour CRITICALITY ignore EXTENSION ExpectedUEActivityBehaviour PRESENCE optional }, + ... +} + +PDUSessionResourceToBeSwitchedDLList ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceToBeSwitchedDLItem + +PDUSessionResourceToBeSwitchedDLItem ::= SEQUENCE { + pDUSessionID PDUSessionID, + pathSwitchRequestTransfer OCTET STRING (CONTAINING PathSwitchRequestTransfer), + iE-Extensions ProtocolExtensionContainer { { PDUSessionResourceToBeSwitchedDLItem-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceToBeSwitchedDLItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceToReleaseListHOCmd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceToReleaseItemHOCmd + +PDUSessionResourceToReleaseItemHOCmd ::= SEQUENCE { + pDUSessionID PDUSessionID, + handoverPreparationUnsuccessfulTransfer OCTET STRING (CONTAINING HandoverPreparationUnsuccessfulTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceToReleaseItemHOCmd-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceToReleaseItemHOCmd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PDUSessionResourceToReleaseListRelCmd ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF PDUSessionResourceToReleaseItemRelCmd + +PDUSessionResourceToReleaseItemRelCmd ::= SEQUENCE { + pDUSessionID PDUSessionID, + pDUSessionResourceReleaseCommandTransfer OCTET STRING (CONTAINING PDUSessionResourceReleaseCommandTransfer), + iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceToReleaseItemRelCmd-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionResourceToReleaseItemRelCmd-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} +PDUSessionType ::= ENUMERATED { + ipv4, + ipv6, + ipv4v6, + ethernet, + unstructured, + ... +} + +PDUSessionUsageReport ::= SEQUENCE { + rATType ENUMERATED {nr, eutra, ..., nr-unlicensed, e-utra-unlicensed}, + pDUSessionTimedReportList VolumeTimedReportList, + iE-Extensions ProtocolExtensionContainer { {PDUSessionUsageReport-ExtIEs} } OPTIONAL, + ... +} + +PDUSessionUsageReport-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PEIPSassistanceInformation ::= SEQUENCE { + cNsubgroupID CNsubgroupID, + iE-Extensions ProtocolExtensionContainer { {PEIPSassistanceInformation-ExtIEs} } OPTIONAL, + ... +} + +PEIPSassistanceInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +Periodicity ::= INTEGER (0..640000, ...) + +PeriodicRegistrationUpdateTimer ::= BIT STRING (SIZE(8)) + +PLMNIdentity ::= OCTET STRING (SIZE(3)) + +PLMNAreaBasedQMC ::= SEQUENCE { + plmnListforQMC PLMNListforQMC, + iE-Extensions ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL, + ... +} + +PLMNAreaBasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMNIdentity + +PLMNSupportList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF PLMNSupportItem + +PLMNSupportItem ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + sliceSupportList SliceSupportList, + iE-Extensions ProtocolExtensionContainer { {PLMNSupportItem-ExtIEs} } OPTIONAL, + ... +} + +PLMNSupportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-NPN-Support CRITICALITY reject EXTENSION NPN-Support PRESENCE optional }| + { ID id-ExtendedSliceSupportList CRITICALITY reject EXTENSION ExtendedSliceSupportList PRESENCE optional }| + { ID id-OnboardingSupport CRITICALITY ignore EXTENSION OnboardingSupport PRESENCE optional }, + ... +} + +PNI-NPN-MobilityInformation ::= SEQUENCE { + allowed-PNI-NPI-List Allowed-PNI-NPN-List, + iE-Extensions ProtocolExtensionContainer { {PNI-NPN-MobilityInformation-ExtIEs} } OPTIONAL, + ... +} + +PNI-NPN-MobilityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +PortNumber ::= OCTET STRING (SIZE(2)) + +Pre-emptionCapability ::= ENUMERATED { + shall-not-trigger-pre-emption, + may-trigger-pre-emption, + ... +} + +Pre-emptionVulnerability ::= ENUMERATED { + not-pre-emptable, + pre-emptable, + ... +} + +PriorityLevelARP ::= INTEGER (1..15) + +PriorityLevelQos ::= INTEGER (1..127, ...) + +PWSFailedCellIDList ::= CHOICE { + eUTRA-CGI-PWSFailedList EUTRA-CGIList, + nR-CGI-PWSFailedList NR-CGIList, + choice-Extensions ProtocolIE-SingleContainer { {PWSFailedCellIDList-ExtIEs} } +} + +PWSFailedCellIDList-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +-- Q + +QMCConfigInfo ::= SEQUENCE { + uEAppLayerMeasInfoList UEAppLayerMeasInfoList, + iE-Extensions ProtocolExtensionContainer { { QMCConfigInfo-ExtIEs} } OPTIONAL, + ... +} + +QMCConfigInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QMCDeactivation ::= SEQUENCE { + qoEReferenceList QoEReferenceList, + iE-Extensions ProtocolExtensionContainer { { QMCDeactivation-ExtIEs} } OPTIONAL, + ... +} + +QMCDeactivation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QoEReferenceList ::= SEQUENCE (SIZE(1..maxnoofUEAppLayerMeas)) OF QoEReference + +QoEReference ::= OCTET STRING (SIZE(6)) + +QosCharacteristics ::= CHOICE { + nonDynamic5QI NonDynamic5QIDescriptor, + dynamic5QI Dynamic5QIDescriptor, + choice-Extensions ProtocolIE-SingleContainer { {QosCharacteristics-ExtIEs} } +} + +QosCharacteristics-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +QosFlowAcceptedList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowAcceptedItem + +QosFlowAcceptedItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { {QosFlowAcceptedItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowAcceptedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional }, + ... +} + +QosFlowAddOrModifyRequestList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowAddOrModifyRequestItem + +QosFlowAddOrModifyRequestItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + qosFlowLevelQosParameters QosFlowLevelQosParameters OPTIONAL, + e-RAB-ID E-RAB-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowAddOrModifyRequestItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowAddOrModifyRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional }| + {ID id-RedundantQosFlowIndicator CRITICALITY ignore EXTENSION RedundantQosFlowIndicator PRESENCE optional }, + ... +} + +QosFlowAddOrModifyResponseList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowAddOrModifyResponseItem + +QosFlowAddOrModifyResponseItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { {QosFlowAddOrModifyResponseItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowAddOrModifyResponseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional }, + ... +} + +QosFlowFeedbackList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowFeedbackItem + +QosFlowFeedbackItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + updateFeedback UpdateFeedback OPTIONAL, + cNpacketDelayBudgetDL ExtendedPacketDelayBudget OPTIONAL, + cNpacketDelayBudgetUL ExtendedPacketDelayBudget OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowFeedbackItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowFeedbackItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QosFlowIdentifier ::= INTEGER (0..63, ...) + +QosFlowInformationList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowInformationItem + +QosFlowInformationItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + dLForwarding DLForwarding OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowInformationItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-ULForwarding CRITICALITY ignore EXTENSION ULForwarding PRESENCE optional}| + {ID id-SourceTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| + {ID id-SourceNodeTNLAddrInfo CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}, + ... +} + +QosFlowLevelQosParameters ::= SEQUENCE { + qosCharacteristics QosCharacteristics, + allocationAndRetentionPriority AllocationAndRetentionPriority, + gBR-QosInformation GBR-QosInformation OPTIONAL, + reflectiveQosAttribute ReflectiveQosAttribute OPTIONAL, + additionalQosFlowInformation AdditionalQosFlowInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowLevelQosParameters-ExtIEs} } OPTIONAL, + ... +} + +QosFlowLevelQosParameters-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-QosMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}| + {ID id-QosMonitoringReportingFrequency CRITICALITY ignore EXTENSION QosMonitoringReportingFrequency PRESENCE optional}, + ... +} + + +QosMonitoringRequest ::= ENUMERATED {ul, dl, both, ..., stop} + +QosMonitoringReportingFrequency ::= INTEGER (1..1800, ...) + +QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowIdentifier + +QosFlowListWithCause ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowWithCauseItem + +QosFlowWithCauseItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {QosFlowWithCauseItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowWithCauseItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QosFlowModifyConfirmList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowModifyConfirmItem + +QosFlowModifyConfirmItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { {QosFlowModifyConfirmItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowModifyConfirmItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QosFlowNotifyList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowNotifyItem + +QosFlowNotifyItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + notificationCause NotificationCause, + iE-Extensions ProtocolExtensionContainer { {QosFlowNotifyItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowNotifyItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetNotifyIndex PRESENCE optional }, + ... +} +QosFlowParametersList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowParametersItem + +QosFlowParametersItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + alternativeQoSParaSetList AlternativeQoSParaSetList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowParametersItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowParametersItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CNPacketDelayBudgetDL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-CNPacketDelayBudgetUL CRITICALITY ignore EXTENSION ExtendedPacketDelayBudget PRESENCE optional }| + { ID id-BurstArrivalTimeDownlink CRITICALITY ignore EXTENSION BurstArrivalTime PRESENCE optional }, + ... +} + +QosFlowPerTNLInformation ::= SEQUENCE { + uPTransportLayerInformation UPTransportLayerInformation, + associatedQosFlowList AssociatedQosFlowList, + iE-Extensions ProtocolExtensionContainer { { QosFlowPerTNLInformation-ExtIEs} } OPTIONAL, + ... +} + +QosFlowPerTNLInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QosFlowPerTNLInformationList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF QosFlowPerTNLInformationItem + +QosFlowPerTNLInformationItem ::= SEQUENCE { + qosFlowPerTNLInformation QosFlowPerTNLInformation, + iE-Extensions ProtocolExtensionContainer { { QosFlowPerTNLInformationItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowPerTNLInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QosFlowSetupRequestList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowSetupRequestItem + +QosFlowSetupRequestItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + qosFlowLevelQosParameters QosFlowLevelQosParameters, + e-RAB-ID E-RAB-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowSetupRequestItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowSetupRequestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-TSCTrafficCharacteristics CRITICALITY ignore EXTENSION TSCTrafficCharacteristics PRESENCE optional }| + {ID id-RedundantQosFlowIndicator CRITICALITY ignore EXTENSION RedundantQosFlowIndicator PRESENCE optional }, + ... +} + +QosFlowListWithDataForwarding ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowItemWithDataForwarding + +QosFlowItemWithDataForwarding ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + dataForwardingAccepted DataForwardingAccepted OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {QosFlowItemWithDataForwarding-ExtIEs} } OPTIONAL, + ... +} + +QosFlowItemWithDataForwarding-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CurrentQoSParaSetIndex CRITICALITY ignore EXTENSION AlternativeQoSParaSetIndex PRESENCE optional }, + ... +} + +QosFlowToBeForwardedList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QosFlowToBeForwardedItem + +QosFlowToBeForwardedItem ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + iE-Extensions ProtocolExtensionContainer { {QosFlowToBeForwardedItem-ExtIEs} } OPTIONAL, + ... +} + +QosFlowToBeForwardedItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +QoSFlowsUsageReportList ::= SEQUENCE (SIZE(1..maxnoofQosFlows)) OF QoSFlowsUsageReport-Item + +QoSFlowsUsageReport-Item ::= SEQUENCE { + qosFlowIdentifier QosFlowIdentifier, + rATType ENUMERATED {nr, eutra, ..., nr-unlicensed, e-utra-unlicensed}, + qoSFlowsTimedReportList VolumeTimedReportList, + iE-Extensions ProtocolExtensionContainer { {QoSFlowsUsageReport-Item-ExtIEs} } OPTIONAL, + ... +} + +QoSFlowsUsageReport-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- R + +Range ::= ENUMERATED {m50, m80, m180, m200, m350, m400, m500, m700, m1000, ...} + +RANNodeName ::= PrintableString (SIZE(1..150, ...)) + +RANNodeNameVisibleString ::= VisibleString (SIZE(1..150, ...)) + +RANNodeNameUTF8String ::= UTF8String (SIZE(1..150, ...)) + +RANPagingPriority ::= INTEGER (1..256) + +RANStatusTransfer-TransparentContainer ::= SEQUENCE { + dRBsSubjectToStatusTransferList DRBsSubjectToStatusTransferList, + iE-Extensions ProtocolExtensionContainer { {RANStatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +RANStatusTransfer-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAN-UE-NGAP-ID ::= INTEGER (0..4294967295) + +RAT-Information ::= ENUMERATED { + unlicensed, + nb-IoT, + ..., + nR-LEO, + nR-MEO, + nR-GEO, + nR-OTHERSAT +} + +RATRestrictions ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF RATRestrictions-Item + +RATRestrictions-Item ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + rATRestrictionInformation RATRestrictionInformation, + iE-Extensions ProtocolExtensionContainer { {RATRestrictions-Item-ExtIEs} } OPTIONAL, + ... +} + +RATRestrictions-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-ExtendedRATRestrictionInformation CRITICALITY ignore EXTENSION ExtendedRATRestrictionInformation PRESENCE optional }, + ... +} + +RATRestrictionInformation ::= BIT STRING (SIZE(8, ...)) + +RecommendedCellsForPaging ::= SEQUENCE { + recommendedCellList RecommendedCellList, + iE-Extensions ProtocolExtensionContainer { {RecommendedCellsForPaging-ExtIEs} } OPTIONAL, + ... +} + +RecommendedCellsForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +RecommendedCellList ::= SEQUENCE (SIZE(1..maxnoofRecommendedCells)) OF RecommendedCellItem + +RecommendedCellItem ::= SEQUENCE { + nGRAN-CGI NGRAN-CGI, + timeStayedInCell INTEGER (0..4095) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RecommendedCellItem-ExtIEs} } OPTIONAL, + ... +} + +RecommendedCellItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +RecommendedRANNodesForPaging ::= SEQUENCE { + recommendedRANNodeList RecommendedRANNodeList, + iE-Extensions ProtocolExtensionContainer { {RecommendedRANNodesForPaging-ExtIEs} } OPTIONAL, + ... +} + +RecommendedRANNodesForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +RecommendedRANNodeList::= SEQUENCE (SIZE(1..maxnoofRecommendedRANNodes)) OF RecommendedRANNodeItem + +RecommendedRANNodeItem ::= SEQUENCE { + aMFPagingTarget AMFPagingTarget, + iE-Extensions ProtocolExtensionContainer { {RecommendedRANNodeItem-ExtIEs} } OPTIONAL, + ... +} + +RecommendedRANNodeItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +RedCapIndication ::= ENUMERATED { + redcap, + ... +} + +RedirectionVoiceFallback ::= ENUMERATED { + possible, + not-possible, + ... +} + +RedundantPDUSessionInformation ::= SEQUENCE { + rSN RSN, + iE-Extensions ProtocolExtensionContainer { {RedundantPDUSessionInformation-ExtIEs} } OPTIONAL, + ... +} + +RedundantPDUSessionInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PDUSessionPairID CRITICALITY ignore EXTENSION PDUSessionPairID PRESENCE optional }, + ... +} + +RedundantQosFlowIndicator ::= ENUMERATED {true, false} + +ReflectiveQosAttribute ::= ENUMERATED { + subject-to, + ... +} + +RelativeAMFCapacity ::= INTEGER (0..255) + +ReportArea ::= ENUMERATED { + cell, + ... +} + +RepetitionPeriod ::= INTEGER (0..131071) + +ResetAll ::= ENUMERATED { + reset-all, + ... +} + +ReportAmountMDT ::= ENUMERATED { + r1, r2, r4, r8, r16, r32, r64, rinfinity +} + +ReportIntervalMDT ::= ENUMERATED { + ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60 +} + +ExtendedReportIntervalMDT ::= ENUMERATED { + ms20480, ms40960, ... +} + +ResetType ::= CHOICE { + nG-Interface ResetAll, + partOfNG-Interface UE-associatedLogicalNG-connectionList, + choice-Extensions ProtocolIE-SingleContainer { {ResetType-ExtIEs} } +} + +ResetType-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +RGLevelWirelineAccessCharacteristics ::= OCTET STRING + +RNC-ID ::= INTEGER (0..4095) + +RoutingID ::= OCTET STRING + +RRCContainer ::= OCTET STRING + +RRCEstablishmentCause ::= ENUMERATED { + emergency, + highPriorityAccess, + mt-Access, + mo-Signalling, + mo-Data, + mo-VoiceCall, + mo-VideoCall, + mo-SMS, + mps-PriorityAccess, + mcs-PriorityAccess, + ..., + notAvailable, + mo-ExceptionData +} + +RRCInactiveTransitionReportRequest ::= ENUMERATED { + subsequent-state-transition-report, + single-rrc-connected-state-report, + cancel-report, + ... +} + +RRCState ::= ENUMERATED { + inactive, + connected, + ... +} + +RSN ::= ENUMERATED {v1, v2, ...} + +RIMInformationTransfer ::= SEQUENCE { + targetRANNodeID-RIM TargetRANNodeID-RIM, + sourceRANNodeID SourceRANNodeID, + rIMInformation RIMInformation, + iE-Extensions ProtocolExtensionContainer { {RIMInformationTransfer-ExtIEs} } OPTIONAL, + ... +} + +RIMInformationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +RIMInformation ::= SEQUENCE { + targetgNBSetID GNBSetID, + rIM-RSDetection ENUMERATED {rs-detected, rs-disappeared, ...}, + iE-Extensions ProtocolExtensionContainer { {RIMInformation-ExtIEs} } OPTIONAL, + ... +} + +RIMInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +GNBSetID ::= BIT STRING (SIZE(22)) + +-- S + +ScheduledCommunicationTime ::= SEQUENCE { + dayofWeek BIT STRING (SIZE(7)) OPTIONAL, + timeofDayStart INTEGER (0..86399, ...) OPTIONAL, + timeofDayEnd INTEGER (0..86399, ...) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}} OPTIONAL, + ... +} + +ScheduledCommunicationTime-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SCTP-TLAs ::= SEQUENCE (SIZE(1..maxnoofXnTLAs)) OF TransportLayerAddress + +SD ::= OCTET STRING (SIZE(3)) + +SecondaryRATUsageInformation ::= SEQUENCE { + pDUSessionUsageReport PDUSessionUsageReport OPTIONAL, + qosFlowsUsageReportList QoSFlowsUsageReportList OPTIONAL, + iE-Extension ProtocolExtensionContainer { {SecondaryRATUsageInformation-ExtIEs} } OPTIONAL, + ... +} + +SecondaryRATUsageInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SecondaryRATDataUsageReportTransfer ::= SEQUENCE { + secondaryRATUsageInformation SecondaryRATUsageInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SecondaryRATDataUsageReportTransfer-ExtIEs} } OPTIONAL, + ... +} + +SecondaryRATDataUsageReportTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SecurityContext ::= SEQUENCE { + nextHopChainingCount NextHopChainingCount, + nextHopNH SecurityKey, + iE-Extensions ProtocolExtensionContainer { {SecurityContext-ExtIEs} } OPTIONAL, + ... +} + +SecurityContext-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SecurityIndication ::= SEQUENCE { + integrityProtectionIndication IntegrityProtectionIndication, + confidentialityProtectionIndication ConfidentialityProtectionIndication, + maximumIntegrityProtectedDataRate-UL MaximumIntegrityProtectedDataRate OPTIONAL, +-- The above IE shall be present if integrity protection is required or preferred + iE-Extensions ProtocolExtensionContainer { {SecurityIndication-ExtIEs} } OPTIONAL, + ... +} + +SecurityIndication-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-MaximumIntegrityProtectedDataRate-DL CRITICALITY ignore EXTENSION MaximumIntegrityProtectedDataRate PRESENCE optional }, + ... +} + +SecurityKey ::= BIT STRING (SIZE(256)) + +SecurityResult ::= SEQUENCE { + integrityProtectionResult IntegrityProtectionResult, + confidentialityProtectionResult ConfidentialityProtectionResult, + iE-Extensions ProtocolExtensionContainer { {SecurityResult-ExtIEs} } OPTIONAL, + ... +} + +SecurityResult-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SensorMeasurementConfiguration ::= SEQUENCE { + sensorMeasConfig SensorMeasConfig, + sensorMeasConfigNameList SensorMeasConfigNameList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SensorMeasurementConfiguration-ExtIEs} } OPTIONAL, + ... +} + +SensorMeasurementConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SensorMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofSensorName)) OF SensorMeasConfigNameItem + +SensorMeasConfigNameItem ::= SEQUENCE { + sensorNameConfig SensorNameConfig, + iE-Extensions ProtocolExtensionContainer { { SensorMeasConfigNameItem-ExtIEs } } OPTIONAL, + ... +} + +SensorMeasConfigNameItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SensorMeasConfig::= ENUMERATED {setup,...} + +SensorNameConfig ::= CHOICE { + uncompensatedBarometricConfig ENUMERATED {true, ...}, + ueSpeedConfig ENUMERATED {true, ...}, + ueOrientationConfig ENUMERATED {true, ...}, + choice-Extensions ProtocolIE-SingleContainer { {SensorNameConfig-ExtIEs} } +} + +SensorNameConfig-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +SerialNumber ::= BIT STRING (SIZE(16)) + +ServedGUAMIList ::= SEQUENCE (SIZE(1..maxnoofServedGUAMIs)) OF ServedGUAMIItem + +ServedGUAMIItem ::= SEQUENCE { + gUAMI GUAMI, + backupAMFName AMFName OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {ServedGUAMIItem-ExtIEs} } OPTIONAL, + ... +} + +ServedGUAMIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-GUAMIType CRITICALITY ignore EXTENSION GUAMIType PRESENCE optional }, + ... +} + +ServiceAreaInformation ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ServiceAreaInformation-Item + +ServiceAreaInformation-Item ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + allowedTACs AllowedTACs OPTIONAL, + notAllowedTACs NotAllowedTACs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {ServiceAreaInformation-Item-ExtIEs} } OPTIONAL, + ... +} + +ServiceAreaInformation-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ServiceType ::= ENUMERATED {streaming, mTSI, vR, ...} + +SgNB-UE-X2AP-ID ::= INTEGER (0..4294967295) + +SharedNGU-MulticastTNLInformation ::= SEQUENCE { + iP-MulticastAddress TransportLayerAddress, + iP-SourceAddress TransportLayerAddress, + gTP-TEID GTP-TEID, + iE-Extensions ProtocolExtensionContainer { {SharedNGU-MulticastTNLInformation-ExtIEs} } OPTIONAL, + ... +} + +SharedNGU-MulticastTNLInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SliceOverloadList ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SliceOverloadItem + +SliceOverloadItem ::= SEQUENCE { + s-NSSAI S-NSSAI, + iE-Extensions ProtocolExtensionContainer { {SliceOverloadItem-ExtIEs} } OPTIONAL, + ... +} + +SliceOverloadItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SliceSupportList ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SliceSupportItem + +SliceSupportItem ::= SEQUENCE { + s-NSSAI S-NSSAI, + iE-Extensions ProtocolExtensionContainer { {SliceSupportItem-ExtIEs} } OPTIONAL, + ... +} + +SliceSupportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SliceSupportListQMC ::= SEQUENCE (SIZE(1..maxnoofSNSSAIforQMC)) OF SliceSupportQMC-Item + +SliceSupportQMC-Item ::= SEQUENCE { + s-NSSAI S-NSSAI, + iE-Extensions ProtocolExtensionContainer { {SliceSupportQMC-Item-ExtIEs} } OPTIONAL, + ... +} + +SliceSupportQMC-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SNPN-MobilityInformation ::= SEQUENCE { + serving-NID NID, + iE-Extensions ProtocolExtensionContainer { {SNPN-MobilityInformation-ExtIEs} } OPTIONAL, + ... +} + +SNPN-MobilityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +S-NSSAI ::= SEQUENCE { + sST SST, + sD SD OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { S-NSSAI-ExtIEs} } OPTIONAL, + ... +} + +S-NSSAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SONConfigurationTransfer ::= SEQUENCE { + targetRANNodeID-SON TargetRANNodeID-SON, + sourceRANNodeID SourceRANNodeID, + sONInformation SONInformation, + xnTNLConfigurationInfo XnTNLConfigurationInfo OPTIONAL, +-- The above IE shall be present if the SON Information IE contains the SON Information Request IE set to “Xn TNL Configuration Info” + iE-Extensions ProtocolExtensionContainer { {SONConfigurationTransfer-ExtIEs} } OPTIONAL, + ... +} + +SONConfigurationTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SONInformation ::= CHOICE { + sONInformationRequest SONInformationRequest, + sONInformationReply SONInformationReply, + choice-Extensions ProtocolIE-SingleContainer { {SONInformation-ExtIEs} } +} + +SONInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-SONInformationReport CRITICALITY ignore TYPE SONInformationReport PRESENCE mandatory }, + ... +} + +SONInformationReply ::= SEQUENCE { + xnTNLConfigurationInfo XnTNLConfigurationInfo OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SONInformationReply-ExtIEs} } OPTIONAL, + ... +} + +SONInformationReply-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SONInformationReport::= CHOICE { + failureIndicationInformation FailureIndication, + hOReportInformation HOReport, + choice-Extensions ProtocolIE-SingleContainer { { SONInformationReport-ExtIEs} } +} + +SONInformationReport-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-SuccessfulHandoverReportList CRITICALITY ignore TYPE SuccessfulHandoverReportList PRESENCE mandatory }, + ... +} + +-- -------------------------------------------------------------------- +-- SON Information Report +-- -------------------------------------------------------------------- + +SuccessfulHandoverReportList ::= SEQUENCE (SIZE(1..maxnoofSuccessfulHOReports)) OF SuccessfulHandoverReport-Item + +SuccessfulHandoverReport-Item ::= SEQUENCE { + successfulHOReportContainer OCTET STRING, + iE-Extensions ProtocolExtensionContainer { { SuccessfulHandoverReport-Item-ExtIEs} } OPTIONAL, + ... +} + +SuccessfulHandoverReport-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SONInformationRequest ::= ENUMERATED { + xn-TNL-configuration-info, + ... +} + +SourceNGRANNode-ToTargetNGRANNode-TransparentContainer ::= SEQUENCE { + rRCContainer RRCContainer, + pDUSessionResourceInformationList PDUSessionResourceInformationList OPTIONAL, + e-RABInformationList E-RABInformationList OPTIONAL, + targetCell-ID NGRAN-CGI, + indexToRFSP IndexToRFSP OPTIONAL, + uEHistoryInformation UEHistoryInformation, + iE-Extensions ProtocolExtensionContainer { {SourceNGRANNode-ToTargetNGRANNode-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +SourceNGRANNode-ToTargetNGRANNode-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore EXTENSION SgNB-UE-X2AP-ID PRESENCE optional }| + { ID id-UEHistoryInformationFromTheUE CRITICALITY ignore EXTENSION UEHistoryInformationFromTheUE PRESENCE optional }| + { ID id-SourceNodeID CRITICALITY ignore EXTENSION SourceNodeID PRESENCE optional }| + { ID id-UEContextReferenceAtSource CRITICALITY ignore EXTENSION RAN-UE-NGAP-ID PRESENCE optional }| + { ID id-MBS-ActiveSessionInformation-SourcetoTargetList CRITICALITY ignore EXTENSION MBS-ActiveSessionInformation-SourcetoTargetList PRESENCE optional }| + { ID id-QMCConfigInfo CRITICALITY ignore EXTENSION QMCConfigInfo PRESENCE optional }| + { ID id-NGAPIESupportInformationRequestList CRITICALITY ignore EXTENSION NGAPIESupportInformationRequestList PRESENCE optional }, + ... +} + +SourceNodeID ::= CHOICE { + sourceengNB-ID GlobalGNB-ID, + choice-Extensions ProtocolIE-SingleContainer { { SourceNodeID-ExtIEs} } +} + +SourceNodeID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +SourceOfUEActivityBehaviourInformation ::= ENUMERATED { + subscription-information, + statistics, + ... +} + +SourceRANNodeID ::= SEQUENCE { + globalRANNodeID GlobalRANNodeID, + selectedTAI TAI, + iE-Extensions ProtocolExtensionContainer { {SourceRANNodeID-ExtIEs} } OPTIONAL, + ... +} + +SourceRANNodeID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +SourceToTarget-TransparentContainer ::= OCTET STRING +-- This IE includes a transparent container from the source RAN node to the target RAN node. +-- The octets of the OCTET STRING are encoded according to the specifications of the target system. + +SourceToTarget-AMFInformationReroute ::= SEQUENCE { + configuredNSSAI ConfiguredNSSAI OPTIONAL, + rejectedNSSAIinPLMN RejectedNSSAIinPLMN OPTIONAL, + rejectedNSSAIinTA RejectedNSSAIinTA OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SourceToTarget-AMFInformationReroute-ExtIEs} } OPTIONAL, + ... +} + +SourceToTarget-AMFInformationReroute-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- This IE includes information from the source Core node to the target Core node for reroute information provide by NSSF. +-- The octets of the OCTET STRING are encoded according to the specifications of the Core network. + +SRVCCOperationPossible ::= ENUMERATED { + possible, + notPossible, + ... +} + +ConfiguredNSSAI ::= OCTET STRING (SIZE(128)) + +RejectedNSSAIinPLMN ::= OCTET STRING (SIZE(32)) + +RejectedNSSAIinTA ::= OCTET STRING (SIZE(32)) + +SST ::= OCTET STRING (SIZE(1)) + +SupportedTAList ::= SEQUENCE (SIZE(1..maxnoofTACs)) OF SupportedTAItem + +SupportedTAItem ::= SEQUENCE { + tAC TAC, + broadcastPLMNList BroadcastPLMNList, + iE-Extensions ProtocolExtensionContainer { {SupportedTAItem-ExtIEs} } OPTIONAL, + ... +} + +SupportedTAItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-ConfiguredTACIndication CRITICALITY ignore EXTENSION ConfiguredTACIndication PRESENCE optional }| + {ID id-RAT-Information CRITICALITY reject EXTENSION RAT-Information PRESENCE optional }, + ... +} + +SuspendIndicator ::= ENUMERATED { + true, + ... +} + +Suspend-Request-Indication ::= ENUMERATED { + suspend-requested, + ... +} + +Suspend-Response-Indication ::= ENUMERATED { + suspend-indicated, + ... +} + +SurvivalTime ::= INTEGER (0..1920000, ...) + + +-- T + +TAC ::= OCTET STRING (SIZE(3)) + +TACListInNRNTN ::= SEQUENCE (SIZE(1..maxnoofTACsinNTN)) OF TAC + +TAI ::= SEQUENCE { + pLMNIdentity PLMNIdentity, + tAC TAC, + iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL, + ... +} + +TAI-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIBroadcastEUTRA ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAIBroadcastEUTRA-Item + +TAIBroadcastEUTRA-Item ::= SEQUENCE { + tAI TAI, + completedCellsInTAI-EUTRA CompletedCellsInTAI-EUTRA, + iE-Extensions ProtocolExtensionContainer { {TAIBroadcastEUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +TAIBroadcastEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIBroadcastNR ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAIBroadcastNR-Item + +TAIBroadcastNR-Item ::= SEQUENCE { + tAI TAI, + completedCellsInTAI-NR CompletedCellsInTAI-NR, + iE-Extensions ProtocolExtensionContainer { {TAIBroadcastNR-Item-ExtIEs} } OPTIONAL, + ... +} + +TAIBroadcastNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAICancelledEUTRA ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAICancelledEUTRA-Item + +TAICancelledEUTRA-Item ::= SEQUENCE { + tAI TAI, + cancelledCellsInTAI-EUTRA CancelledCellsInTAI-EUTRA, + iE-Extensions ProtocolExtensionContainer { {TAICancelledEUTRA-Item-ExtIEs} } OPTIONAL, + ... +} + +TAICancelledEUTRA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAICancelledNR ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAICancelledNR-Item + +TAICancelledNR-Item ::= SEQUENCE { + tAI TAI, + cancelledCellsInTAI-NR CancelledCellsInTAI-NR, + iE-Extensions ProtocolExtensionContainer { {TAICancelledNR-Item-ExtIEs} } OPTIONAL, + ... +} + +TAICancelledNR-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIListForInactive ::= SEQUENCE (SIZE(1..maxnoofTAIforInactive)) OF TAIListForInactiveItem + +TAIListForInactiveItem ::= SEQUENCE { + tAI TAI, + iE-Extensions ProtocolExtensionContainer { {TAIListForInactiveItem-ExtIEs} } OPTIONAL, + ... +} + +TAIListForInactiveItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIListForPaging ::= SEQUENCE (SIZE(1..maxnoofTAIforPaging)) OF TAIListForPagingItem + +TAIListForPagingItem ::= SEQUENCE { + tAI TAI, + iE-Extensions ProtocolExtensionContainer { {TAIListForPagingItem-ExtIEs} } OPTIONAL, + ... +} + +TAIListForPagingItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIListForRestart ::= SEQUENCE (SIZE(1..maxnoofTAIforRestart)) OF TAI + +TAIListForWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI + +TAINSAGSupportList ::= SEQUENCE (SIZE(1..maxnoofNSAGs)) OF TAINSAGSupportItem + +TAINSAGSupportItem ::= SEQUENCE { + nSAG-ID NSAG-ID, + nSAGSliceSupportList ExtendedSliceSupportList, + iE-Extensions ProtocolExtensionContainer { {TAINSAGSupportItem-ExtIEs} } OPTIONAL, + ... +} + +TAINSAGSupportItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargeteNB-ID ::= SEQUENCE { + globalENB-ID GlobalNgENB-ID, + selected-EPS-TAI EPS-TAI, + iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL, + ... +} + +TargeteNB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetHomeENB-ID ::= SEQUENCE { + pLMNidentity PLMNIdentity, + homeENB-ID BIT STRING (SIZE(28)), + selected-EPS-TAI EPS-TAI, + iE-Extensions ProtocolExtensionContainer { {TargetHomeENB-ID-ExtIEs} } OPTIONAL, + ... +} + +TargetHomeENB-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetID ::= CHOICE { + targetRANNodeID TargetRANNodeID, + targeteNB-ID TargeteNB-ID, + choice-Extensions ProtocolIE-SingleContainer { {TargetID-ExtIEs} } +} + +TargetID-ExtIEs NGAP-PROTOCOL-IES ::= { + {ID id-TargetRNC-ID CRITICALITY reject TYPE TargetRNC-ID PRESENCE mandatory }| + {ID id-TargetHomeENB-ID CRITICALITY reject TYPE TargetHomeENB-ID PRESENCE mandatory }, + ... +} + +TargetNGRANNode-ToSourceNGRANNode-TransparentContainer ::= SEQUENCE { + rRCContainer RRCContainer, + iE-Extensions ProtocolExtensionContainer { {TargetNGRANNode-ToSourceNGRANNode-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +TargetNGRANNode-ToSourceNGRANNode-TransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-DAPSResponseInfoList CRITICALITY ignore EXTENSION DAPSResponseInfoList PRESENCE optional }| + { ID id-DirectForwardingPathAvailability CRITICALITY ignore EXTENSION DirectForwardingPathAvailability PRESENCE optional }| + { ID id-MBS-ActiveSessionInformation-TargettoSourceList CRITICALITY ignore EXTENSION MBS-ActiveSessionInformation-TargettoSourceList PRESENCE optional }| + { ID id-NGAPIESupportInformationResponseList CRITICALITY ignore EXTENSION NGAPIESupportInformationResponseList PRESENCE optional }, + ... +} + +TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer ::= SEQUENCE { + cell-CAGInformation Cell-CAGInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-NGAPIESupportInformationResponseList CRITICALITY ignore EXTENSION NGAPIESupportInformationResponseList PRESENCE optional }, + ... +} + +TargetNSSAI ::= SEQUENCE (SIZE(1..maxnoofTargetS-NSSAIs)) OF TargetNSSAI-Item + +TargetNSSAI-Item ::= SEQUENCE { + s-NSSAI S-NSSAI, + iE-Extensions ProtocolExtensionContainer { {TargetNSSAI-Item-ExtIEs} } OPTIONAL, + ... +} + +TargetNSSAI-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetNSSAIInformation ::= SEQUENCE { + targetNSSAI TargetNSSAI, + indexToRFSP IndexToRFSP, + iE-Extensions ProtocolExtensionContainer { {TargetNSSAIInformation-Item-ExtIEs} } OPTIONAL, + ... +} + +TargetNSSAIInformation-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetRANNodeID ::= SEQUENCE { + globalRANNodeID GlobalRANNodeID, + selectedTAI TAI, + iE-Extensions ProtocolExtensionContainer { {TargetRANNodeID-ExtIEs} } OPTIONAL, + ... +} + +TargetRANNodeID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetRANNodeID-RIM ::= SEQUENCE { + globalRANNodeID GlobalRANNodeID, + selectedTAI TAI, + iE-Extensions ProtocolExtensionContainer { {TargetRANNodeID-RIM-ExtIEs} } OPTIONAL, + ... +} + +TargetRANNodeID-RIM-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetRANNodeID-SON ::= SEQUENCE { + globalRANNodeID GlobalRANNodeID, + selectedTAI TAI, + iE-Extensions ProtocolExtensionContainer { {TargetRANNodeID-SON-ExtIEs} } OPTIONAL, + ... +} + +TargetRANNodeID-SON-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + {ID id-NR-CGI CRITICALITY ignore EXTENSION NR-CGI PRESENCE optional }, + ... +} + +TargetRNC-ID ::= SEQUENCE { + lAI LAI, + rNC-ID RNC-ID, + extendedRNC-ID ExtendedRNC-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL, + ... +} + +TargetRNC-ID-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TargetToSource-TransparentContainer ::= OCTET STRING +-- This IE includes a transparent container from the target RAN node to the source RAN node. +-- The octets of the OCTET STRING are encoded according to the specifications of the target system. + +TargettoSource-Failure-TransparentContainer ::= OCTET STRING +-- This IE includes a transparent container from the target RAN node to the source RAN node. +-- The octets of the OCTET STRING are encoded according to the specifications of the target system (if applicable). + +TimerApproachForGUAMIRemoval ::= ENUMERATED { + apply-timer, + ... +} + +TimeStamp ::= OCTET STRING (SIZE(4)) + +TimeSyncAssistanceInfo ::= SEQUENCE { + timeDistributionIndication ENUMERATED {enabled, disabled, ...}, + uUTimeSyncErrorBudget INTEGER (1..1000000, ...) OPTIONAL, + -- The above IE shall be present if the Time Distribution Indication IE is set to the value “enabled” + iE-Extensions ProtocolExtensionContainer { {TimeSyncAssistanceInfo-ExtIEs} } OPTIONAL, + ... +} + +TimeSyncAssistanceInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} + +TimeUEStayedInCell ::= INTEGER (0..4095) + +TimeUEStayedInCellEnhancedGranularity ::= INTEGER (0..40950) + +TMGI ::= OCTET STRING (SIZE(6)) + +TNAP-ID ::= OCTET STRING + +TNGF-ID ::= CHOICE { + tNGF-ID BIT STRING (SIZE(32, ...)), + choice-Extensions ProtocolIE-SingleContainer { {TNGF-ID-ExtIEs} } +} + +TNGF-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +TNLAddressWeightFactor ::= INTEGER (0..255) + +TNLAssociationList ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLAssociationItem + +TNLAssociationItem ::= SEQUENCE { + tNLAssociationAddress CPTransportLayerInformation, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {TNLAssociationItem-ExtIEs} } OPTIONAL, + ... +} + +TNLAssociationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLAssociationUsage ::= ENUMERATED { + ue, + non-ue, + both, + ... +} + +TooearlyIntersystemHO::= SEQUENCE { + sourcecellID EUTRA-CGI, + failurecellID NGRAN-CGI, + uERLFReportContainer UERLFReportContainer OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TooearlyIntersystemHO-ExtIEs} } OPTIONAL, + ... +} + +TooearlyIntersystemHO-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TraceActivation ::= SEQUENCE { + nGRANTraceID NGRANTraceID, + interfacesToTrace InterfacesToTrace, +traceDepth TraceDepth, +traceCollectionEntityIPAddress TransportLayerAddress, + iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL, + ... +} + +TraceActivation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional }| + { ID id-TraceCollectionEntityURI CRITICALITY ignore EXTENSION URI-address PRESENCE optional }, + ... +} + +TraceDepth ::= ENUMERATED { + minimum, + medium, + maximum, + minimumWithoutVendorSpecificExtension, + mediumWithoutVendorSpecificExtension, + maximumWithoutVendorSpecificExtension, + ... +} + +TrafficLoadReductionIndication ::= INTEGER (1..99) + +TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...)) + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} + +TAIBasedMDT ::= SEQUENCE { + tAIListforMDT TAIListforMDT, + iE-Extensions ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL, + ... +} + +TAIBasedMDT-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAI + +TAIBasedQMC ::= SEQUENCE { + tAIListforQMC TAIListforQMC, + iE-Extensions ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL, + ... +} + +TAIBasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI + +TABasedQMC ::= SEQUENCE { + tAListforQMC TAListforQMC, + iE-Extensions ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL, + ... +} + +TABasedQMC-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC + + +TABasedMDT ::= SEQUENCE { + tAListforMDT TAListforMDT, + iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL, + ... +} + +TABasedMDT-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC + +Threshold-RSRP ::= INTEGER(0..127) + +Threshold-RSRQ ::= INTEGER(0..127) + +Threshold-SINR ::= INTEGER(0..127) + +TimeToTrigger ::= ENUMERATED {ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, ms5120} + + +TWAP-ID ::= OCTET STRING + +TWIF-ID ::= CHOICE { + tWIF-ID BIT STRING (SIZE(32, ...)), + choice-Extensions ProtocolIE-SingleContainer { {TWIF-ID-ExtIEs} } +} + +TWIF-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +TSCAssistanceInformation ::= SEQUENCE { + periodicity Periodicity, + burstArrivalTime BurstArrivalTime OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TSCAssistanceInformation-ExtIEs} } OPTIONAL, + ... +} + +TSCAssistanceInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SurvivalTime CRITICALITY ignore EXTENSION SurvivalTime PRESENCE optional}, + ... +} + +TSCTrafficCharacteristics ::= SEQUENCE { + tSCAssistanceInformationDL TSCAssistanceInformation OPTIONAL, + tSCAssistanceInformationUL TSCAssistanceInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {TSCTrafficCharacteristics-ExtIEs} } OPTIONAL, + ... +} + +TSCTrafficCharacteristics-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- U + +UEAggregateMaximumBitRate ::= SEQUENCE { + uEAggregateMaximumBitRateDL BitRate, + uEAggregateMaximumBitRateUL BitRate, + iE-Extensions ProtocolExtensionContainer { {UEAggregateMaximumBitRate-ExtIEs} } OPTIONAL, + ... +} + +UEAggregateMaximumBitRate-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UEAppLayerMeasInfoList ::= SEQUENCE (SIZE(1..maxnoofUEAppLayerMeas)) OF UEAppLayerMeasInfoItem + +UEAppLayerMeasInfoItem ::= SEQUENCE { + uEAppLayerMeasConfigInfo UEAppLayerMeasConfigInfo, + iE-Extensions ProtocolExtensionContainer { { UEAppLayerMeasInfoItem-ExtIEs} } OPTIONAL, + ... +} + +UEAppLayerMeasInfoItem-ExtIEs NGAP-PROTOCOL-EXTENSION::= { + ... +} + +UEAppLayerMeasConfigInfo ::= SEQUENCE { + qoEReference QoEReference, + serviceType ServiceType, + areaScopeOfQMC AreaScopeOfQMC OPTIONAL, + measCollEntityIPAddress TransportLayerAddress, + qoEMeasurementStatus ENUMERATED {ongoing,...} OPTIONAL, + containerForAppLayerMeasConfig OCTET STRING (SIZE(1..8000)) OPTIONAL, + measConfigAppLayerID INTEGER (0..15, ...) OPTIONAL, + sliceSupportListQMC SliceSupportListQMC OPTIONAL, + mDT-AlignmentInfo MDT-AlignmentInfo OPTIONAL, + availableRANVisibleQoEMetrics AvailableRANVisibleQoEMetrics OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { UEAppLayerMeasConfigInfo-ExtIEs} } OPTIONAL, + ... +} + +UEAppLayerMeasConfigInfo-ExtIEs NGAP-PROTOCOL-EXTENSION::= { + ... +} + +UE-associatedLogicalNG-connectionList ::= SEQUENCE (SIZE(1..maxnoofNGConnectionsToReset)) OF UE-associatedLogicalNG-connectionItem + +UE-associatedLogicalNG-connectionItem ::= SEQUENCE { + aMF-UE-NGAP-ID AMF-UE-NGAP-ID OPTIONAL, + rAN-UE-NGAP-ID RAN-UE-NGAP-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UE-associatedLogicalNG-connectionItem-ExtIEs} } OPTIONAL, + ... +} + +UE-associatedLogicalNG-connectionItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UECapabilityInfoRequest ::= ENUMERATED { + requested, + ... +} + +UEContextRequest ::= ENUMERATED {requested, ...} + + +UEContextResumeRequestTransfer ::= SEQUENCE { + qosFlowFailedToResumeList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UEContextResumeRequestTransfer-ExtIEs} } OPTIONAL, + ... +} + +UEContextResumeRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UEContextResumeResponseTransfer ::= SEQUENCE { + qosFlowFailedToResumeList QosFlowListWithCause OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UEContextResumeResponseTransfer-ExtIEs} } OPTIONAL, + ... +} + +UEContextResumeResponseTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UEContextSuspendRequestTransfer ::= SEQUENCE { + suspendIndicator SuspendIndicator OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UEContextSuspendRequestTransfer-ExtIEs} } OPTIONAL, + ... +} + +UEContextSuspendRequestTransfer-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UE-DifferentiationInfo ::= SEQUENCE { + periodicCommunicationIndicator ENUMERATED {periodically, ondemand, ... } OPTIONAL, + periodicTime INTEGER (1..3600, ...) OPTIONAL, + scheduledCommunicationTime ScheduledCommunicationTime OPTIONAL, + stationaryIndication ENUMERATED {stationary, mobile, ...} OPTIONAL, + trafficProfile ENUMERATED {single-packet, dual-packets, multiple-packets, ...} OPTIONAL, + batteryIndication ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { UE-DifferentiationInfo-ExtIEs} } OPTIONAL, + ... +} + +UE-DifferentiationInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UEHistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCellItem + +UEHistoryInformationFromTheUE ::= CHOICE { + nR NRMobilityHistoryReport, + choice-Extensions ProtocolIE-SingleContainer { {UEHistoryInformationFromTheUE-ExtIEs} } +} + +UEHistoryInformationFromTheUE-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +UEIdentityIndexValue ::= CHOICE { + indexLength10 BIT STRING (SIZE(10)), + choice-Extensions ProtocolIE-SingleContainer { {UEIdentityIndexValue-ExtIEs} } +} + +UEIdentityIndexValue-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +UE-NGAP-IDs ::= CHOICE { + uE-NGAP-ID-pair UE-NGAP-ID-pair, + aMF-UE-NGAP-ID AMF-UE-NGAP-ID, + choice-Extensions ProtocolIE-SingleContainer { {UE-NGAP-IDs-ExtIEs} } +} + +UE-NGAP-IDs-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +UE-NGAP-ID-pair ::= SEQUENCE{ + aMF-UE-NGAP-ID AMF-UE-NGAP-ID, + rAN-UE-NGAP-ID RAN-UE-NGAP-ID, + iE-Extensions ProtocolExtensionContainer { {UE-NGAP-ID-pair-ExtIEs} } OPTIONAL, + ... +} + +UE-NGAP-ID-pair-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UEPagingIdentity ::= CHOICE { + fiveG-S-TMSI FiveG-S-TMSI, + choice-Extensions ProtocolIE-SingleContainer { {UEPagingIdentity-ExtIEs} } + } + +UEPagingIdentity-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +UEPresence ::= ENUMERATED {in, out, unknown, ...} + +UEPresenceInAreaOfInterestList ::= SEQUENCE (SIZE(1..maxnoofAoI)) OF UEPresenceInAreaOfInterestItem + +UEPresenceInAreaOfInterestItem ::= SEQUENCE { + locationReportingReferenceID LocationReportingReferenceID, + uEPresence UEPresence, + iE-Extensions ProtocolExtensionContainer { {UEPresenceInAreaOfInterestItem-ExtIEs} } OPTIONAL, + ... +} + +UEPresenceInAreaOfInterestItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UERadioCapability ::= OCTET STRING + +UERadioCapabilityForPaging ::= SEQUENCE { + uERadioCapabilityForPagingOfNR UERadioCapabilityForPagingOfNR OPTIONAL, + uERadioCapabilityForPagingOfEUTRA UERadioCapabilityForPagingOfEUTRA OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UERadioCapabilityForPaging-ExtIEs} } OPTIONAL, + ... +} + +UERadioCapabilityForPaging-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-UERadioCapabilityForPagingOfNB-IoT CRITICALITY ignore EXTENSION UERadioCapabilityForPagingOfNB-IoT PRESENCE optional }, + ... +} + +UERadioCapabilityForPagingOfNB-IoT ::= OCTET STRING + +UERadioCapabilityForPagingOfNR ::= OCTET STRING + +UERadioCapabilityForPagingOfEUTRA ::= OCTET STRING + +UERadioCapabilityID ::= OCTET STRING + +UERetentionInformation ::= ENUMERATED { + ues-retained, + ... +} + +UERLFReportContainer ::= CHOICE { + nR NRUERLFReportContainer, + lTE LTEUERLFReportContainer, + choice-Extensions ProtocolIE-SingleContainer { {UERLFReportContainer-ExtIEs} } +} + +UERLFReportContainer-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +UESecurityCapabilities ::= SEQUENCE { + nRencryptionAlgorithms NRencryptionAlgorithms, + nRintegrityProtectionAlgorithms NRintegrityProtectionAlgorithms, + eUTRAencryptionAlgorithms EUTRAencryptionAlgorithms, + eUTRAintegrityProtectionAlgorithms EUTRAintegrityProtectionAlgorithms, + iE-Extensions ProtocolExtensionContainer { {UESecurityCapabilities-ExtIEs} } OPTIONAL, + ... +} + +UESecurityCapabilities-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UESliceMaximumBitRateList ::= SEQUENCE (SIZE(1..maxnoofAllowedS-NSSAIs)) OF UESliceMaximumBitRateItem + +UESliceMaximumBitRateItem ::= SEQUENCE { + s-NSSAI S-NSSAI, + uESliceMaximumBitRateDL BitRate, + uESliceMaximumBitRateUL BitRate, + iE-Extensions ProtocolExtensionContainer { { UESliceMaximumBitRateItem-ExtIEs} } OPTIONAL, + ... +} + +UESliceMaximumBitRateItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + + +UE-UP-CIoT-Support ::= ENUMERATED {supported, ...} + +UL-CP-SecurityInformation ::= SEQUENCE { + ul-NAS-MAC UL-NAS-MAC, + ul-NAS-Count UL-NAS-Count, + iE-Extensions ProtocolExtensionContainer { { UL-CP-SecurityInformation-ExtIEs} } OPTIONAL, + ... +} + +UL-CP-SecurityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +UL-NAS-MAC ::= BIT STRING (SIZE (16)) + +UL-NAS-Count ::= BIT STRING (SIZE (5)) + +UL-NGU-UP-TNLModifyList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivity)) OF UL-NGU-UP-TNLModifyItem + +UL-NGU-UP-TNLModifyItem ::= SEQUENCE { + uL-NGU-UP-TNLInformation UPTransportLayerInformation, + dL-NGU-UP-TNLInformation UPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { {UL-NGU-UP-TNLModifyItem-ExtIEs} } OPTIONAL, + ... +} + +UL-NGU-UP-TNLModifyItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-RedundantUL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }| + { ID id-RedundantDL-NGU-UP-TNLInformation CRITICALITY ignore EXTENSION UPTransportLayerInformation PRESENCE optional }, + ... +} + +UnavailableGUAMIList ::= SEQUENCE (SIZE(1..maxnoofServedGUAMIs)) OF UnavailableGUAMIItem + +UnavailableGUAMIItem ::= SEQUENCE { + gUAMI GUAMI, + timerApproachForGUAMIRemoval TimerApproachForGUAMIRemoval OPTIONAL, + backupAMFName AMFName OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UnavailableGUAMIItem-ExtIEs} } OPTIONAL, + ... +} + +UnavailableGUAMIItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +ULForwarding ::= ENUMERATED { + ul-forwarding-proposed, + ... +} + +UpdateFeedback ::= BIT STRING (SIZE(8, ...)) + +UPTransportLayerInformation ::= CHOICE { + gTPTunnel GTPTunnel, + choice-Extensions ProtocolIE-SingleContainer { {UPTransportLayerInformation-ExtIEs} } +} + +UPTransportLayerInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +UPTransportLayerInformationList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF UPTransportLayerInformationItem + +UPTransportLayerInformationItem ::= SEQUENCE { + nGU-UP-TNLInformation UPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { {UPTransportLayerInformationItem-ExtIEs} } OPTIONAL, + ... +} + +UPTransportLayerInformationItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-CommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }, + ... +} + + +UPTransportLayerInformationPairList ::= SEQUENCE (SIZE(1..maxnoofMultiConnectivityMinusOne)) OF UPTransportLayerInformationPairItem + +UPTransportLayerInformationPairItem ::= SEQUENCE { + uL-NGU-UP-TNLInformation UPTransportLayerInformation, + dL-NGU-UP-TNLInformation UPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { {UPTransportLayerInformationPairItem-ExtIEs} } OPTIONAL, + ... +} + +UPTransportLayerInformationPairItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +URI-address ::= VisibleString + +UserLocationInformation ::= CHOICE { + userLocationInformationEUTRA UserLocationInformationEUTRA, + userLocationInformationNR UserLocationInformationNR, + userLocationInformationN3IWF UserLocationInformationN3IWF, + choice-Extensions ProtocolIE-SingleContainer { {UserLocationInformation-ExtIEs} } +} + +UserLocationInformation-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-UserLocationInformationTNGF CRITICALITY ignore TYPE UserLocationInformationTNGF PRESENCE mandatory }| + { ID id-UserLocationInformationTWIF CRITICALITY ignore TYPE UserLocationInformationTWIF PRESENCE mandatory }| + { ID id-UserLocationInformationW-AGF CRITICALITY ignore TYPE UserLocationInformationW-AGF PRESENCE mandatory }, + ... +} + +UserLocationInformationEUTRA ::= SEQUENCE { + eUTRA-CGI EUTRA-CGI, + tAI TAI, + timeStamp TimeStamp OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UserLocationInformationEUTRA-ExtIEs} } OPTIONAL, + ... +} + +UserLocationInformationEUTRA-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PSCellInformation CRITICALITY ignore EXTENSION NGRAN-CGI PRESENCE optional}, + ... +} + +UserLocationInformationN3IWF ::= SEQUENCE { + iPAddress TransportLayerAddress, + portNumber PortNumber, + iE-Extensions ProtocolExtensionContainer { {UserLocationInformationN3IWF-ExtIEs} } OPTIONAL, + ... +} + +UserLocationInformationN3IWF-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional }, + ... +} + +UserLocationInformationTNGF ::= SEQUENCE { + tNAP-ID TNAP-ID, + iPAddress TransportLayerAddress, + portNumber PortNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UserLocationInformationTNGF-ExtIEs} } OPTIONAL, + ... +} + +UserLocationInformationTNGF-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional }, + ... +} + +UserLocationInformationTWIF ::= SEQUENCE { + tWAP-ID TWAP-ID, + iPAddress TransportLayerAddress, + portNumber PortNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UserLocationInformationTWIF-ExtIEs} } OPTIONAL, + ... +} + +UserLocationInformationTWIF-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-TAI CRITICALITY ignore EXTENSION TAI PRESENCE optional }, + ... +} + +UserLocationInformationW-AGF ::= CHOICE { + globalLine-ID GlobalLine-ID, + hFCNode-ID HFCNode-ID, + choice-Extensions ProtocolIE-SingleContainer { { UserLocationInformationW-AGF-ExtIEs} } +} + +UserLocationInformationW-AGF-ExtIEs NGAP-PROTOCOL-IES ::= { + { ID id-GlobalCable-ID CRITICALITY ignore TYPE GlobalCable-ID PRESENCE mandatory }| + { ID id-HFCNode-ID-new CRITICALITY ignore TYPE HFCNode-ID-new PRESENCE mandatory }| + { ID id-GlobalCable-ID-new CRITICALITY ignore TYPE GlobalCable-ID-new PRESENCE mandatory }, + ... +} + +UserLocationInformationNR ::= SEQUENCE { + nR-CGI NR-CGI, + tAI TAI, + timeStamp TimeStamp OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UserLocationInformationNR-ExtIEs} } OPTIONAL, + ... +} + +UserLocationInformationNR-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-PSCellInformation CRITICALITY ignore EXTENSION NGRAN-CGI PRESENCE optional }| + { ID id-NID CRITICALITY reject EXTENSION NID PRESENCE optional }| + { ID id-NRNTNTAIInformation CRITICALITY ignore EXTENSION NRNTNTAIInformation PRESENCE optional }, + ... +} + +UserPlaneSecurityInformation ::= SEQUENCE { + securityResult SecurityResult, + securityIndication SecurityIndication, + iE-Extensions ProtocolExtensionContainer { {UserPlaneSecurityInformation-ExtIEs} } OPTIONAL, + ... +} + +UserPlaneSecurityInformation-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- V + +VolumeTimedReportList ::= SEQUENCE (SIZE(1..maxnoofTimePeriods)) OF VolumeTimedReport-Item + +VolumeTimedReport-Item ::= SEQUENCE { + startTimeStamp OCTET STRING (SIZE(4)), + endTimeStamp OCTET STRING (SIZE(4)), + usageCountUL INTEGER (0..18446744073709551615), + usageCountDL INTEGER (0..18446744073709551615), + iE-Extensions ProtocolExtensionContainer { {VolumeTimedReport-Item-ExtIEs} } OPTIONAL, + ... +} + +VolumeTimedReport-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- W + +W-AGF-ID ::= CHOICE { + w-AGF-ID BIT STRING (SIZE(16, ...)), + choice-Extensions ProtocolIE-SingleContainer { {W-AGF-ID-ExtIEs} } +} + +W-AGF-ID-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +WarningAreaCoordinates ::= OCTET STRING (SIZE(1..1024)) + +WarningAreaList ::= CHOICE { + eUTRA-CGIListForWarning EUTRA-CGIListForWarning, + nR-CGIListForWarning NR-CGIListForWarning, + tAIListForWarning TAIListForWarning, + emergencyAreaIDList EmergencyAreaIDList, + choice-Extensions ProtocolIE-SingleContainer { {WarningAreaList-ExtIEs} } +} + +WarningAreaList-ExtIEs NGAP-PROTOCOL-IES ::= { + ... +} + +WarningMessageContents ::= OCTET STRING (SIZE(1..9600)) + +WarningSecurityInfo ::= OCTET STRING (SIZE(50)) + +WarningType ::= OCTET STRING (SIZE(2)) + +WLANMeasurementConfiguration ::= SEQUENCE { + wlanMeasConfig WLANMeasConfig, + wlanMeasConfigNameList WLANMeasConfigNameList OPTIONAL, + wlan-rssi ENUMERATED {true, ...} OPTIONAL, + wlan-rtt ENUMERATED {true, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL, + ... +} + +WLANMeasurementConfiguration-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANMeasConfigNameItem + +WLANMeasConfigNameItem ::= SEQUENCE { + wLANName WLANName, + iE-Extensions ProtocolExtensionContainer { { WLANMeasConfigNameItem-ExtIEs } } OPTIONAL, + ... +} + +WLANMeasConfigNameItem-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +WLANMeasConfig::= ENUMERATED {setup,...} + +WLANName ::= OCTET STRING (SIZE (1..32)) + +WUS-Assistance-Information ::= SEQUENCE { + pagingProbabilityInformation PagingProbabilityInformation, + iE-Extensions ProtocolExtensionContainer { { WUS-Assistance-Information-ExtIEs } } OPTIONAL, + ... +} + +WUS-Assistance-Information-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- X + +XnExtTLAs ::= SEQUENCE (SIZE(1..maxnoofXnExtTLAs)) OF XnExtTLA-Item + +XnExtTLA-Item ::= SEQUENCE { + iPsecTLA TransportLayerAddress OPTIONAL, + gTP-TLAs XnGTP-TLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {XnExtTLA-Item-ExtIEs} } OPTIONAL, + ... +} + +XnExtTLA-Item-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + { ID id-SCTP-TLAs CRITICALITY ignore EXTENSION SCTP-TLAs PRESENCE optional }, + ... +} + +XnGTP-TLAs ::= SEQUENCE (SIZE(1..maxnoofXnGTP-TLAs)) OF TransportLayerAddress + +XnTLAs ::= SEQUENCE (SIZE(1..maxnoofXnTLAs)) OF TransportLayerAddress + +XnTNLConfigurationInfo ::= SEQUENCE { + xnTransportLayerAddresses XnTLAs, + xnExtendedTransportLayerAddresses XnExtTLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {XnTNLConfigurationInfo-ExtIEs} } OPTIONAL, + ... +} + +XnTNLConfigurationInfo-ExtIEs NGAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- Y +-- Z + +END diff --git a/ttcn/LibNGAP/lib/asn1/NGAP_PDU_Contents.asn b/ttcn/LibNGAP/lib/asn1/NGAP_PDU_Contents.asn new file mode 100644 index 0000000000000000000000000000000000000000..453c92393b9463b5fb3734120b0878e3f67de594 --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/NGAP_PDU_Contents.asn @@ -0,0 +1,3388 @@ +-- 3GPP TS 38.413 V17.5.0 (2023-06) +-- 9.4.4 PDU Definitions +-- ************************************************************** +-- +-- PDU definitions for NGAP. +-- +-- ************************************************************** + +NGAP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + + AllowedNSSAI, + AMFName, + AMFSetID, + AMF-TNLAssociationSetupList, + AMF-TNLAssociationToAddList, + AMF-TNLAssociationToRemoveList, + AMF-TNLAssociationToUpdateList, + AMF-UE-NGAP-ID, + AssistanceDataForPaging, + AuthenticatedIndication, + BroadcastCancelledAreaList, + BroadcastCompletedAreaList, + CancelAllWarningMessages, + Cause, + CellIDListForRestart, + CEmodeBrestricted, + CEmodeBSupport-Indicator, + CNAssistedRANTuning, + ConcurrentWarningMessageInd, + CoreNetworkAssistanceInformationForInactive, + CPTransportLayerInformation, + CriticalityDiagnostics, + DataCodingScheme, + DL-CP-SecurityInformation, + DirectForwardingPathAvailability, + EarlyStatusTransfer-TransparentContainer, + EDT-Session, + EmergencyAreaIDListForRestart, + EmergencyFallbackIndicator, + EN-DCSONConfigurationTransfer, + EndIndication, + Enhanced-CoverageRestriction, + EUTRA-CGI, + EUTRA-PagingeDRXInformation, + Extended-AMFName, + Extended-ConnectedTime, + Extended-RANNodeName, + FiveG-ProSeAuthorized, + FiveG-ProSePC5QoSParameters, + FiveG-S-TMSI, + GlobalRANNodeID, + GUAMI, + HandoverFlag, + HandoverType, + IAB-Authorized, + IAB-Supported, + IABNodeIndication, + IMSVoiceSupportIndicator, + IndexToRFSP, + InfoOnRecommendedCellsAndRANNodesForPaging, + IntersystemSONConfigurationTransfer, + LAI, + LTEM-Indication, + LocationReportingRequestType, + LTEUESidelinkAggregateMaximumBitrate, + LTEV2XServicesAuthorized, + MaskedIMEISV, + MBS-AreaSessionID, + MBS-ServiceArea, + MBS-SessionID, + MBS-DistributionReleaseRequestTransfer, + MBS-DistributionSetupRequestTransfer, + MBS-DistributionSetupResponseTransfer, + MBS-DistributionSetupUnsuccessfulTransfer, + MBSSessionReleaseResponseTransfer, + MBSSessionSetupOrModFailureTransfer, + MBSSessionSetupOrModRequestTransfer, + MBSSessionSetupOrModResponseTransfer, + MessageIdentifier, + MDTPLMNList, + MDTPLMNModificationList, + MobilityRestrictionList, + MulticastSessionActivationRequestTransfer, + MulticastSessionDeactivationRequestTransfer, + MulticastSessionUpdateRequestTransfer, + MulticastGroupPagingAreaList, + NAS-PDU, + NASSecurityParametersFromNGRAN, + NB-IoT-DefaultPagingDRX, + NB-IoT-PagingDRX, + NB-IoT-Paging-eDRXInfo, + NB-IoT-UEPriority, + NewSecurityContextInd, + NGRAN-CGI, + NGRAN-TNLAssociationToRemoveList, + NGRANTraceID, + NotifySourceNGRANNode, + NPN-AccessInformation, + NR-CGI, + NR-PagingeDRXInformation, + NRPPa-PDU, + NumberOfBroadcastsRequested, + NRUESidelinkAggregateMaximumBitrate, + NRV2XServicesAuthorized, + OverloadResponse, + OverloadStartNSSAIList, + PagingAssisDataforCEcapabUE, + PagingCause, + PagingDRX, + PagingOrigin, + PagingPriority, + PDUSessionAggregateMaximumBitRate, + PDUSessionResourceAdmittedList, + PDUSessionResourceFailedToModifyListModCfm, + PDUSessionResourceFailedToModifyListModRes, + PDUSessionResourceFailedToResumeListRESReq, + PDUSessionResourceFailedToResumeListRESRes, + PDUSessionResourceFailedToSetupListCxtFail, + PDUSessionResourceFailedToSetupListCxtRes, + PDUSessionResourceFailedToSetupListHOAck, + PDUSessionResourceFailedToSetupListPSReq, + PDUSessionResourceFailedToSetupListSURes, + PDUSessionResourceHandoverList, + PDUSessionResourceListCxtRelCpl, + PDUSessionResourceListCxtRelReq, + PDUSessionResourceListHORqd, + PDUSessionResourceModifyListModCfm, + PDUSessionResourceModifyListModInd, + PDUSessionResourceModifyListModReq, + PDUSessionResourceModifyListModRes, + PDUSessionResourceNotifyList, + PDUSessionResourceReleasedListNot, + PDUSessionResourceReleasedListPSAck, + PDUSessionResourceReleasedListPSFail, + PDUSessionResourceReleasedListRelRes, + PDUSessionResourceResumeListRESReq, + PDUSessionResourceResumeListRESRes, + PDUSessionResourceSecondaryRATUsageList, + PDUSessionResourceSetupListCxtReq, + PDUSessionResourceSetupListCxtRes, + PDUSessionResourceSetupListHOReq, + PDUSessionResourceSetupListSUReq, + PDUSessionResourceSetupListSURes, + PDUSessionResourceSuspendListSUSReq, + PDUSessionResourceSwitchedList, + PDUSessionResourceToBeSwitchedDLList, + PDUSessionResourceToReleaseListHOCmd, + PDUSessionResourceToReleaseListRelCmd, + PEIPSassistanceInformation, + PLMNIdentity, + PLMNSupportList, + PrivacyIndicator, + PWSFailedCellIDList, + PC5QoSParameters, + QMCConfigInfo, + QMCDeactivation, + RANNodeName, + RANPagingPriority, + RANStatusTransfer-TransparentContainer, + RAN-UE-NGAP-ID, + RedCapIndication, + RedirectionVoiceFallback, + RelativeAMFCapacity, + RepetitionPeriod, + ResetType, + RGLevelWirelineAccessCharacteristics, + RoutingID, + RRCEstablishmentCause, + RRCInactiveTransitionReportRequest, + RRCState, + SecurityContext, + SecurityKey, + SerialNumber, + ServedGUAMIList, + SliceSupportList, + S-NSSAI, + SONConfigurationTransfer, + SourceToTarget-TransparentContainer, + SourceToTarget-AMFInformationReroute, + SRVCCOperationPossible, + SupportedTAList, + Suspend-Request-Indication, + Suspend-Response-Indication, + TAI, + TAIListForPaging, + TAIListForRestart, + TargetID, + TargetNSSAIInformation, + TargetToSource-TransparentContainer, + TargettoSource-Failure-TransparentContainer, + TimeSyncAssistanceInfo, + TimeToWait, + TNLAssociationList, + TraceActivation, + TrafficLoadReductionIndication, + TransportLayerAddress, + UEAggregateMaximumBitRate, + UE-associatedLogicalNG-connectionList, + UECapabilityInfoRequest, + UEContextRequest, + UE-DifferentiationInfo, + UE-NGAP-IDs, + UEPagingIdentity, + UEPresenceInAreaOfInterestList, + UERadioCapability, + UERadioCapabilityForPaging, + UERadioCapabilityID, + UERetentionInformation, + UESecurityCapabilities, + UESliceMaximumBitRateList, + UE-UP-CIoT-Support, + UL-CP-SecurityInformation, + UnavailableGUAMIList, + URI-address, + UserLocationInformation, + WarningAreaCoordinates, + WarningAreaList, + WarningMessageContents, + WarningSecurityInfo, + WarningType, + WUS-Assistance-Information, + RIMInformationTransfer + +FROM NGAP-IEs + + PrivateIE-Container{}, + ProtocolExtensionContainer{}, + ProtocolIE-Container{}, + ProtocolIE-ContainerList{}, + ProtocolIE-ContainerPair{}, + ProtocolIE-SingleContainer{}, + NGAP-PRIVATE-IES, + NGAP-PROTOCOL-EXTENSION, + NGAP-PROTOCOL-IES, + NGAP-PROTOCOL-IES-PAIR +FROM NGAP-Containers + + id-AllowedNSSAI, + id-AMFName, + id-AMFOverloadResponse, + id-AMFSetID, + id-AMF-TNLAssociationFailedToSetupList, + id-AMF-TNLAssociationSetupList, + id-AMF-TNLAssociationToAddList, + id-AMF-TNLAssociationToRemoveList, + id-AMF-TNLAssociationToUpdateList, + id-AMFTrafficLoadReductionIndication, + id-AMF-UE-NGAP-ID, + id-AssistanceDataForPaging, + id-AuthenticatedIndication, + id-BroadcastCancelledAreaList, + id-BroadcastCompletedAreaList, + id-CancelAllWarningMessages, + id-Cause, + id-CellIDListForRestart, + id-CEmodeBrestricted, + id-CEmodeBSupport-Indicator, + id-CNAssistedRANTuning, + id-ConcurrentWarningMessageInd, + id-CoreNetworkAssistanceInformationForInactive, + id-CriticalityDiagnostics, + id-DataCodingScheme, + id-DefaultPagingDRX, + id-DirectForwardingPathAvailability, + id-DL-CP-SecurityInformation, + id-EarlyStatusTransfer-TransparentContainer, + id-EDT-Session, + id-EmergencyAreaIDListForRestart, + id-EmergencyFallbackIndicator, + id-ENDC-SONConfigurationTransferDL, + id-ENDC-SONConfigurationTransferUL, + id-EndIndication, + id-Enhanced-CoverageRestriction, + id-EUTRA-CGI, + id-EUTRA-PagingeDRXInformation, + id-Extended-AMFName, + id-Extended-ConnectedTime, + id-Extended-RANNodeName, + id-FiveG-ProSeAuthorized, + id-FiveG-ProSeUEPC5AggregateMaximumBitRate, + id-FiveG-ProSePC5QoSParameters, + id-FiveG-S-TMSI, + id-GlobalRANNodeID, + id-GUAMI, + id-HandoverFlag, + id-HandoverType, + id-IAB-Authorized, + id-IAB-Supported, + id-IABNodeIndication, + id-IMSVoiceSupportIndicator, + id-IndexToRFSP, + id-InfoOnRecommendedCellsAndRANNodesForPaging, + id-IntersystemSONConfigurationTransferDL, + id-IntersystemSONConfigurationTransferUL, + id-LocationReportingRequestType, + id-LTEM-Indication, + id-LTEV2XServicesAuthorized, + id-LTEUESidelinkAggregateMaximumBitrate, + id-ManagementBasedMDTPLMNList, + id-ManagementBasedMDTPLMNModificationList, + id-MaskedIMEISV, + id-MBS-AreaSessionID, + id-MBS-ServiceArea, + id-MBS-SessionID, + id-MBS-DistributionReleaseRequestTransfer, + id-MBS-DistributionSetupRequestTransfer, + id-MBS-DistributionSetupResponseTransfer, + id-MBS-DistributionSetupUnsuccessfulTransfer, + id-MBSSessionModificationFailureTransfer, + id-MBSSessionModificationRequestTransfer, + id-MBSSessionModificationResponseTransfer, + id-MBSSessionReleaseResponseTransfer, + id-MBSSessionSetupFailureTransfer, + id-MBSSessionSetupRequestTransfer, + id-MBSSessionSetupResponseTransfer, + id-MessageIdentifier, + id-MobilityRestrictionList, + id-MulticastSessionActivationRequestTransfer, + id-MulticastSessionDeactivationRequestTransfer, + id-MulticastSessionUpdateRequestTransfer, + id-MulticastGroupPagingAreaList, + id-NAS-PDU, + id-NASC, + id-NASSecurityParametersFromNGRAN, + id-NB-IoT-DefaultPagingDRX, + id-NB-IoT-PagingDRX, + id-NB-IoT-Paging-eDRXInfo, + id-NB-IoT-UEPriority, + id-NewAMF-UE-NGAP-ID, + id-NewGUAMI, + id-NewSecurityContextInd, + id-NGAP-Message, + id-NGRAN-CGI, + id-NGRAN-TNLAssociationToRemoveList, + id-NGRANTraceID, + id-NotifySourceNGRANNode, + id-NPN-AccessInformation, + id-NR-PagingeDRXInformation, + id-NRPPa-PDU, + id-NRV2XServicesAuthorized, + id-NRUESidelinkAggregateMaximumBitrate, + id-NumberOfBroadcastsRequested, + id-OldAMF, + id-OverloadStartNSSAIList, + id-PagingAssisDataforCEcapabUE, + id-PagingCause, + id-PagingDRX, + id-PagingOrigin, + id-PagingPriority, + id-PDUSessionResourceAdmittedList, + id-PDUSessionResourceFailedToModifyListModCfm, + id-PDUSessionResourceFailedToModifyListModRes, + id-PDUSessionResourceFailedToResumeListRESReq, + id-PDUSessionResourceFailedToResumeListRESRes, + id-PDUSessionResourceFailedToSetupListCxtFail, + id-PDUSessionResourceFailedToSetupListCxtRes, + id-PDUSessionResourceFailedToSetupListHOAck, + id-PDUSessionResourceFailedToSetupListPSReq, + id-PDUSessionResourceFailedToSetupListSURes, + id-PDUSessionResourceHandoverList, + id-PDUSessionResourceListCxtRelCpl, + id-PDUSessionResourceListCxtRelReq, + id-PDUSessionResourceListHORqd, + id-PDUSessionResourceModifyListModCfm, + id-PDUSessionResourceModifyListModInd, + id-PDUSessionResourceModifyListModReq, + id-PDUSessionResourceModifyListModRes, + id-PDUSessionResourceNotifyList, + id-PDUSessionResourceReleasedListNot, + id-PDUSessionResourceReleasedListPSAck, + id-PDUSessionResourceReleasedListPSFail, + id-PDUSessionResourceReleasedListRelRes, + id-PDUSessionResourceResumeListRESReq, + id-PDUSessionResourceResumeListRESRes, + id-PDUSessionResourceSecondaryRATUsageList, + id-PDUSessionResourceSetupListCxtReq, + id-PDUSessionResourceSetupListCxtRes, + id-PDUSessionResourceSetupListHOReq, + id-PDUSessionResourceSetupListSUReq, + id-PDUSessionResourceSetupListSURes, + id-PDUSessionResourceSuspendListSUSReq, + id-PDUSessionResourceSwitchedList, + id-PDUSessionResourceToBeSwitchedDLList, + id-PDUSessionResourceToReleaseListHOCmd, + id-PDUSessionResourceToReleaseListRelCmd, + id-PEIPSassistanceInformation, + id-PLMNSupportList, + id-PrivacyIndicator, + id-PWSFailedCellIDList, + id-PC5QoSParameters, + id-QMCConfigInfo, + id-QMCDeactivation, + id-RANNodeName, + id-RANPagingPriority, + id-RANStatusTransfer-TransparentContainer, + id-RAN-UE-NGAP-ID, + id-RedCapIndication, + id-RedirectionVoiceFallback, + id-RelativeAMFCapacity, + id-RepetitionPeriod, + id-ResetType, + id-RGLevelWirelineAccessCharacteristics, + id-RoutingID, + id-RRCEstablishmentCause, + id-RRCInactiveTransitionReportRequest, + id-RRC-Resume-Cause, + id-RRCState, + id-SecurityContext, + id-SecurityKey, + id-SelectedPLMNIdentity, + id-SerialNumber, + id-ServedGUAMIList, + id-SliceSupportList, + id-S-NSSAI, + id-SONConfigurationTransferDL, + id-SONConfigurationTransferUL, + id-SourceAMF-UE-NGAP-ID, + id-SourceToTarget-TransparentContainer, + id-SourceToTarget-AMFInformationReroute, + id-SRVCCOperationPossible, + id-SupportedTAList, + id-Suspend-Request-Indication, + id-Suspend-Response-Indication, + id-TAI, + id-TAIListForPaging, + id-TAIListForRestart, + id-TargetID, + id-TargetNSSAIInformation, + id-TargetToSource-TransparentContainer, + id-TargettoSource-Failure-TransparentContainer, + id-TimeSyncAssistanceInfo, + id-TimeToWait, + id-TNGFIdentityInformation, + id-TraceActivation, + id-TraceCollectionEntityIPAddress, + id-TraceCollectionEntityURI, + id-TWIFIdentityInformation, + id-UEAggregateMaximumBitRate, + id-UE-associatedLogicalNG-connectionList, + id-UECapabilityInfoRequest, + id-UEContextRequest, + id-UE-DifferentiationInfo, + id-UE-NGAP-IDs, + id-UEPagingIdentity, + id-UEPresenceInAreaOfInterestList, + id-UERadioCapability, + id-UERadioCapabilityForPaging, + id-UERadioCapabilityID, + id-UERadioCapability-EUTRA-Format, + id-UERetentionInformation, + id-UESecurityCapabilities, + id-UESliceMaximumBitRateList, + id-UE-UP-CIoT-Support, + id-UL-CP-SecurityInformation, + id-UnavailableGUAMIList, + id-UserLocationInformation, + id-W-AGFIdentityInformation, + id-WarningAreaCoordinates, + id-WarningAreaList, + id-WarningMessageContents, + id-WarningSecurityInfo, + id-WarningType, + id-WUS-Assistance-Information, + id-RIMInformationTransfer + +FROM NGAP-Constants; + +-- ************************************************************** +-- +-- PDU SESSION MANAGEMENT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PDU Session Resource Setup Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE SETUP REQUEST +-- +-- ************************************************************** + +PDUSessionResourceSetupRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupRequestIEs} }, + ... +} + +PDUSessionResourceSetupRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }| + { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE optional }| + { ID id-PDUSessionResourceSetupListSUReq CRITICALITY reject TYPE PDUSessionResourceSetupListSUReq PRESENCE mandatory }| + { ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }| + { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE SETUP RESPONSE +-- +-- ************************************************************** + +PDUSessionResourceSetupResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceSetupResponseIEs} }, + ... +} + +PDUSessionResourceSetupResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceSetupListSURes CRITICALITY ignore TYPE PDUSessionResourceSetupListSURes PRESENCE optional }| + { ID id-PDUSessionResourceFailedToSetupListSURes CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListSURes PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- PDU Session Resource Release Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE RELEASE COMMAND +-- +-- ************************************************************** + +PDUSessionResourceReleaseCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceReleaseCommandIEs} }, + ... +} + +PDUSessionResourceReleaseCommandIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }| + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }| + { ID id-PDUSessionResourceToReleaseListRelCmd CRITICALITY reject TYPE PDUSessionResourceToReleaseListRelCmd PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE RELEASE RESPONSE +-- +-- ************************************************************** + +PDUSessionResourceReleaseResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceReleaseResponseIEs} }, + ... +} + +PDUSessionResourceReleaseResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceReleasedListRelRes CRITICALITY ignore TYPE PDUSessionResourceReleasedListRelRes PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PDU Session Resource Modify Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE MODIFY REQUEST +-- +-- ************************************************************** + +PDUSessionResourceModifyRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyRequestIEs} }, + ... +} + +PDUSessionResourceModifyRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }| + { ID id-PDUSessionResourceModifyListModReq CRITICALITY reject TYPE PDUSessionResourceModifyListModReq PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE MODIFY RESPONSE +-- +-- ************************************************************** + +PDUSessionResourceModifyResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyResponseIEs} }, + ... +} + +PDUSessionResourceModifyResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceModifyListModRes CRITICALITY ignore TYPE PDUSessionResourceModifyListModRes PRESENCE optional }| + { ID id-PDUSessionResourceFailedToModifyListModRes CRITICALITY ignore TYPE PDUSessionResourceFailedToModifyListModRes PRESENCE optional }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- PDU Session Resource Notify Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE NOTIFY +-- +-- ************************************************************** + +PDUSessionResourceNotify ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceNotifyIEs} }, + ... +} + +PDUSessionResourceNotifyIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceNotifyList CRITICALITY reject TYPE PDUSessionResourceNotifyList PRESENCE optional }| + { ID id-PDUSessionResourceReleasedListNot CRITICALITY ignore TYPE PDUSessionResourceReleasedListNot PRESENCE optional }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- PDU Session Resource Modify Indication Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE MODIFY INDICATION +-- +-- ************************************************************** + +PDUSessionResourceModifyIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyIndicationIEs} }, + ... +} + +PDUSessionResourceModifyIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceModifyListModInd CRITICALITY reject TYPE PDUSessionResourceModifyListModInd PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PDU SESSION RESOURCE MODIFY CONFIRM +-- +-- ************************************************************** + +PDUSessionResourceModifyConfirm ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PDUSessionResourceModifyConfirmIEs} }, + ... +} + +PDUSessionResourceModifyConfirmIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceModifyListModCfm CRITICALITY ignore TYPE PDUSessionResourceModifyListModCfm PRESENCE optional }| + { ID id-PDUSessionResourceFailedToModifyListModCfm CRITICALITY ignore TYPE PDUSessionResourceFailedToModifyListModCfm PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT MANAGEMENT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Initial Context Setup Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- INITIAL CONTEXT SETUP REQUEST +-- +-- ************************************************************** + +InitialContextSetupRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} }, + ... +} + +InitialContextSetupRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional }| + { ID id-UEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE conditional }| + { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }| + { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory }| + { ID id-PDUSessionResourceSetupListCxtReq CRITICALITY reject TYPE PDUSessionResourceSetupListCxtReq PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }| + { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| + { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| + { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }| + { ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }| + { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }| + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional }| + { ID id-EmergencyFallbackIndicator CRITICALITY reject TYPE EmergencyFallbackIndicator PRESENCE optional }| + { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }| + { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }| + { ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }| + { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE optional }| + { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }| + { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| + { ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional }| + { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }| + { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }| + { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }| +{ ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }| +{ ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }| +{ ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| +{ ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }| + { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }| + { ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }| + { ID id-RGLevelWirelineAccessCharacteristics CRITICALITY ignore TYPE RGLevelWirelineAccessCharacteristics PRESENCE optional }| + { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }| + { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }| + { ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }| + { ID id-TargetNSSAIInformation CRITICALITY ignore TYPE TargetNSSAIInformation PRESENCE optional }| + { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }| + { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }| + { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- INITIAL CONTEXT SETUP RESPONSE +-- +-- ************************************************************** + +InitialContextSetupResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} }, + ... +} + +InitialContextSetupResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceSetupListCxtRes CRITICALITY ignore TYPE PDUSessionResourceSetupListCxtRes PRESENCE optional }| + { ID id-PDUSessionResourceFailedToSetupListCxtRes CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListCxtRes PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- INITIAL CONTEXT SETUP FAILURE +-- +-- ************************************************************** + +InitialContextSetupFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} }, + ... +} + +InitialContextSetupFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceFailedToSetupListCxtFail CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListCxtFail PRESENCE optional }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE Context Release Request Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE CONTEXT RELEASE REQUEST +-- +-- ************************************************************** + +UEContextReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextReleaseRequest-IEs} }, + ... +} + +UEContextReleaseRequest-IEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceListCxtRelReq CRITICALITY reject TYPE PDUSessionResourceListCxtRelReq PRESENCE optional }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UE Context Release Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE CONTEXT RELEASE COMMAND +-- +-- ************************************************************** + +UEContextReleaseCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextReleaseCommand-IEs} }, + ... +} + +UEContextReleaseCommand-IEs NGAP-PROTOCOL-IES ::= { + { ID id-UE-NGAP-IDs CRITICALITY reject TYPE UE-NGAP-IDs PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT RELEASE COMPLETE +-- +-- ************************************************************** + +UEContextReleaseComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextReleaseComplete-IEs} }, + ... +} + +UEContextReleaseComplete-IEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }| + { ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }| + { ID id-PDUSessionResourceListCxtRelCpl CRITICALITY reject TYPE PDUSessionResourceListCxtRelCpl PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE Context Resume Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE CONTEXT RESUME REQUEST +-- +-- ************************************************************** + +UEContextResumeRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextResumeRequestIEs} }, + ... +} + +UEContextResumeRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE mandatory }| + { ID id-PDUSessionResourceResumeListRESReq CRITICALITY reject TYPE PDUSessionResourceResumeListRESReq PRESENCE optional }| + { ID id-PDUSessionResourceFailedToResumeListRESReq CRITICALITY reject TYPE PDUSessionResourceFailedToResumeListRESReq PRESENCE optional }| + { ID id-Suspend-Request-Indication CRITICALITY ignore TYPE Suspend-Request-Indication PRESENCE optional }| + { ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }| + { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT RESUME RESPONSE +-- +-- ************************************************************** + +UEContextResumeResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextResumeResponseIEs} }, + ... +} + +UEContextResumeResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceResumeListRESRes CRITICALITY reject TYPE PDUSessionResourceResumeListRESRes PRESENCE optional }| + { ID id-PDUSessionResourceFailedToResumeListRESRes CRITICALITY reject TYPE PDUSessionResourceFailedToResumeListRESRes PRESENCE optional }| + { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional }| + { ID id-Suspend-Response-Indication CRITICALITY ignore TYPE Suspend-Response-Indication PRESENCE optional }| + { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT RESUME FAILURE +-- +-- ************************************************************** + +UEContextResumeFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UEContextResumeFailureIEs} }, + ... +} + +UEContextResumeFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- UE Context Suspend Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE CONTEXT SUSPEND REQUEST +-- +-- ************************************************************** + +UEContextSuspendRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextSuspendRequestIEs} }, + ... +} + +UEContextSuspendRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-InfoOnRecommendedCellsAndRANNodesForPaging CRITICALITY ignore TYPE InfoOnRecommendedCellsAndRANNodesForPaging PRESENCE optional }| + { ID id-PagingAssisDataforCEcapabUE CRITICALITY ignore TYPE PagingAssisDataforCEcapabUE PRESENCE optional }| + { ID id-PDUSessionResourceSuspendListSUSReq CRITICALITY reject TYPE PDUSessionResourceSuspendListSUSReq PRESENCE optional }, ... +} + +-- ************************************************************** +-- +-- UE CONTEXT SUSPEND RESPONSE +-- +-- ************************************************************** + +UEContextSuspendResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextSuspendResponseIEs} }, + ... +} + +UEContextSuspendResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT SUSPEND FAILURE +-- +-- ************************************************************** + +UEContextSuspendFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UEContextSuspendFailureIEs} }, + ... +} + +UEContextSuspendFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE Context Modification Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE CONTEXT MODIFICATION REQUEST +-- +-- ************************************************************** + +UEContextModificationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextModificationRequestIEs} }, + ... +} + +UEContextModificationRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }| + { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }| + { ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }| + { ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }| + { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional }| + { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }| + { ID id-EmergencyFallbackIndicator CRITICALITY reject TYPE EmergencyFallbackIndicator PRESENCE optional }| + { ID id-NewAMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE optional }| + { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }| + { ID id-NewGUAMI CRITICALITY reject TYPE GUAMI PRESENCE optional }| + { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }| + { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| + { ID id-IAB-Authorized CRITICALITY ignore TYPE IAB-Authorized PRESENCE optional }| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }| + { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }| + { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }| + { ID id-RGLevelWirelineAccessCharacteristics CRITICALITY ignore TYPE RGLevelWirelineAccessCharacteristics PRESENCE optional }| + { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }| + { ID id-QMCConfigInfo CRITICALITY ignore TYPE QMCConfigInfo PRESENCE optional }| + { ID id-QMCDeactivation CRITICALITY ignore TYPE QMCDeactivation PRESENCE optional }| + { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }| + { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional }| + { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }| + { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT MODIFICATION RESPONSE +-- +-- ************************************************************** + +UEContextModificationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextModificationResponseIEs} }, + ... +} + +UEContextModificationResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RRCState CRITICALITY ignore TYPE RRCState PRESENCE optional }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE CONTEXT MODIFICATION FAILURE +-- +-- ************************************************************** + +UEContextModificationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEContextModificationFailureIEs} }, + ... +} + +UEContextModificationFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RRC INACTIVE TRANSITION REPORT +-- +-- ************************************************************** + +RRCInactiveTransitionReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RRCInactiveTransitionReportIEs} }, + ... +} + +RRCInactiveTransitionReportIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RRCState CRITICALITY ignore TYPE RRCState PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- Retrieve UE Information +-- +-- ************************************************************** + +RetrieveUEInformation ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { RetrieveUEInformationIEs} }, + ... +} + +RetrieveUEInformationIEs NGAP-PROTOCOL-IES ::= { + { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE mandatory }, + ... + +} + +-- ************************************************************** + +-- UE Information Transfer +-- +-- ************************************************************** + +UEInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UEInformationTransferIEs} }, + ... +} + +UEInformationTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE mandatory }| + { ID id-NB-IoT-UEPriority CRITICALITY ignore TYPE NB-IoT-UEPriority PRESENCE optional }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }| + { ID id-S-NSSAI CRITICALITY ignore TYPE S-NSSAI PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY ignore TYPE AllowedNSSAI PRESENCE optional }| + { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }| + { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RAN CP Relocation Indication +-- +-- ************************************************************** + +RANCPRelocationIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { RANCPRelocationIndicationIEs} }, + ... +} + +RANCPRelocationIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE mandatory }| + { ID id-EUTRA-CGI CRITICALITY ignore TYPE EUTRA-CGI PRESENCE mandatory }| + { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory }| + { ID id-UL-CP-SecurityInformation CRITICALITY reject TYPE UL-CP-SecurityInformation PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UE MOBILITY MANAGEMENT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Handover Preparation Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- HANDOVER REQUIRED +-- +-- ************************************************************** + +HandoverRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HandoverRequiredIEs} }, + ... +} + +HandoverRequiredIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory }| + { ID id-DirectForwardingPathAvailability CRITICALITY ignore TYPE DirectForwardingPathAvailability PRESENCE optional }| + { ID id-PDUSessionResourceListHORqd CRITICALITY reject TYPE PDUSessionResourceListHORqd PRESENCE mandatory }| + { ID id-SourceToTarget-TransparentContainer CRITICALITY reject TYPE SourceToTarget-TransparentContainer PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- HANDOVER COMMAND +-- +-- ************************************************************** + +HandoverCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HandoverCommandIEs} }, + ... +} + +HandoverCommandIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }| + { ID id-NASSecurityParametersFromNGRAN CRITICALITY reject TYPE NASSecurityParametersFromNGRAN PRESENCE conditional }| + -- This IE shall be present if HandoverType IE is set to value "5GStoEPPS" or “5GStoUTRAN” -- + { ID id-PDUSessionResourceHandoverList CRITICALITY ignore TYPE PDUSessionResourceHandoverList PRESENCE optional }| + { ID id-PDUSessionResourceToReleaseListHOCmd CRITICALITY ignore TYPE PDUSessionResourceToReleaseListHOCmd PRESENCE optional }| + { ID id-TargetToSource-TransparentContainer CRITICALITY reject TYPE TargetToSource-TransparentContainer PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- HANDOVER PREPARATION FAILURE +-- +-- ************************************************************** + +HandoverPreparationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HandoverPreparationFailureIEs} }, + ... +} + +HandoverPreparationFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-TargettoSource-Failure-TransparentContainer CRITICALITY ignore TYPE TargettoSource-Failure-TransparentContainer PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Handover Resource Allocation Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- HANDOVER REQUEST +-- +-- ************************************************************** + +HandoverRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HandoverRequestIEs} }, + ... +} + +HandoverRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-UEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE mandatory }| + { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }| + { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| + { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory }| + { ID id-NewSecurityContextInd CRITICALITY reject TYPE NewSecurityContextInd PRESENCE optional }| + { ID id-NASC CRITICALITY reject TYPE NAS-PDU PRESENCE optional }| + { ID id-PDUSessionResourceSetupListHOReq CRITICALITY reject TYPE PDUSessionResourceSetupListHOReq PRESENCE mandatory }| + { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| + { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }| + { ID id-SourceToTarget-TransparentContainer CRITICALITY reject TYPE SourceToTarget-TransparentContainer PRESENCE mandatory }| + { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }| + { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE optional }| + { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }| + { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory }| + { ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }| + { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }| + { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| + { ID id-IAB-Authorized CRITICALITY reject TYPE IAB-Authorized PRESENCE optional }| + { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }| + { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }| + { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }| + { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }| + { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }| + { ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }| + { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }| + { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }| + { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }| + { ID id-UESliceMaximumBitRateList CRITICALITY ignore TYPE UESliceMaximumBitRateList PRESENCE optional }| + { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }| + { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- HANDOVER REQUEST ACKNOWLEDGE +-- +-- ************************************************************** + +HandoverRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} }, + ... +} + +HandoverRequestAcknowledgeIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceAdmittedList CRITICALITY ignore TYPE PDUSessionResourceAdmittedList PRESENCE mandatory }| + { ID id-PDUSessionResourceFailedToSetupListHOAck CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListHOAck PRESENCE optional }| + { ID id-TargetToSource-TransparentContainer CRITICALITY reject TYPE TargetToSource-TransparentContainer PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-NPN-AccessInformation CRITICALITY reject TYPE NPN-AccessInformation PRESENCE optional }| + { ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- HANDOVER FAILURE +-- +-- ************************************************************** + +HandoverFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HandoverFailureIEs} }, + ... +} + +HandoverFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-TargettoSource-Failure-TransparentContainer CRITICALITY ignore TYPE TargettoSource-Failure-TransparentContainer PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Handover Notification Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- HANDOVER NOTIFY +-- +-- ************************************************************** + +HandoverNotify ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} }, + ... +} + +HandoverNotifyIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }| + { ID id-NotifySourceNGRANNode CRITICALITY ignore TYPE NotifySourceNGRANNode PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Path Switch Request Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PATH SWITCH REQUEST +-- +-- ************************************************************** + +PathSwitchRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} }, + ... +} + +PathSwitchRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-SourceAMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }| + { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory }| + { ID id-PDUSessionResourceToBeSwitchedDLList CRITICALITY reject TYPE PDUSessionResourceToBeSwitchedDLList PRESENCE mandatory }| + { ID id-PDUSessionResourceFailedToSetupListPSReq CRITICALITY ignore TYPE PDUSessionResourceFailedToSetupListPSReq PRESENCE optional }| + { ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE optional }| + { ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- PATH SWITCH REQUEST ACKNOWLEDGE +-- +-- ************************************************************** + +PathSwitchRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} }, + ... +} + +PathSwitchRequestAcknowledgeIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional }| + { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory }| + { ID id-NewSecurityContextInd CRITICALITY reject TYPE NewSecurityContextInd PRESENCE optional }| + { ID id-PDUSessionResourceSwitchedList CRITICALITY ignore TYPE PDUSessionResourceSwitchedList PRESENCE mandatory }| + { ID id-PDUSessionResourceReleasedListPSAck CRITICALITY ignore TYPE PDUSessionResourceReleasedListPSAck PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE mandatory }| + { ID id-CoreNetworkAssistanceInformationForInactive CRITICALITY ignore TYPE CoreNetworkAssistanceInformationForInactive PRESENCE optional }| + { ID id-RRCInactiveTransitionReportRequest CRITICALITY ignore TYPE RRCInactiveTransitionReportRequest PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-RedirectionVoiceFallback CRITICALITY ignore TYPE RedirectionVoiceFallback PRESENCE optional }| + { ID id-CNAssistedRANTuning CRITICALITY ignore TYPE CNAssistedRANTuning PRESENCE optional }| + { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| + { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }| + { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }| + { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional }| + { ID id-LTEV2XServicesAuthorized CRITICALITY ignore TYPE LTEV2XServicesAuthorized PRESENCE optional }| + { ID id-NRUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-LTEUESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE LTEUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }| + { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }| + { ID id-UE-UP-CIoT-Support CRITICALITY ignore TYPE UE-UP-CIoT-Support PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }| + { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }| + { ID id-TimeSyncAssistanceInfo CRITICALITY ignore TYPE TimeSyncAssistanceInfo PRESENCE optional }| + { ID id-FiveG-ProSeAuthorized CRITICALITY ignore TYPE FiveG-ProSeAuthorized PRESENCE optional }| + { ID id-FiveG-ProSeUEPC5AggregateMaximumBitRate CRITICALITY ignore TYPE NRUESidelinkAggregateMaximumBitrate PRESENCE optional }| + { ID id-FiveG-ProSePC5QoSParameters CRITICALITY ignore TYPE FiveG-ProSePC5QoSParameters PRESENCE optional }| + { ID id-ManagementBasedMDTPLMNModificationList CRITICALITY ignore TYPE MDTPLMNModificationList PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- PATH SWITCH REQUEST FAILURE +-- +-- ************************************************************** + +PathSwitchRequestFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} }, + ... +} + +PathSwitchRequestFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceReleasedListPSFail CRITICALITY ignore TYPE PDUSessionResourceReleasedListPSFail PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Handover Cancellation Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- HANDOVER CANCEL +-- +-- ************************************************************** + +HandoverCancel ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HandoverCancelIEs} }, + ... +} + +HandoverCancelIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- HANDOVER CANCEL ACKNOWLEDGE +-- +-- ************************************************************** + +HandoverCancelAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} }, + ... +} + +HandoverCancelAcknowledgeIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- HANDOVER SUCCESS ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- HANDOVER SUCCESS +-- +-- ************************************************************** + +HandoverSuccess ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HandoverSuccessIEs} }, + ... +} + +HandoverSuccessIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UPLINK RAN EARLY STATUS TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Uplink RAN Early Status Transfer +-- +-- ************************************************************** + +UplinkRANEarlyStatusTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkRANEarlyStatusTransferIEs} }, + ... +} + +UplinkRANEarlyStatusTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory}| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory}| + { ID id-EarlyStatusTransfer-TransparentContainer CRITICALITY reject TYPE EarlyStatusTransfer-TransparentContainer PRESENCE mandatory}, + ... +} + +-- ************************************************************** +-- +-- DOWNLINK RAN EARLY STATUS TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Downlink RAN Early Status Transfer +-- +-- ************************************************************** + +DownlinkRANEarlyStatusTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkRANEarlyStatusTransferIEs} }, + ... +} + +DownlinkRANEarlyStatusTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory}| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory}| + { ID id-EarlyStatusTransfer-TransparentContainer CRITICALITY reject TYPE EarlyStatusTransfer-TransparentContainer PRESENCE mandatory}, + ... +} + + +-- ************************************************************** +-- +-- Uplink RAN Status Transfer Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UPLINK RAN STATUS TRANSFER +-- +-- ************************************************************** + +UplinkRANStatusTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkRANStatusTransferIEs} }, + ... +} + +UplinkRANStatusTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RANStatusTransfer-TransparentContainer CRITICALITY reject TYPE RANStatusTransfer-TransparentContainer PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- Downlink RAN Status Transfer Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- DOWNLINK RAN STATUS TRANSFER +-- +-- ************************************************************** + +DownlinkRANStatusTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkRANStatusTransferIEs} }, + ... +} + +DownlinkRANStatusTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RANStatusTransfer-TransparentContainer CRITICALITY reject TYPE RANStatusTransfer-TransparentContainer PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- PAGING ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PAGING +-- +-- ************************************************************** + +Paging ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PagingIEs} }, + ... +} + +PagingIEs NGAP-PROTOCOL-IES ::= { + { ID id-UEPagingIdentity CRITICALITY ignore TYPE UEPagingIdentity PRESENCE mandatory }| + { ID id-PagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }| + { ID id-TAIListForPaging CRITICALITY ignore TYPE TAIListForPaging PRESENCE mandatory }| + { ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional }| + { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }| + { ID id-PagingOrigin CRITICALITY ignore TYPE PagingOrigin PRESENCE optional }| + { ID id-AssistanceDataForPaging CRITICALITY ignore TYPE AssistanceDataForPaging PRESENCE optional }| + { ID id-NB-IoT-Paging-eDRXInfo CRITICALITY ignore TYPE NB-IoT-Paging-eDRXInfo PRESENCE optional }| + { ID id-NB-IoT-PagingDRX CRITICALITY ignore TYPE NB-IoT-PagingDRX PRESENCE optional }| + { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }| + { ID id-WUS-Assistance-Information CRITICALITY ignore TYPE WUS-Assistance-Information PRESENCE optional }| + { ID id-EUTRA-PagingeDRXInformation CRITICALITY ignore TYPE EUTRA-PagingeDRXInformation PRESENCE optional }| + { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }| + { ID id-NR-PagingeDRXInformation CRITICALITY ignore TYPE NR-PagingeDRXInformation PRESENCE optional }| + { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional }| + { ID id-PEIPSassistanceInformation CRITICALITY ignore TYPE PEIPSassistanceInformation PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- NAS TRANSPORT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- INITIAL UE MESSAGE +-- +-- ************************************************************** + +InitialUEMessage ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {InitialUEMessage-IEs} }, + ... +} + +InitialUEMessage-IEs NGAP-PROTOCOL-IES ::= { + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY reject TYPE UserLocationInformation PRESENCE mandatory }| + { ID id-RRCEstablishmentCause CRITICALITY ignore TYPE RRCEstablishmentCause PRESENCE mandatory }| + { ID id-FiveG-S-TMSI CRITICALITY reject TYPE FiveG-S-TMSI PRESENCE optional }| + { ID id-AMFSetID CRITICALITY ignore TYPE AMFSetID PRESENCE optional }| + { ID id-UEContextRequest CRITICALITY ignore TYPE UEContextRequest PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }| + { ID id-SourceToTarget-AMFInformationReroute CRITICALITY ignore TYPE SourceToTarget-AMFInformationReroute PRESENCE optional }| + { ID id-SelectedPLMNIdentity CRITICALITY ignore TYPE PLMNIdentity PRESENCE optional }| + { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional }| + { ID id-CEmodeBSupport-Indicator CRITICALITY reject TYPE CEmodeBSupport-Indicator PRESENCE optional }| + { ID id-LTEM-Indication CRITICALITY ignore TYPE LTEM-Indication PRESENCE optional }| + { ID id-EDT-Session CRITICALITY ignore TYPE EDT-Session PRESENCE optional }| + { ID id-AuthenticatedIndication CRITICALITY ignore TYPE AuthenticatedIndication PRESENCE optional }| + { ID id-NPN-AccessInformation CRITICALITY reject TYPE NPN-AccessInformation PRESENCE optional }| + { ID id-RedCapIndication CRITICALITY ignore TYPE RedCapIndication PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- DOWNLINK NAS TRANSPORT +-- +-- ************************************************************** + +DownlinkNASTransport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkNASTransport-IEs} }, + ... +} + +DownlinkNASTransport-IEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional }| + { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }| + { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }| + { ID id-MobilityRestrictionList CRITICALITY ignore TYPE MobilityRestrictionList PRESENCE optional }| + { ID id-IndexToRFSP CRITICALITY ignore TYPE IndexToRFSP PRESENCE optional }| + { ID id-UEAggregateMaximumBitRate CRITICALITY ignore TYPE UEAggregateMaximumBitRate PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }| + { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }| + { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }| + { ID id-Extended-ConnectedTime CRITICALITY ignore TYPE Extended-ConnectedTime PRESENCE optional }| + { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }| + { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }| + { ID id-UECapabilityInfoRequest CRITICALITY ignore TYPE UECapabilityInfoRequest PRESENCE optional }| + { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }| + { ID id-TargetNSSAIInformation CRITICALITY ignore TYPE TargetNSSAIInformation PRESENCE optional }| + { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UPLINK NAS TRANSPORT +-- +-- ************************************************************** + +UplinkNASTransport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkNASTransport-IEs} }, + ... +} + +-- WS modification, add a definition for messages +W-AGFIdentityInformation ::= OCTET STRING +TNGFIdentityInformation ::= OCTET STRING +TWIFIdentityInformation ::= OCTET STRING + +UplinkNASTransport-IEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }| +-- WS modification, add a definition for messages +-- { ID id-W-AGFIdentityInformation CRITICALITY reject TYPE OCTET STRING PRESENCE optional }| + { ID id-W-AGFIdentityInformation CRITICALITY reject TYPE W-AGFIdentityInformation PRESENCE optional }| +-- { ID id-TNGFIdentityInformation CRITICALITY reject TYPE OCTET STRING PRESENCE optional }| + { ID id-TNGFIdentityInformation CRITICALITY reject TYPE TNGFIdentityInformation PRESENCE optional }| +-- { ID id-TWIFIdentityInformation CRITICALITY reject TYPE OCTET STRING PRESENCE optional }, + { ID id-TWIFIdentityInformation CRITICALITY reject TYPE TWIFIdentityInformation PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- NAS NON DELIVERY INDICATION +-- +-- ************************************************************** + +NASNonDeliveryIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {NASNonDeliveryIndication-IEs} }, + ... +} + +NASNonDeliveryIndication-IEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- REROUTE NAS REQUEST +-- +-- ************************************************************** + +RerouteNASRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RerouteNASRequest-IEs} }, + ... +} + +-- WS modification, add a definition for NGAP Message +NGAP-Message ::= OCTET STRING + +RerouteNASRequest-IEs NGAP-PROTOCOL-IES ::= { + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE optional }| +-- WS modification, add a definition for NGAP Message +-- { ID id-NGAP-Message CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory }| + { ID id-NGAP-Message CRITICALITY reject TYPE NGAP-Message PRESENCE mandatory }| + { ID id-AMFSetID CRITICALITY reject TYPE AMFSetID PRESENCE mandatory }| + { ID id-AllowedNSSAI CRITICALITY reject TYPE AllowedNSSAI PRESENCE optional }| + { ID id-SourceToTarget-AMFInformationReroute CRITICALITY ignore TYPE SourceToTarget-AMFInformationReroute PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- INTERFACE MANAGEMENT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- NG Setup Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- NG SETUP REQUEST +-- +-- ************************************************************** + +NGSetupRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {NGSetupRequestIEs} }, + ... +} + +NGSetupRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }| + { ID id-RANNodeName CRITICALITY ignore TYPE RANNodeName PRESENCE optional }| + { ID id-SupportedTAList CRITICALITY reject TYPE SupportedTAList PRESENCE mandatory }| + { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory }| + { ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }| + { ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional }| + { ID id-Extended-RANNodeName CRITICALITY ignore TYPE Extended-RANNodeName PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- NG SETUP RESPONSE +-- +-- ************************************************************** + +NGSetupResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {NGSetupResponseIEs} }, + ... +} + +NGSetupResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMFName CRITICALITY reject TYPE AMFName PRESENCE mandatory }| + { ID id-ServedGUAMIList CRITICALITY reject TYPE ServedGUAMIList PRESENCE mandatory }| + { ID id-RelativeAMFCapacity CRITICALITY ignore TYPE RelativeAMFCapacity PRESENCE mandatory }| + { ID id-PLMNSupportList CRITICALITY reject TYPE PLMNSupportList PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-UERetentionInformation CRITICALITY ignore TYPE UERetentionInformation PRESENCE optional }| + { ID id-IAB-Supported CRITICALITY ignore TYPE IAB-Supported PRESENCE optional }| + { ID id-Extended-AMFName CRITICALITY ignore TYPE Extended-AMFName PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- NG SETUP FAILURE +-- +-- ************************************************************** + +NGSetupFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {NGSetupFailureIEs} }, + ... +} + +NGSetupFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RAN Configuration Update Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAN CONFIGURATION UPDATE +-- +-- ************************************************************** + +RANConfigurationUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANConfigurationUpdateIEs} }, + ... +} + +RANConfigurationUpdateIEs NGAP-PROTOCOL-IES ::= { + { ID id-RANNodeName CRITICALITY ignore TYPE RANNodeName PRESENCE optional }| + { ID id-SupportedTAList CRITICALITY reject TYPE SupportedTAList PRESENCE optional }| + { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional }| + { ID id-GlobalRANNodeID CRITICALITY ignore TYPE GlobalRANNodeID PRESENCE optional }| + { ID id-NGRAN-TNLAssociationToRemoveList CRITICALITY reject TYPE NGRAN-TNLAssociationToRemoveList PRESENCE optional }| + { ID id-NB-IoT-DefaultPagingDRX CRITICALITY ignore TYPE NB-IoT-DefaultPagingDRX PRESENCE optional }| + { ID id-Extended-RANNodeName CRITICALITY ignore TYPE Extended-RANNodeName PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RAN CONFIGURATION UPDATE ACKNOWLEDGE +-- +-- ************************************************************** + +RANConfigurationUpdateAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANConfigurationUpdateAcknowledgeIEs} }, + ... +} + +RANConfigurationUpdateAcknowledgeIEs NGAP-PROTOCOL-IES ::= { + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RAN CONFIGURATION UPDATE FAILURE +-- +-- ************************************************************** + +RANConfigurationUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANConfigurationUpdateFailureIEs} }, + ... +} + +RANConfigurationUpdateFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, +... +} + +-- ************************************************************** +-- +-- AMF Configuration Update Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- AMF CONFIGURATION UPDATE +-- +-- ************************************************************** + +AMFConfigurationUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {AMFConfigurationUpdateIEs} }, + ... +} + +AMFConfigurationUpdateIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMFName CRITICALITY reject TYPE AMFName PRESENCE optional }| + { ID id-ServedGUAMIList CRITICALITY reject TYPE ServedGUAMIList PRESENCE optional }| + { ID id-RelativeAMFCapacity CRITICALITY ignore TYPE RelativeAMFCapacity PRESENCE optional }| + { ID id-PLMNSupportList CRITICALITY reject TYPE PLMNSupportList PRESENCE optional }| + { ID id-AMF-TNLAssociationToAddList CRITICALITY ignore TYPE AMF-TNLAssociationToAddList PRESENCE optional }| + { ID id-AMF-TNLAssociationToRemoveList CRITICALITY ignore TYPE AMF-TNLAssociationToRemoveList PRESENCE optional }| + { ID id-AMF-TNLAssociationToUpdateList CRITICALITY ignore TYPE AMF-TNLAssociationToUpdateList PRESENCE optional }| + { ID id-Extended-AMFName CRITICALITY ignore TYPE Extended-AMFName PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- AMF CONFIGURATION UPDATE ACKNOWLEDGE +-- +-- ************************************************************** + +AMFConfigurationUpdateAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {AMFConfigurationUpdateAcknowledgeIEs} }, + ... +} + +AMFConfigurationUpdateAcknowledgeIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-TNLAssociationSetupList CRITICALITY ignore TYPE AMF-TNLAssociationSetupList PRESENCE optional }| + { ID id-AMF-TNLAssociationFailedToSetupList CRITICALITY ignore TYPE TNLAssociationList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- AMF CONFIGURATION UPDATE FAILURE +-- +-- ************************************************************** + +AMFConfigurationUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {AMFConfigurationUpdateFailureIEs} }, + ... +} + +AMFConfigurationUpdateFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- AMF Status Indication Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- AMF STATUS INDICATION +-- +-- ************************************************************** + +AMFStatusIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {AMFStatusIndicationIEs} }, + ... +} + +AMFStatusIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-UnavailableGUAMIList CRITICALITY reject TYPE UnavailableGUAMIList PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- NG Reset Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- NG RESET +-- +-- ************************************************************** + +NGReset ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {NGResetIEs} }, + ... +} + +NGResetIEs NGAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- NG RESET ACKNOWLEDGE +-- +-- ************************************************************** + +NGResetAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {NGResetAcknowledgeIEs} }, + ... +} + +NGResetAcknowledgeIEs NGAP-PROTOCOL-IES ::= { + { ID id-UE-associatedLogicalNG-connectionList CRITICALITY ignore TYPE UE-associatedLogicalNG-connectionList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Error Indication Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- ERROR INDICATION +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + ... +} + +ErrorIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE optional }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE optional }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-FiveG-S-TMSI CRITICALITY ignore TYPE FiveG-S-TMSI PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- OVERLOAD START +-- +-- ************************************************************** + +OverloadStart ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {OverloadStartIEs} }, + ... +} + +OverloadStartIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMFOverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE optional }| + { ID id-AMFTrafficLoadReductionIndication CRITICALITY ignore TYPE TrafficLoadReductionIndication PRESENCE optional }| + { ID id-OverloadStartNSSAIList CRITICALITY ignore TYPE OverloadStartNSSAIList PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- OVERLOAD STOP +-- +-- ************************************************************** + +OverloadStop ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {OverloadStopIEs} }, + ... +} + +OverloadStopIEs NGAP-PROTOCOL-IES ::= { + ... +} + +-- ************************************************************** +-- +-- CONFIGURATION TRANSFER ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UPLINK RAN CONFIGURATION TRANSFER +-- +-- ************************************************************** + +UplinkRANConfigurationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkRANConfigurationTransferIEs} }, + ... +} + +UplinkRANConfigurationTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-SONConfigurationTransferUL CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional }| + { ID id-ENDC-SONConfigurationTransferUL CRITICALITY ignore TYPE EN-DCSONConfigurationTransfer PRESENCE optional }| + { ID id-IntersystemSONConfigurationTransferUL CRITICALITY ignore TYPE IntersystemSONConfigurationTransfer PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- DOWNLINK RAN CONFIGURATION TRANSFER +-- +-- ************************************************************** + +DownlinkRANConfigurationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkRANConfigurationTransferIEs} }, + ... +} + +DownlinkRANConfigurationTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-SONConfigurationTransferDL CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional }| + { ID id-ENDC-SONConfigurationTransferDL CRITICALITY ignore TYPE EN-DCSONConfigurationTransfer PRESENCE optional }| + { ID id-IntersystemSONConfigurationTransferDL CRITICALITY ignore TYPE IntersystemSONConfigurationTransfer PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- WARNING MESSAGE TRANSMISSION ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Write-Replace Warning Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- WRITE-REPLACE WARNING REQUEST +-- +-- ************************************************************** + +WriteReplaceWarningRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} }, + ... +} + +WriteReplaceWarningRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| + { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| + { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }| + { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }| + { ID id-NumberOfBroadcastsRequested CRITICALITY reject TYPE NumberOfBroadcastsRequested PRESENCE mandatory }| + { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }| + { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }| + { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }| + { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }| + { ID id-ConcurrentWarningMessageInd CRITICALITY reject TYPE ConcurrentWarningMessageInd PRESENCE optional }| + { ID id-WarningAreaCoordinates CRITICALITY ignore TYPE WarningAreaCoordinates PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- WRITE-REPLACE WARNING RESPONSE +-- +-- ************************************************************** + +WriteReplaceWarningResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} }, + ... +} + +WriteReplaceWarningResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| + { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| + { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PWS Cancel Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PWS CANCEL REQUEST +-- +-- ************************************************************** + +PWSCancelRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PWSCancelRequestIEs} }, + ... +} + +PWSCancelRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| + { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| + { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }| + { ID id-CancelAllWarningMessages CRITICALITY reject TYPE CancelAllWarningMessages PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PWS CANCEL RESPONSE +-- +-- ************************************************************** + +PWSCancelResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PWSCancelResponseIEs} }, + ... +} + +PWSCancelResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| + { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| + { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PWS Restart Indication Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PWS RESTART INDICATION +-- +-- ************************************************************** + +PWSRestartIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PWSRestartIndicationIEs} }, + ... +} + +PWSRestartIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-CellIDListForRestart CRITICALITY reject TYPE CellIDListForRestart PRESENCE mandatory }| + { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }| + { ID id-TAIListForRestart CRITICALITY reject TYPE TAIListForRestart PRESENCE mandatory }| + { ID id-EmergencyAreaIDListForRestart CRITICALITY reject TYPE EmergencyAreaIDListForRestart PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PWS Failure Indication Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PWS FAILURE INDICATION +-- +-- ************************************************************** + +PWSFailureIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PWSFailureIndicationIEs} }, + ... +} + +PWSFailureIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-PWSFailedCellIDList CRITICALITY reject TYPE PWSFailedCellIDList PRESENCE mandatory }| + { ID id-GlobalRANNodeID CRITICALITY reject TYPE GlobalRANNodeID PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- NRPPA TRANSPORT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- DOWNLINK UE ASSOCIATED NRPPA TRANSPORT +-- +-- ************************************************************** + +DownlinkUEAssociatedNRPPaTransport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkUEAssociatedNRPPaTransportIEs} }, + ... +} + +DownlinkUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }| + { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UPLINK UE ASSOCIATED NRPPA TRANSPORT +-- +-- ************************************************************** + +UplinkUEAssociatedNRPPaTransport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkUEAssociatedNRPPaTransportIEs} }, + ... +} + +UplinkUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }| + { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- DOWNLINK NON UE ASSOCIATED NRPPA TRANSPORT +-- +-- ************************************************************** + +DownlinkNonUEAssociatedNRPPaTransport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkNonUEAssociatedNRPPaTransportIEs} }, + ... +} + +DownlinkNonUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= { + { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }| + { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UPLINK NON UE ASSOCIATED NRPPA TRANSPORT +-- +-- ************************************************************** + +UplinkNonUEAssociatedNRPPaTransport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkNonUEAssociatedNRPPaTransportIEs} }, + ... +} + +UplinkNonUEAssociatedNRPPaTransportIEs NGAP-PROTOCOL-IES ::= { + { ID id-RoutingID CRITICALITY reject TYPE RoutingID PRESENCE mandatory }| + { ID id-NRPPa-PDU CRITICALITY reject TYPE NRPPa-PDU PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- TRACE ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- TRACE START +-- +-- ************************************************************** + +TraceStart ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TraceStartIEs} }, + ... +} + +TraceStartIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- TRACE FAILURE INDICATION +-- +-- ************************************************************** + +TraceFailureIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} }, + ... +} + +TraceFailureIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-NGRANTraceID CRITICALITY ignore TYPE NGRANTraceID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- DEACTIVATE TRACE +-- +-- ************************************************************** + +DeactivateTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DeactivateTraceIEs} }, + ... +} + +DeactivateTraceIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-NGRANTraceID CRITICALITY ignore TYPE NGRANTraceID PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- CELL TRAFFIC TRACE +-- +-- ************************************************************** + +CellTrafficTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} }, + ... +} + +CellTrafficTraceIEs NGAP-PROTOCOL-IES ::= { + {ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + {ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + {ID id-NGRANTraceID CRITICALITY ignore TYPE NGRANTraceID PRESENCE mandatory }| + {ID id-NGRAN-CGI CRITICALITY ignore TYPE NGRAN-CGI PRESENCE mandatory }| + {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }| + {ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }| + {ID id-TraceCollectionEntityURI CRITICALITY ignore TYPE URI-address PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORTING ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- LOCATION REPORTING CONTROL +-- +-- ************************************************************** + +LocationReportingControl ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} }, + ... +} + +LocationReportingControlIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORTING FAILURE INDICATION +-- +-- ************************************************************** + +LocationReportingFailureIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportingFailureIndicationIEs} }, + ... +} + +LocationReportingFailureIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORT +-- +-- ************************************************************** + +LocationReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportIEs} }, + ... +} + +LocationReportIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE mandatory }| + { ID id-UEPresenceInAreaOfInterestList CRITICALITY ignore TYPE UEPresenceInAreaOfInterestList PRESENCE optional }| + { ID id-LocationReportingRequestType CRITICALITY ignore TYPE LocationReportingRequestType PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UE TNLA BINDING ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE TNLA BINDING RELEASE REQUEST +-- +-- ************************************************************** + +UETNLABindingReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UETNLABindingReleaseRequestIEs} }, + ... +} + +UETNLABindingReleaseRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY MANAGEMENT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY INFO INDICATION +-- +-- ************************************************************** + +UERadioCapabilityInfoIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERadioCapabilityInfoIndicationIEs} }, + ... +} + +UERadioCapabilityInfoIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory }| + { ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional }| + { ID id-UERadioCapability-EUTRA-Format CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE Radio Capability Check Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY CHECK REQUEST +-- +-- ************************************************************** + +UERadioCapabilityCheckRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERadioCapabilityCheckRequestIEs} }, + ... +} + +UERadioCapabilityCheckRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY CHECK RESPONSE +-- +-- ************************************************************** + +UERadioCapabilityCheckResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERadioCapabilityCheckResponseIEs} }, + ... +} + +UERadioCapabilityCheckResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-IMSVoiceSupportIndicator CRITICALITY reject TYPE IMSVoiceSupportIndicator PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container { { PrivateMessageIEs } }, + ... +} + +PrivateMessageIEs NGAP-PRIVATE-IES ::= { + ... +} + + +-- ************************************************************** +-- +-- DATA USAGE REPORTING ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SECONDARY RAT DATA USAGE REPORT +-- +-- ************************************************************** + +SecondaryRATDataUsageReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecondaryRATDataUsageReportIEs} }, + ... +} + +SecondaryRATDataUsageReportIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY ignore TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-PDUSessionResourceSecondaryRATUsageList CRITICALITY ignore TYPE PDUSessionResourceSecondaryRATUsageList PRESENCE mandatory }| + { ID id-HandoverFlag CRITICALITY ignore TYPE HandoverFlag PRESENCE optional }| + { ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RIM INFORMATION TRANSFER ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UPLINK RIM INFORMATION TRANSFER +-- +-- ************************************************************** + +UplinkRIMInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UplinkRIMInformationTransferIEs} }, + ... +} + +UplinkRIMInformationTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-RIMInformationTransfer CRITICALITY ignore TYPE RIMInformationTransfer PRESENCE optional }, + ... +} +-- ************************************************************** +-- +-- DOWNLINK RIM INFORMATION TRANSFER +-- +-- ************************************************************** + +DownlinkRIMInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DownlinkRIMInformationTransferIEs} }, + ... +} + +DownlinkRIMInformationTransferIEs NGAP-PROTOCOL-IES ::= { + { ID id-RIMInformationTransfer CRITICALITY ignore TYPE RIMInformationTransfer PRESENCE optional }, + + ... +} + +-- ************************************************************** +-- +-- Connection Establishment Indication +-- +-- ************************************************************** + +ConnectionEstablishmentIndication::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ConnectionEstablishmentIndicationIEs} }, + ... +} + +ConnectionEstablishmentIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }| + { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional }| + { ID id-S-NSSAI CRITICALITY ignore TYPE S-NSSAI PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY ignore TYPE AllowedNSSAI PRESENCE optional }| + { ID id-UE-DifferentiationInfo CRITICALITY ignore TYPE UE-DifferentiationInfo PRESENCE optional }| + { ID id-DL-CP-SecurityInformation CRITICALITY ignore TYPE DL-CP-SecurityInformation PRESENCE optional }| + { ID id-NB-IoT-UEPriority CRITICALITY ignore TYPE NB-IoT-UEPriority PRESENCE optional }| + { ID id-Enhanced-CoverageRestriction CRITICALITY ignore TYPE Enhanced-CoverageRestriction PRESENCE optional }| + { ID id-CEmodeBrestricted CRITICALITY ignore TYPE CEmodeBrestricted PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional }| + { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }| + { ID id-OldAMF CRITICALITY reject TYPE AMFName PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY ID MAPPING ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY ID MAPPING REQUEST +-- +-- ************************************************************** + +UERadioCapabilityIDMappingRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERadioCapabilityIDMappingRequestIEs} }, + ... +} + +UERadioCapabilityIDMappingRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY ID MAPPING RESPONSE +-- +-- ************************************************************** + +UERadioCapabilityIDMappingResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERadioCapabilityIDMappingResponseIEs} }, + ... +} + +UERadioCapabilityIDMappingResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE mandatory }| + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- AMF CP Relocation Indication +-- +-- ************************************************************** + +AMFCPRelocationIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { AMFCPRelocationIndicationIEs} }, + ... +} + +AMFCPRelocationIndicationIEs NGAP-PROTOCOL-IES ::= { + { ID id-AMF-UE-NGAP-ID CRITICALITY reject TYPE AMF-UE-NGAP-ID PRESENCE mandatory }| + { ID id-RAN-UE-NGAP-ID CRITICALITY reject TYPE RAN-UE-NGAP-ID PRESENCE mandatory }| + { ID id-S-NSSAI CRITICALITY ignore TYPE S-NSSAI PRESENCE optional }| + { ID id-AllowedNSSAI CRITICALITY ignore TYPE AllowedNSSAI PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBS SESSION MANAGEMENT ELEMENTARY PROCEDURES +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Broadcast Session Setup Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- BROADCAST SESSION SETUP REQUEST +-- +-- ************************************************************** + +BroadcastSessionSetupRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionSetupRequestIEs} }, + ... +} +-- WS modification: define a dedicated type +MBSSessionSetupOrModRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionSetupOrModRequestTransfer) + +BroadcastSessionSetupRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-S-NSSAI CRITICALITY reject TYPE S-NSSAI PRESENCE mandatory }| + { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionSetupRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModRequestTransfer) PRESENCE mandatory }, + { ID id-MBSSessionSetupRequestTransfer CRITICALITY reject TYPE MBSSessionSetupOrModRequestTransfer-OCTET-STRING PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- BROADCAST SESSION SETUP RESPONSE +-- +-- ************************************************************** + +BroadcastSessionSetupResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionSetupResponseIEs} }, + ... +} + +-- WS modification: define a dedicated type +MBSSessionSetupOrModResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionSetupOrModResponseTransfer) + +BroadcastSessionSetupResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionSetupResponseTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModResponseTransfer) PRESENCE optional }| + { ID id-MBSSessionSetupResponseTransfer CRITICALITY reject TYPE MBSSessionSetupOrModResponseTransfer-OCTET-STRING PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- BROADCAST SESSION SETUP FAILURE +-- +-- ************************************************************** + +BroadcastSessionSetupFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionSetupFailureIEs} }, + ... +} + +-- WS modification: define a dedicated type +MBSSessionSetupOrModFailureTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionSetupOrModFailureTransfer) + +BroadcastSessionSetupFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionSetupFailureTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModFailureTransfer ) PRESENCE optional }| + { ID id-MBSSessionSetupFailureTransfer CRITICALITY reject TYPE MBSSessionSetupOrModFailureTransfer-OCTET-STRING PRESENCE optional }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Broadcast Session Modification Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- BROADCAST SESSION MODIFICATION REQUEST +-- +-- ************************************************************** + +BroadcastSessionModificationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionModificationRequestIEs} }, + ... +} + +BroadcastSessionModificationRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-ServiceArea CRITICALITY reject TYPE MBS-ServiceArea PRESENCE optional }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionModificationRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModRequestTransfer) PRESENCE optional }, + { ID id-MBSSessionModificationRequestTransfer CRITICALITY reject TYPE MBSSessionSetupOrModRequestTransfer-OCTET-STRING PRESENCE optional }, ... +} + +-- ************************************************************** +-- +-- BROADCAST SESSION MODIFICATION RESPONSE +-- +-- ************************************************************** + +BroadcastSessionModificationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionModificationResponseIEs} }, + ... +} + +BroadcastSessionModificationResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionModificationResponseTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModResponseTransfer) PRESENCE optional }| + { ID id-MBSSessionModificationResponseTransfer CRITICALITY reject TYPE MBSSessionSetupOrModResponseTransfer-OCTET-STRING PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- BROADCAST SESSION MODIFICATION FAILURE +-- +-- ************************************************************** + +BroadcastSessionModificationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionModificationFailureIEs} }, + ... +} + +BroadcastSessionModificationFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionModificationFailureTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBSSessionSetupOrModFailureTransfer) PRESENCE optional }| + { ID id-MBSSessionModificationFailureTransfer CRITICALITY reject TYPE MBSSessionSetupOrModFailureTransfer-OCTET-STRING PRESENCE optional }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Broadcast Session Release Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- BROADCAST SESSION RELEASE REQUEST +-- +-- ************************************************************** + +BroadcastSessionReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionReleaseRequestIEs} }, + ... +} + +BroadcastSessionReleaseRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- Broadcast Session Release Required Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- BROADCAST SESSION RELEASE REQUIRED +-- +-- ************************************************************** + +BroadcastSessionReleaseRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionReleaseRequiredIEs} }, + ... +} + +BroadcastSessionReleaseRequiredIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- BROADCAST SESSION RELEASE RESPONSE +-- +-- ************************************************************** + +BroadcastSessionReleaseResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {BroadcastSessionReleaseResponseIEs} }, + ... +} + +-- WS modification: defien a dedicated type +MBSSessionReleaseResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBSSessionReleaseResponseTransfer) + +BroadcastSessionReleaseResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MBSSessionReleaseResponseTransfer CRITICALITY ignore TYPE OCTET STRING (CONTAINING MBSSessionReleaseResponseTransfer) PRESENCE optional }| + { ID id-MBSSessionReleaseResponseTransfer CRITICALITY ignore TYPE MBSSessionReleaseResponseTransfer-OCTET-STRING PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + + +-- ************************************************************** +-- +-- Distribution Setup Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- DISTRIBUTION SETUP REQUEST +-- +-- ************************************************************** + +DistributionSetupRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DistributionSetupRequestIEs} }, + ... +} + +-- WS modification: define a dedicated type +MBS-DistributionSetupRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionSetupRequestTransfer) + +DistributionSetupRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| +-- WS modification: define a dedicated type +-- { ID id-MBS-DistributionSetupRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBS-DistributionSetupRequestTransfer) PRESENCE mandatory }, + { ID id-MBS-DistributionSetupRequestTransfer CRITICALITY reject TYPE MBS-DistributionSetupRequestTransfer-OCTET-STRING PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- DISTRIBUTION SETUP RESPONSE +-- +-- ************************************************************** + +DistributionSetupResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DistributionSetupResponseIEs} }, + ... +} + +-- WS modification: define a dedicated type +MBS-DistributionSetupResponseTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionSetupResponseTransfer) + +DistributionSetupResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| +-- WS modification: define a dedicated type +-- { ID id-MBS-DistributionSetupResponseTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBS-DistributionSetupResponseTransfer) PRESENCE mandatory }| + { ID id-MBS-DistributionSetupResponseTransfer CRITICALITY reject TYPE MBS-DistributionSetupResponseTransfer-OCTET-STRING PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- DISTRIBUTION SETUP FAILURE +-- +-- ************************************************************** + +DistributionSetupFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DistributionSetupFailureIEs} }, + ... +} + +-- WS modification: define a dedicated type +MBS-DistributionSetupUnsuccessfulTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionSetupUnsuccessfulTransfer) + +DistributionSetupFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| +-- WS modification: define a dedicated type +-- { ID id-MBS-DistributionSetupUnsuccessfulTransfer CRITICALITY ignore TYPE OCTET STRING (CONTAINING MBS-DistributionSetupUnsuccessfulTransfer) PRESENCE mandatory }| + { ID id-MBS-DistributionSetupUnsuccessfulTransfer CRITICALITY ignore TYPE MBS-DistributionSetupUnsuccessfulTransfer-OCTET-STRING PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Distribution Release Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- DISTRIBUTION RELEASE REQUEST +-- +-- ************************************************************** + +DistributionReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DistributionReleaseRequestIEs} }, + ... +} + +-- WS modification: define a dedicated type +MBS-DistributionReleaseRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MBS-DistributionReleaseRequestTransfer) + +DistributionReleaseRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| +-- WS modification: define a dedicated type +-- { ID id-MBS-DistributionReleaseRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MBS-DistributionReleaseRequestTransfer) PRESENCE mandatory }| + { ID id-MBS-DistributionReleaseRequestTransfer CRITICALITY reject TYPE MBS-DistributionReleaseRequestTransfer-OCTET-STRING PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- DISTRIBUTION RELEASE RESPONSE +-- +-- ************************************************************** + +DistributionReleaseResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DistributionReleaseResponseIEs} }, + ... +} + +DistributionReleaseResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Multicast Session Activation Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MULTICAST SESSION ACTIVATION REQUEST +-- +-- ************************************************************** + +MulticastSessionActivationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionActivationRequestIEs} }, + ... +} + +-- WS modification: define a dedicated type +MulticastSessionActivationRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MulticastSessionActivationRequestTransfer) + +MulticastSessionActivationRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MulticastSessionActivationRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MulticastSessionActivationRequestTransfer) PRESENCE mandatory }, + { ID id-MulticastSessionActivationRequestTransfer CRITICALITY reject TYPE MulticastSessionActivationRequestTransfer-OCTET-STRING PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- MULTICAST SESSION ACTIVATION RESPONSE +-- +-- ************************************************************** + +MulticastSessionActivationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionActivationResponseIEs} }, + ... +} + +MulticastSessionActivationResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MULTICAST SESSION ACTIVATION FAILURE +-- +-- ************************************************************** + +MulticastSessionActivationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionActivationFailureIEs} }, + ... +} + +MulticastSessionActivationFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Multicast Session Deactivation Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MULTICAST SESSION DEACTIVATION REQUEST +-- +-- ************************************************************** + +MulticastSessionDeactivationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionDeactivationRequestIEs} }, + ... +} + +-- WS modification: define a dedicated type +MulticastSessionDeactivationRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MulticastSessionDeactivationRequestTransfer) + +MulticastSessionDeactivationRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| +-- WS modification: define a dedicated type +-- { ID id-MulticastSessionDeactivationRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MulticastSessionDeactivationRequestTransfer) PRESENCE mandatory }, + { ID id-MulticastSessionDeactivationRequestTransfer CRITICALITY reject TYPE MulticastSessionDeactivationRequestTransfer-OCTET-STRING PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- MULTICAST SESSION DEACTIVATION RESPONSE +-- +-- ************************************************************** + +MulticastSessionDeactivationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionDeactivationResponseIEs} }, + ... +} + +MulticastSessionDeactivationResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Multicast Session Update Elementary Procedure +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MULTICAST SESSION UPDATE REQUEST +-- +-- ************************************************************** + +MulticastSessionUpdateRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionUpdateRequestIEs} }, + ... +} + +-- WS modification: define a dedicated type +MulticastSessionUpdateRequestTransfer-OCTET-STRING ::= OCTET STRING (CONTAINING MulticastSessionUpdateRequestTransfer) + +MulticastSessionUpdateRequestIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| +-- WS modification: define a dedicated type +-- { ID id-MulticastSessionUpdateRequestTransfer CRITICALITY reject TYPE OCTET STRING (CONTAINING MulticastSessionUpdateRequestTransfer) PRESENCE mandatory }, + { ID id-MulticastSessionUpdateRequestTransfer CRITICALITY reject TYPE MulticastSessionUpdateRequestTransfer-OCTET-STRING PRESENCE mandatory }, + ... +} + +-- ************************************************************** +-- +-- MULTICAST SESSION UPDATE RESPONSE +-- +-- ************************************************************** + +MulticastSessionUpdateResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionUpdateResponseIEs} }, + ... +} + +MulticastSessionUpdateResponseIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MULTICAST SESSION UPDATE FAILURE +-- +-- ************************************************************** + +MulticastSessionUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastSessionUpdateFailureIEs} }, + ... +} + +MulticastSessionUpdateFailureIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY reject TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-AreaSessionID CRITICALITY reject TYPE MBS-AreaSessionID PRESENCE optional }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MULTICAST GROUP PAGING ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MULTICAST GROUP PAGING +-- +-- ************************************************************** + +MulticastGroupPaging ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MulticastGroupPagingIEs} }, + ... +} + +MulticastGroupPagingIEs NGAP-PROTOCOL-IES ::= { + { ID id-MBS-SessionID CRITICALITY ignore TYPE MBS-SessionID PRESENCE mandatory }| + { ID id-MBS-ServiceArea CRITICALITY ignore TYPE MBS-ServiceArea PRESENCE optional }| + { ID id-MulticastGroupPagingAreaList CRITICALITY ignore TYPE MulticastGroupPagingAreaList PRESENCE mandatory }, + ... +} + + +END diff --git a/ttcn/LibNGAP/lib/asn1/NGAP_PDU_Descriptions.asn b/ttcn/LibNGAP/lib/asn1/NGAP_PDU_Descriptions.asn new file mode 100644 index 0000000000000000000000000000000000000000..d8dbd98a7fb3edcd8df312e5f93d6aaaab1bc091 --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/NGAP_PDU_Descriptions.asn @@ -0,0 +1,888 @@ +-- 3GPP TS 38.413 V17.5.0 (2023-06) +-- 9.4.3 Elementary Procedure Definitions +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** + +NGAP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + + Criticality, + ProcedureCode +FROM NGAP-CommonDataTypes + + AMFConfigurationUpdate, + AMFConfigurationUpdateAcknowledge, + AMFConfigurationUpdateFailure, + AMFCPRelocationIndication, + AMFStatusIndication, + BroadcastSessionModificationFailure, + BroadcastSessionModificationRequest, + BroadcastSessionModificationResponse, + BroadcastSessionReleaseRequest, + BroadcastSessionReleaseRequired, + BroadcastSessionReleaseResponse, + BroadcastSessionSetupFailure, + BroadcastSessionSetupRequest, + BroadcastSessionSetupResponse, + CellTrafficTrace, + ConnectionEstablishmentIndication, + DeactivateTrace, + DistributionReleaseRequest, + DistributionReleaseResponse, + DistributionSetupFailure, + DistributionSetupRequest, + DistributionSetupResponse, + DownlinkNASTransport, + DownlinkNonUEAssociatedNRPPaTransport, + DownlinkRANConfigurationTransfer, + DownlinkRANEarlyStatusTransfer, + DownlinkRANStatusTransfer, + DownlinkUEAssociatedNRPPaTransport, + ErrorIndication, + HandoverCancel, + HandoverCancelAcknowledge, + HandoverCommand, + HandoverFailure, + HandoverNotify, + HandoverPreparationFailure, + HandoverRequest, + HandoverRequestAcknowledge, + HandoverRequired, + HandoverSuccess, + InitialContextSetupFailure, + InitialContextSetupRequest, + InitialContextSetupResponse, + InitialUEMessage, + LocationReport, + LocationReportingControl, + LocationReportingFailureIndication, + MulticastSessionActivationFailure, + MulticastSessionActivationRequest, + MulticastSessionActivationResponse, + MulticastSessionDeactivationRequest, + MulticastSessionDeactivationResponse, + MulticastSessionUpdateFailure, + MulticastSessionUpdateRequest, + MulticastSessionUpdateResponse, + MulticastGroupPaging, + NASNonDeliveryIndication, + NGReset, + NGResetAcknowledge, + NGSetupFailure, + NGSetupRequest, + NGSetupResponse, + OverloadStart, + OverloadStop, + Paging, + PathSwitchRequest, + PathSwitchRequestAcknowledge, + PathSwitchRequestFailure, + PDUSessionResourceModifyConfirm, + PDUSessionResourceModifyIndication, + PDUSessionResourceModifyRequest, + PDUSessionResourceModifyResponse, + PDUSessionResourceNotify, + PDUSessionResourceReleaseCommand, + PDUSessionResourceReleaseResponse, + PDUSessionResourceSetupRequest, + PDUSessionResourceSetupResponse, + PrivateMessage, + PWSCancelRequest, + PWSCancelResponse, + PWSFailureIndication, + PWSRestartIndication, + RANConfigurationUpdate, + RANConfigurationUpdateAcknowledge, + RANConfigurationUpdateFailure, + RANCPRelocationIndication, + RerouteNASRequest, + RetrieveUEInformation, + RRCInactiveTransitionReport, + SecondaryRATDataUsageReport, + TraceFailureIndication, + TraceStart, + UEContextModificationFailure, + UEContextModificationRequest, + UEContextModificationResponse, + UEContextReleaseCommand, + UEContextReleaseComplete, + UEContextReleaseRequest, + UEContextResumeRequest, + UEContextResumeResponse, + UEContextResumeFailure, + UEContextSuspendRequest, + UEContextSuspendResponse, + UEContextSuspendFailure, + UEInformationTransfer, + UERadioCapabilityCheckRequest, + UERadioCapabilityCheckResponse, + UERadioCapabilityIDMappingRequest, + UERadioCapabilityIDMappingResponse, + UERadioCapabilityInfoIndication, + UETNLABindingReleaseRequest, + UplinkNASTransport, + UplinkNonUEAssociatedNRPPaTransport, + UplinkRANConfigurationTransfer, + UplinkRANEarlyStatusTransfer, + UplinkRANStatusTransfer, + UplinkUEAssociatedNRPPaTransport, + WriteReplaceWarningRequest, + WriteReplaceWarningResponse, + UplinkRIMInformationTransfer, + DownlinkRIMInformationTransfer + +FROM NGAP-PDU-Contents + + id-AMFConfigurationUpdate, + id-AMFCPRelocationIndication, + id-AMFStatusIndication, + id-BroadcastSessionModification, + id-BroadcastSessionRelease, + id-BroadcastSessionReleaseRequired, + id-BroadcastSessionSetup, + id-CellTrafficTrace, + id-ConnectionEstablishmentIndication, + id-DeactivateTrace, + id-DistributionSetup, + id-DistributionRelease, + id-DownlinkNASTransport, + id-DownlinkNonUEAssociatedNRPPaTransport, + id-DownlinkRANConfigurationTransfer, + id-DownlinkRANEarlyStatusTransfer, + id-DownlinkRANStatusTransfer, + id-DownlinkUEAssociatedNRPPaTransport, + id-ErrorIndication, + id-HandoverCancel, + id-HandoverNotification, + id-HandoverPreparation, + id-HandoverResourceAllocation, + id-HandoverSuccess, + id-InitialContextSetup, + id-InitialUEMessage, + id-LocationReport, + id-LocationReportingControl, + id-LocationReportingFailureIndication, + id-MulticastSessionActivation, + id-MulticastSessionDeactivation, + id-MulticastSessionUpdate, + id-MulticastGroupPaging, + id-NASNonDeliveryIndication, + id-NGReset, + id-NGSetup, + id-OverloadStart, + id-OverloadStop, + id-Paging, + id-PathSwitchRequest, + id-PDUSessionResourceModify, + id-PDUSessionResourceModifyIndication, + id-PDUSessionResourceNotify, + id-PDUSessionResourceRelease, + id-PDUSessionResourceSetup, + id-PrivateMessage, + id-PWSCancel, + id-PWSFailureIndication, + id-PWSRestartIndication, + id-RANConfigurationUpdate, + id-RANCPRelocationIndication, + id-RerouteNASRequest, + id-RetrieveUEInformation, + id-RRCInactiveTransitionReport, + id-SecondaryRATDataUsageReport, + id-TraceFailureIndication, + id-TraceStart, + id-UEContextModification, + id-UEContextRelease, + id-UEContextReleaseRequest, + id-UEContextResume, + id-UEContextSuspend, + id-UEInformationTransfer, + id-UERadioCapabilityCheck, + id-UERadioCapabilityIDMapping, + id-UERadioCapabilityInfoIndication, + id-UETNLABindingRelease, + id-UplinkNASTransport, + id-UplinkNonUEAssociatedNRPPaTransport, + id-UplinkRANConfigurationTransfer, + id-UplinkRANEarlyStatusTransfer, + id-UplinkRANStatusTransfer, + id-UplinkUEAssociatedNRPPaTransport, + id-WriteReplaceWarning, + id-UplinkRIMInformationTransfer, + id-DownlinkRIMInformationTransfer + +FROM NGAP-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +NGAP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} + +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** + +NGAP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + +InitiatingMessage ::= SEQUENCE { + procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}), + criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value NGAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}) OPTIONAL +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}), + criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value NGAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode NGAP-ELEMENTARY-PROCEDURE.&procedureCode ({NGAP-ELEMENTARY-PROCEDURES}), + criticality NGAP-ELEMENTARY-PROCEDURE.&criticality ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value NGAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({NGAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +NGAP-ELEMENTARY-PROCEDURES NGAP-ELEMENTARY-PROCEDURE ::= { + NGAP-ELEMENTARY-PROCEDURES-CLASS-1 | + NGAP-ELEMENTARY-PROCEDURES-CLASS-2, + ... +} + +NGAP-ELEMENTARY-PROCEDURES-CLASS-1 NGAP-ELEMENTARY-PROCEDURE ::= { + aMFConfigurationUpdate | + broadcastSessionModification | + broadcastSessionRelease | + broadcastSessionSetup | + distributionSetup | + distributionRelease | + handoverCancel | + handoverPreparation | + handoverResourceAllocation | + initialContextSetup | + multicastSessionActivation | + multicastSessionDeactivation | + multicastSessionUpdate | + nGReset | + nGSetup | + pathSwitchRequest | + pDUSessionResourceModify | + pDUSessionResourceModifyIndication | + pDUSessionResourceRelease | + pDUSessionResourceSetup | + pWSCancel | + rANConfigurationUpdate | + uEContextModification | + uEContextRelease | + uEContextResume | + uEContextSuspend | + uERadioCapabilityCheck | + uERadioCapabilityIDMapping | + writeReplaceWarning, + ... +} + +NGAP-ELEMENTARY-PROCEDURES-CLASS-2 NGAP-ELEMENTARY-PROCEDURE ::= { + aMFCPRelocationIndication | + aMFStatusIndication | + broadcastSessionReleaseRequired | + cellTrafficTrace | + connectionEstablishmentIndication | + deactivateTrace | + downlinkNASTransport | + downlinkNonUEAssociatedNRPPaTransport | + downlinkRANConfigurationTransfer | + downlinkRANEarlyStatusTransfer | + downlinkRANStatusTransfer | + downlinkRIMInformationTransfer | + downlinkUEAssociatedNRPPaTransport | + errorIndication | + handoverNotification | + handoverSuccess | + initialUEMessage | + locationReport | + locationReportingControl | + locationReportingFailureIndication | + multicastGroupPaging | + nASNonDeliveryIndication | + overloadStart | + overloadStop | + paging | + pDUSessionResourceNotify | + privateMessage | + pWSFailureIndication | + pWSRestartIndication | + rANCPRelocationIndication | + rerouteNASRequest | + retrieveUEInformation | + rRCInactiveTransitionReport | + secondaryRATDataUsageReport | + traceFailureIndication | + traceStart | + uEContextReleaseRequest | + uEInformationTransfer | + uERadioCapabilityInfoIndication | + uETNLABindingRelease | + uplinkNASTransport | + uplinkNonUEAssociatedNRPPaTransport | + uplinkRANConfigurationTransfer | + uplinkRANEarlyStatusTransfer | + uplinkRANStatusTransfer | + uplinkRIMInformationTransfer | + uplinkUEAssociatedNRPPaTransport, + ... + +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + +aMFConfigurationUpdate NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE AMFConfigurationUpdate + SUCCESSFUL OUTCOME AMFConfigurationUpdateAcknowledge + UNSUCCESSFUL OUTCOME AMFConfigurationUpdateFailure + PROCEDURE CODE id-AMFConfigurationUpdate + CRITICALITY reject +} + +aMFCPRelocationIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE AMFCPRelocationIndication + PROCEDURE CODE id-AMFCPRelocationIndication + CRITICALITY reject +} + +aMFStatusIndication NGAP-ELEMENTARY-PROCEDURE ::={ + INITIATING MESSAGE AMFStatusIndication + PROCEDURE CODE id-AMFStatusIndication + CRITICALITY ignore +} + +broadcastSessionModification NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE BroadcastSessionModificationRequest + SUCCESSFUL OUTCOME BroadcastSessionModificationResponse + UNSUCCESSFUL OUTCOME BroadcastSessionModificationFailure + PROCEDURE CODE id-BroadcastSessionModification + CRITICALITY reject +} + +broadcastSessionRelease NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE BroadcastSessionReleaseRequest + SUCCESSFUL OUTCOME BroadcastSessionReleaseResponse + PROCEDURE CODE id-BroadcastSessionRelease + CRITICALITY reject +} + +broadcastSessionReleaseRequired NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE BroadcastSessionReleaseRequired + PROCEDURE CODE id-BroadcastSessionReleaseRequired + CRITICALITY reject +} + +broadcastSessionSetup NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE BroadcastSessionSetupRequest + SUCCESSFUL OUTCOME BroadcastSessionSetupResponse + UNSUCCESSFUL OUTCOME BroadcastSessionSetupFailure + PROCEDURE CODE id-BroadcastSessionSetup + CRITICALITY reject +} + +cellTrafficTrace NGAP-ELEMENTARY-PROCEDURE ::={ + INITIATING MESSAGE CellTrafficTrace + PROCEDURE CODE id-CellTrafficTrace + CRITICALITY ignore +} + +connectionEstablishmentIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ConnectionEstablishmentIndication + PROCEDURE CODE id-ConnectionEstablishmentIndication + CRITICALITY reject +} + +deactivateTrace NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DeactivateTrace + PROCEDURE CODE id-DeactivateTrace + CRITICALITY ignore +} + +distributionSetup NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DistributionSetupRequest + SUCCESSFUL OUTCOME DistributionSetupResponse + UNSUCCESSFUL OUTCOME DistributionSetupFailure + PROCEDURE CODE id-DistributionSetup + CRITICALITY reject +} + +distributionRelease NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DistributionReleaseRequest + SUCCESSFUL OUTCOME DistributionReleaseResponse + PROCEDURE CODE id-DistributionRelease + CRITICALITY reject +} + +downlinkNASTransport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkNASTransport + PROCEDURE CODE id-DownlinkNASTransport + CRITICALITY ignore +} + +downlinkNonUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkNonUEAssociatedNRPPaTransport + PROCEDURE CODE id-DownlinkNonUEAssociatedNRPPaTransport + CRITICALITY ignore +} + +downlinkRANConfigurationTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkRANConfigurationTransfer + PROCEDURE CODE id-DownlinkRANConfigurationTransfer + CRITICALITY ignore +} + +downlinkRANEarlyStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkRANEarlyStatusTransfer + PROCEDURE CODE id-DownlinkRANEarlyStatusTransfer + CRITICALITY ignore +} + +downlinkRANStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkRANStatusTransfer + PROCEDURE CODE id-DownlinkRANStatusTransfer + CRITICALITY ignore +} + +downlinkUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkUEAssociatedNRPPaTransport + PROCEDURE CODE id-DownlinkUEAssociatedNRPPaTransport + CRITICALITY ignore +} + +errorIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +handoverCancel NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HandoverCancel + SUCCESSFUL OUTCOME HandoverCancelAcknowledge + PROCEDURE CODE id-HandoverCancel + CRITICALITY reject +} + +handoverNotification NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HandoverNotify + PROCEDURE CODE id-HandoverNotification + CRITICALITY ignore +} + +handoverPreparation NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HandoverRequired + SUCCESSFUL OUTCOME HandoverCommand + UNSUCCESSFUL OUTCOME HandoverPreparationFailure + PROCEDURE CODE id-HandoverPreparation + CRITICALITY reject +} + +handoverResourceAllocation NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HandoverRequest + SUCCESSFUL OUTCOME HandoverRequestAcknowledge + UNSUCCESSFUL OUTCOME HandoverFailure + PROCEDURE CODE id-HandoverResourceAllocation + CRITICALITY reject +} + +handoverSuccess NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HandoverSuccess + PROCEDURE CODE id-HandoverSuccess + CRITICALITY ignore +} + +initialContextSetup NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE InitialContextSetupRequest + SUCCESSFUL OUTCOME InitialContextSetupResponse + UNSUCCESSFUL OUTCOME InitialContextSetupFailure + PROCEDURE CODE id-InitialContextSetup + CRITICALITY reject +} + +initialUEMessage NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE InitialUEMessage + PROCEDURE CODE id-InitialUEMessage + CRITICALITY ignore +} + +locationReport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReport + PROCEDURE CODE id-LocationReport + CRITICALITY ignore +} + +locationReportingControl NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReportingControl + PROCEDURE CODE id-LocationReportingControl + CRITICALITY ignore +} + +locationReportingFailureIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReportingFailureIndication + PROCEDURE CODE id-LocationReportingFailureIndication + CRITICALITY ignore +} + +multicastSessionActivation NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MulticastSessionActivationRequest + SUCCESSFUL OUTCOME MulticastSessionActivationResponse + UNSUCCESSFUL OUTCOME MulticastSessionActivationFailure + PROCEDURE CODE id-MulticastSessionActivation + CRITICALITY reject +} + +multicastSessionDeactivation NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MulticastSessionDeactivationRequest + SUCCESSFUL OUTCOME MulticastSessionDeactivationResponse + PROCEDURE CODE id-MulticastSessionDeactivation + CRITICALITY reject +} + +multicastSessionUpdate NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MulticastSessionUpdateRequest + SUCCESSFUL OUTCOME MulticastSessionUpdateResponse + UNSUCCESSFUL OUTCOME MulticastSessionUpdateFailure + PROCEDURE CODE id-MulticastSessionUpdate + CRITICALITY reject +} + +multicastGroupPaging NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MulticastGroupPaging + PROCEDURE CODE id-MulticastGroupPaging + CRITICALITY ignore +} + +nASNonDeliveryIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE NASNonDeliveryIndication + PROCEDURE CODE id-NASNonDeliveryIndication + CRITICALITY ignore +} + +nGReset NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE NGReset + SUCCESSFUL OUTCOME NGResetAcknowledge + PROCEDURE CODE id-NGReset + CRITICALITY reject +} + +nGSetup NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE NGSetupRequest + SUCCESSFUL OUTCOME NGSetupResponse + UNSUCCESSFUL OUTCOME NGSetupFailure + PROCEDURE CODE id-NGSetup + CRITICALITY reject +} + +overloadStart NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE OverloadStart + PROCEDURE CODE id-OverloadStart + CRITICALITY ignore +} + +overloadStop NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE OverloadStop + PROCEDURE CODE id-OverloadStop + CRITICALITY reject +} + +paging NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Paging + PROCEDURE CODE id-Paging + CRITICALITY ignore +} + +pathSwitchRequest NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PathSwitchRequest + SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge + UNSUCCESSFUL OUTCOME PathSwitchRequestFailure + PROCEDURE CODE id-PathSwitchRequest + CRITICALITY reject +} + +pDUSessionResourceModify NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PDUSessionResourceModifyRequest + SUCCESSFUL OUTCOME PDUSessionResourceModifyResponse + PROCEDURE CODE id-PDUSessionResourceModify + CRITICALITY reject +} + +pDUSessionResourceModifyIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PDUSessionResourceModifyIndication + SUCCESSFUL OUTCOME PDUSessionResourceModifyConfirm + PROCEDURE CODE id-PDUSessionResourceModifyIndication + CRITICALITY reject +} + +pDUSessionResourceNotify NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PDUSessionResourceNotify + PROCEDURE CODE id-PDUSessionResourceNotify + CRITICALITY ignore +} + +pDUSessionResourceRelease NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PDUSessionResourceReleaseCommand + SUCCESSFUL OUTCOME PDUSessionResourceReleaseResponse + PROCEDURE CODE id-PDUSessionResourceRelease + CRITICALITY reject +} + +pDUSessionResourceSetup NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PDUSessionResourceSetupRequest + SUCCESSFUL OUTCOME PDUSessionResourceSetupResponse + PROCEDURE CODE id-PDUSessionResourceSetup + CRITICALITY reject +} + +privateMessage NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + PROCEDURE CODE id-PrivateMessage + CRITICALITY ignore +} + +pWSCancel NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PWSCancelRequest + SUCCESSFUL OUTCOME PWSCancelResponse + PROCEDURE CODE id-PWSCancel + CRITICALITY reject +} + +pWSFailureIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PWSFailureIndication + PROCEDURE CODE id-PWSFailureIndication + CRITICALITY ignore +} + +pWSRestartIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PWSRestartIndication + PROCEDURE CODE id-PWSRestartIndication + CRITICALITY ignore +} + +rANConfigurationUpdate NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RANConfigurationUpdate + SUCCESSFUL OUTCOME RANConfigurationUpdateAcknowledge + UNSUCCESSFUL OUTCOME RANConfigurationUpdateFailure + PROCEDURE CODE id-RANConfigurationUpdate + CRITICALITY reject +} + +rANCPRelocationIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RANCPRelocationIndication + PROCEDURE CODE id-RANCPRelocationIndication + CRITICALITY reject +} + +rerouteNASRequest NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RerouteNASRequest + PROCEDURE CODE id-RerouteNASRequest + CRITICALITY reject +} + + +retrieveUEInformation NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RetrieveUEInformation + PROCEDURE CODE id-RetrieveUEInformation + CRITICALITY reject +} + +rRCInactiveTransitionReport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RRCInactiveTransitionReport + PROCEDURE CODE id-RRCInactiveTransitionReport + CRITICALITY ignore +} + +secondaryRATDataUsageReport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SecondaryRATDataUsageReport + PROCEDURE CODE id-SecondaryRATDataUsageReport + CRITICALITY ignore +} + +traceFailureIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE TraceFailureIndication + PROCEDURE CODE id-TraceFailureIndication + CRITICALITY ignore +} + +traceStart NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE TraceStart + PROCEDURE CODE id-TraceStart + CRITICALITY ignore +} + +uEContextModification NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEContextModificationRequest + SUCCESSFUL OUTCOME UEContextModificationResponse + UNSUCCESSFUL OUTCOME UEContextModificationFailure + PROCEDURE CODE id-UEContextModification + CRITICALITY reject +} + +uEContextRelease NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEContextReleaseCommand + SUCCESSFUL OUTCOME UEContextReleaseComplete + PROCEDURE CODE id-UEContextRelease + CRITICALITY reject +} + +uEContextReleaseRequest NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEContextReleaseRequest + PROCEDURE CODE id-UEContextReleaseRequest + CRITICALITY ignore +} + +uEContextResume NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEContextResumeRequest + SUCCESSFUL OUTCOME UEContextResumeResponse + UNSUCCESSFUL OUTCOME UEContextResumeFailure + PROCEDURE CODE id-UEContextResume + CRITICALITY reject +} + +uEContextSuspend NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEContextSuspendRequest + SUCCESSFUL OUTCOME UEContextSuspendResponse + UNSUCCESSFUL OUTCOME UEContextSuspendFailure + PROCEDURE CODE id-UEContextSuspend + CRITICALITY reject +} + +uEInformationTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEInformationTransfer + PROCEDURE CODE id-UEInformationTransfer + CRITICALITY reject +} + +uERadioCapabilityCheck NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UERadioCapabilityCheckRequest + SUCCESSFUL OUTCOME UERadioCapabilityCheckResponse + PROCEDURE CODE id-UERadioCapabilityCheck + CRITICALITY reject +} + +uERadioCapabilityIDMapping NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UERadioCapabilityIDMappingRequest + SUCCESSFUL OUTCOME UERadioCapabilityIDMappingResponse + PROCEDURE CODE id-UERadioCapabilityIDMapping + CRITICALITY reject +} + +uERadioCapabilityInfoIndication NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UERadioCapabilityInfoIndication + PROCEDURE CODE id-UERadioCapabilityInfoIndication + CRITICALITY ignore +} + +uETNLABindingRelease NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UETNLABindingReleaseRequest + PROCEDURE CODE id-UETNLABindingRelease + CRITICALITY ignore +} + +uplinkNASTransport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkNASTransport + PROCEDURE CODE id-UplinkNASTransport + CRITICALITY ignore +} + +uplinkNonUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkNonUEAssociatedNRPPaTransport + PROCEDURE CODE id-UplinkNonUEAssociatedNRPPaTransport + CRITICALITY ignore +} + +uplinkRANConfigurationTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkRANConfigurationTransfer + PROCEDURE CODE id-UplinkRANConfigurationTransfer + CRITICALITY ignore +} + +uplinkRANEarlyStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkRANEarlyStatusTransfer + PROCEDURE CODE id-UplinkRANEarlyStatusTransfer + CRITICALITY reject +} + +uplinkRANStatusTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkRANStatusTransfer + PROCEDURE CODE id-UplinkRANStatusTransfer + CRITICALITY ignore +} + +uplinkUEAssociatedNRPPaTransport NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkUEAssociatedNRPPaTransport + PROCEDURE CODE id-UplinkUEAssociatedNRPPaTransport + CRITICALITY ignore +} + +writeReplaceWarning NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE WriteReplaceWarningRequest + SUCCESSFUL OUTCOME WriteReplaceWarningResponse + PROCEDURE CODE id-WriteReplaceWarning + CRITICALITY reject +} + +uplinkRIMInformationTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkRIMInformationTransfer + PROCEDURE CODE id-UplinkRIMInformationTransfer + CRITICALITY ignore +} + +downlinkRIMInformationTransfer NGAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DownlinkRIMInformationTransfer + PROCEDURE CODE id-DownlinkRIMInformationTransfer + CRITICALITY ignore +} + +END diff --git a/ttcn/LibNGAP/lib/asn1/converter-example.mk b/ttcn/LibNGAP/lib/asn1/converter-example.mk new file mode 100644 index 0000000000000000000000000000000000000000..15c6946f25e5ff9635eea25e855a23d5e5907d0f --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/converter-example.mk @@ -0,0 +1,33 @@ +include Makefile.am.libasncodec + +LIBS += -lm +CFLAGS += $(ASN_MODULE_CFLAGS) -DASN_PDU_COLLECTION -I. +ASN_LIBRARY ?= libasncodec.a +ASN_PROGRAM ?= converter-example +ASN_PROGRAM_SRCS ?= \ + converter-example.c\ + pdu_collection.c + +all: $(ASN_PROGRAM) + +$(ASN_PROGRAM): $(ASN_LIBRARY) $(ASN_PROGRAM_SRCS:.c=.o) + $(CC) $(CFLAGS) $(CPPFLAGS) -o $(ASN_PROGRAM) $(ASN_PROGRAM_SRCS:.c=.o) $(LDFLAGS) $(ASN_LIBRARY) $(LIBS) + +$(ASN_LIBRARY): $(ASN_MODULE_SRCS:.c=.o) + $(AR) rcs $@ $(ASN_MODULE_SRCS:.c=.o) + +.SUFFIXES: +.SUFFIXES: .c .o + +.c.o: + $(CC) $(CFLAGS) -o $@ -c $< + +clean: + rm -f $(ASN_PROGRAM) $(ASN_LIBRARY) + rm -f $(ASN_MODULE_SRCS:.c=.o) $(ASN_PROGRAM_SRCS:.c=.o) + +regen: regenerate-from-asn1-source + +regenerate-from-asn1-source: + asn1c NGAP_CommonDataTypes.asn + diff --git a/ttcn/LibNGAP/lib/asn1/module.mk b/ttcn/LibNGAP/lib/asn1/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..047fef3bcccfa69dfe551cc1171d26b4ce4e9537 --- /dev/null +++ b/ttcn/LibNGAP/lib/asn1/module.mk @@ -0,0 +1,2 @@ +sources := NGAP_CommonDataTypes.asn NGAP_Constants.asn NGAP_Containers.asn NGAP_IEs.asn NGAP_PDU_Contents.asn NGAP_PDU_Descriptions.asn + diff --git a/ttcn/LibNGAP/lib_system/LibNGAP_Interface.ttcn b/ttcn/LibNGAP/lib_system/LibNGAP_Interface.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1dba94c96a05c4c856bf498e67fa6544042d1b94 --- /dev/null +++ b/ttcn/LibNGAP/lib_system/LibNGAP_Interface.ttcn @@ -0,0 +1,74 @@ +/** + * @author ETSI / STF + * @version $URL:$ + * $Id:$ + * @desc This module provides the types used by the test component for NGAP tests. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * @see ETSI TS / 3GPP TS + */ +module LibNGAP_Interface { + + // LibCommon + import from LibCommon_Sync all; + + // LibNGAP + import from NGAP_IEs language "ASN.1:1997" all; + import from NGAP_PDU_Descriptions language "ASN.1:1997" all; + import from LibNGAP_Pixits all; + + group portDefinitions { + + /** + * @desc NGAP protocol port + */ + type port NGAPPort message { + inout NGAP_PDU + } // End of type NGAPPort + + } // End of group portDefinitions + + group interfacePorts { + type component NGAPComponent extends SelfSyncComp { + // Port + port NGAPPort N2_gNBaMF_P; + + // Global variables + + var boolean vc_serverStop:=false; + + // test adapter params + var charstring vc_ETS_address := ""; //defined in init + var charstring vc_ETS_address2 := ""; //defined in init + var integer vc_ETS_port := 3868; //defined in init + var integer vc_ETS_port2 := 3869; //defined in init + var charstring vc_SUT_address := ""; //defined in init + var integer vc_SUT_port := 3868; //defined in init + + + var NGAP_PDU vc_sendNGAP_PDU ; + var NGAP_PDU vc_recvNGAP_PDU ; + var NGAP_PDU vc_recvNGAP_PDUDefault ; //global variable defined to save Dimeter message received within default altstep + + // Init of values at component started + // Note: generation of following MME and ENB UE IDs can be done randomly in init + //var AMF_UE_NGAP_ID vc_AMF_UE_ID := 10; + //var GNB_UE_NGAP_ID vc_gNB_UE_ID := 11; + + // General timers + timer tc_wait := PX_NGAP_TWAIT; + timer tc_delay := 0.3; // delay next Request + + // Variables for storing default references + var default vc_default_ngap; + var default vc_def_catchSyncStop_ngap; + + } // End of type component NGAPComponent + + + } // End of group interfacePorts + +} // End of module LibNGAP_Interface + diff --git a/ttcn/LibNGAP/lib_system/LibNGAP_Steps.ttcn b/ttcn/LibNGAP/lib_system/LibNGAP_Steps.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e5ffc459cb92e33a0493c2e5fe08ccd871b3967b --- /dev/null +++ b/ttcn/LibNGAP/lib_system/LibNGAP_Steps.ttcn @@ -0,0 +1,384 @@ +/** + * @author ETSI / + * @version $URL$ + * $Id$ + * @desc This module provides functions used in NGAP. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * @see ETSI TS / 3GPP TS + */ +module LibNGAP_Steps { + + // LibCommon + import from LibCommon_Sync all; + import from LibCommon_VerdictControl all; + import from LibCommon_BasicTypesAndValues all; + + // LibNGAP + import from NGAP_CommonDataTypes language "ASN.1:1997" all; + import from NGAP_PDU_Descriptions language "ASN.1:1997" all; + import from NGAP_IEs language "ASN.1:1997" all; + + import from LibNGAP_TypesAndValues all; + import from LibNGAP_Interface all; + import from LibNGAP_Pixits all; + import from LibNGAP_Templates all; + + /** + * @desc Common functions description + */ + group commonFunctions { + + } // End of group commonFunctions + + /** + * @desc Receive functions description + */ + group receivePDU { + + /** + * @desc This is a test step that assign common NGAP + * @param p_PDU Extract the message payload from the NGAP PDU + */ + function f_NGAPPDU_Get( + inout NGAP_PDU p_PDU + ) runs on NGAPComponent { + + vc_recvNGAP_PDU := p_PDU; + + if (ischosen(p_PDU.initiatingMessage)) { + // Nothing to do + } + if (ischosen(p_PDU.successfulOutcome)) { + // Nothing to do + } + if (ischosen(p_PDU.unsuccessfulOutcome)) { + // Nothing to do + } + } // End of function f_NGAPPDU_Get + + /** + * @desc Receive NGAP PDU from protocol port + * @param p_PDU template of the message to be received + */ + function f_recv_NGAP_PDU( + in template NGAP_PDU p_PDU + ) runs on NGAPComponent { + var NGAP_PDU v_PDU; + + tc_wait.start; + alt { + [] N2_gNBaMF_P.receive(p_PDU) -> value v_PDU { + tc_wait.stop; + f_NGAPPDU_Get(v_PDU) + } + [] tc_wait.timeout { + setverdict(inconc,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***"); + //Stop the component in case of timeout + all timer.stop; + f_componentStop(); + } + } + + } // End of function f_recv_NGAP_PDU + + /** + * @desc Receive NGAP PDU with InitiatingMessage payload from protocol port + * @param p_initiatingMessage Receive template for InitiatingMessage message + */ + function f_recv_NGAP_initiatingMessage( + template (present) InitiatingMessage p_initiatingMessage := ? + ) runs on NGAPComponent { + f_recv_NGAP_PDU( { initiatingMessage := p_initiatingMessage }) + } // End of function f_recv_NGAP_initiatingMessage + + /** + * @desc Receive NGAP PDU with SuccessfulOutcome payload from protocol port + * @param p_successfulOutcome Receive template for SuccessfulOutcome message + */ + function f_recv_NGAP_successfulOutcome( + template (present) SuccessfulOutcome p_successfulOutcome := ? + ) runs on NGAPComponent { + f_recv_NGAP_PDU( {successfulOutcome := p_successfulOutcome}) + } // End of f_recv_NGAP_successfulOutcome + + /** + * @desc Receive NGAP PDU with UnsuccessfulOutcome payload from protocol port + * @param p_unsuccessfulOutcome Receive template for UnsuccessfulOutcome message + */ + function f_recv_NGAP_unsuccessfulOutcome( + template (present) UnsuccessfulOutcome p_unsuccessfulOutcome := ? + ) runs on NGAPComponent { + f_recv_NGAP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome}) + } // End of function f_recv_NGAP_unsuccessfulOutcome + + + } // End of group receivePDU + + /** + * @desc Send functions description + */ + group sendPDU { + + /** + * @desc This is a test step that assign common NGAP + * @param p_PDU The NGAP protocol message to set up + */ + function f_NGAPPDU_Set( + inout template (value) NGAP_PDU p_PDU + ) runs on NGAPComponent { + + if (ischosen(p_PDU.initiatingMessage)) { + vc_sendNGAP_PDU:=valueof(p_PDU); + } + if (ischosen(p_PDU.successfulOutcome)) { + vc_sendNGAP_PDU:=valueof(p_PDU); + } + if (ischosen(p_PDU.unsuccessfulOutcome)) { + vc_sendNGAP_PDU:=valueof(p_PDU); + } + + } // End of function f_NGAPPDU_Set + + /** + * @desc Send NGAP PDU to protocol port + * @param p_PDU template value message to be send + */ + function f_send_NGAP_PDU( + in template (value) NGAP_PDU p_PDU + ) runs on NGAPComponent { + f_NGAPPDU_Set(p_PDU); + N2_gNBaMF_P.send(p_PDU); + } // End of function f_send_NGAPPDU + + /** + * @desc Send NGAP PDU with InitiatingMessage payload from protocol port + * @param p_initiatingMessage Send value template for InitiatingMessage message + */ + function f_send_NGAP_initiatingMessage( + in template (value) InitiatingMessage p_initiatingMessage, + in template (value) Criticality p_criticality := reject + ) runs on NGAPComponent { + f_send_NGAP_PDU( {initiatingMessage := p_initiatingMessage}) + } // End of function f_send_NGAP_initiatingMessage + + /** + * @desc Send NGAP PDU with SuccessfulOutcome payload from protocol port + * @param p_successfulOutcome Send value template for SuccessfulOutcome message + */ + function f_send_NGAP_successfulOutcome( + in template (value) SuccessfulOutcome p_successfulOutcome + ) runs on NGAPComponent { + f_send_NGAP_PDU( {successfulOutcome := p_successfulOutcome}) + } // End of function f_send_NGAP_successfulOutcome + + /** + * @desc Send NGAP PDU with UnsuccessfulOutcome payload from protocol port + * @param p_unsuccessfulOutcome Send value template for UnsuccessfulOutcome message + */ + function f_send_NGAP_unsuccessfulOutcome( + in template (value) UnsuccessfulOutcome p_unsuccessfulOutcome + ) runs on NGAPComponent { + f_send_NGAP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome}) + } // End of function f_send_NGAP_unsuccessfulOutcome + + } // End of group sendPDU + + /** + * @desc Setup full procedure functions + * @see ETSI TS + */ + group fullProcedures { + } // End of group fullProcedures + + group externalFunctions { + } // End of group externalFunctions + + group preambles { + + group preamble_NGAP{ + + /** + * @desc + * @verdict + */ + function f_preambleNGAP_MME() + runs on NGAPComponent { + // Nothing to do + } // End of function f_preambleNGAP_MME + + /** + * @desc + * @verdict + */ + function f_preambleNGAP_eNB() + runs on NGAPComponent { + // Nothing to do + } // End of function f_preambleNGAP_eNB + + } // End of group preamble_NGAP + + } // End of group preambles + + group postambles { + + group postamble_NGAP{ + + /** + * @desc + * @verdict + */ + function f_postambleNGAP_gNB() + runs on NGAPComponent { + // Nothing to do + } // End of function f_postambleNGAP_gNB + + /** + * @desc + * @verdict + */ + function f_postambleNGAP_AMF() + runs on NGAPComponent { + // Nothing to do + } // End of function f_postambleNGAP_AMF + + } // End of group postamble_NGAP + + } // End of group postambles + + /** + * @desc Global 'altstep' statements description + */ + group globalSteps { + + /** + * @desc This is a test step that init NGAP component + */ + function f_NGAP_Init_Component() + runs on NGAPComponent { + // Nothing to do + } // End of function f_NGAP_Init_Component + + /** + * @desc Component termination + */ + function f_NGAP_terminate_component() + runs on NGAPComponent { + + log("component terminated - forced!"); + deactivate; + stop; + } // End of function f_NGAP_terminate_component + + /** + * @desc Component termination + */ + function f_componentStop() + runs on NGAPComponent { + + syncPort.send(m_syncClientStop); + N2_gNBaMF_P.clear; + stop; + } // End of function f_componentStop + + /** + * @desc Original copied from older LibCommon_VerdictControl + */ + function f_getVerdict() // FIXME Are you sure we really need it??? + return FncRetCode { + + var FncRetCode v_ret := e_error; + if (getverdict == pass or getverdict == none) { + v_ret := e_success; + } + return v_ret; + } // End of function + + } // End of group globalSteps + + /** + * @desc Default 'altstep' statements description + */ + group defaultsTestStep { + + /** + * @desc + * @verdict + */ + altstep a_defaultNGAP() + runs on NGAPComponent { + [] any timer.timeout { + all timer.stop; + if (vc_serverStop==false) { + f_selfOrClientSyncAndVerdict("error", e_timeout); + } + else { + stop; + } + } + [] N2_gNBaMF_P.receive (NGAP_PDU:{initiatingMessage := ?}) -> value vc_recvNGAP_PDUDefault { + repeat; + } + [] N2_gNBaMF_P.receive (NGAP_PDU:{successfulOutcome := ?}) -> value vc_recvNGAP_PDUDefault { + repeat; + } + [] N2_gNBaMF_P.receive (NGAP_PDU:{unsuccessfulOutcome := ?}) -> value vc_recvNGAP_PDUDefault { + repeat; + } + [] N2_gNBaMF_P.receive (NGAP_PDU:?) -> value vc_recvNGAP_PDUDefault { + if (vc_serverStop==false) { + f_selfOrClientSyncAndVerdict("error", e_error); + } + else { + stop; + } + } + [] N2_gNBaMF_P.receive { + if (vc_serverStop==false) { + f_selfOrClientSyncAndVerdict("error", e_error); + } + else { + stop; + } + } + [] a_shutdown() { + // Process temination on error + log("*** a_defaultNGAP() : Process temination on error ***"); + // Terminate component execution + stop; + } + } // End of altstep a_defaultNGAP + + altstep a_defaultNGAP_MME() + runs on NGAPComponent { + [] any timer.timeout { + all timer.stop; + if (vc_serverStop==false) { + f_selfOrClientSyncAndVerdict("error", e_timeout); + } + else { + stop; + } + } + // Note: possible unscollicited messages should be filtered + } // End of altstep a_defaultNGAP_MME + + altstep a_defaultNGAP_eNB() + runs on NGAPComponent { + [] any timer.timeout { + all timer.stop; + if (vc_serverStop==false) { + f_selfOrClientSyncAndVerdict("error", e_timeout); + } + else { + stop; + } + } + // Note: possible unscollicited messages should be filtered + } // End of altstep a_defaultNGAP_eNB + + } // End of group defaultsTestStep + +} // End of module LibNGAP_Steps diff --git a/ttcn/LibNGAP/module.mk b/ttcn/LibNGAP/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..beb3f85c476705b9f066668623465ed374a2304b --- /dev/null +++ b/ttcn/LibNGAP/module.mk @@ -0,0 +1,9 @@ +sources := \ + lib/LibNGAP_TypesAndValues.ttcn \ + lib/LibNGAP_Pixits.ttcn \ + lib/LibNGAP_Templates.ttcn \ + lib/LibNGAP_EncdecDeclarations.ttcn \ + lib_system/LibNGAP_Interface.ttcn \ + lib_system/LibNGAP_Steps.ttcn + +modules := lib/asn1 diff --git a/ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module b/ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module new file mode 160000 index 0000000000000000000000000000000000000000..f6b2d2ba3f486dea778e108ce60e02a3fcae9ff8 --- /dev/null +++ b/ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module @@ -0,0 +1 @@ +Subproject commit f6b2d2ba3f486dea778e108ce60e02a3fcae9ff8 diff --git a/ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module.mk b/ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..9b0b530e68349c8056d17bf0cfc676adf70adcb8 --- /dev/null +++ b/ttcn/modules/titan.TestPorts.Common_Components.Abstract_Socket/module.mk @@ -0,0 +1,2 @@ +sources := module/src/Abstract_Socket.cc +includes := module/src \ No newline at end of file diff --git a/ttcn/patch_lib_common_titan/module.mk b/ttcn/patch_lib_common_titan/module.mk new file mode 100644 index 0000000000000000000000000000000000000000..b4b7cd736054dea420eca51497e97decb81ba2be --- /dev/null +++ b/ttcn/patch_lib_common_titan/module.mk @@ -0,0 +1,9 @@ +sources := \ + ../patch_lib_common_titan/ttcn/LibCommon_AbstractData.ttcn \ + ../patch_lib_common_titan/ttcn/LibCommon_BasicTypesAndValues.ttcn \ + ../patch_lib_common_titan/ttcn/LibCommon_DataStrings.ttcn \ + ../patch_lib_common_titan/ttcn/LibCommon_Sync.ttcn \ + ttcn/LibCommon_TextStrings.ttcn \ + ttcn/LibCommon_Time.ttcn \ + ttcn/LibCommon_VerdictControl.ttcn + diff --git a/ttcn/patch_lib_common_titan/ttcn/LibCommon_AbstractData.ttcn b/ttcn/patch_lib_common_titan/ttcn/LibCommon_AbstractData.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ae5f859cfc20f83233a6a500d67ebc45abb7d80 --- /dev/null +++ b/ttcn/patch_lib_common_titan/ttcn/LibCommon_AbstractData.ttcn @@ -0,0 +1,137 @@ +/** + * @author ETSI + * @version $URL$ + * $Id$ + * @desc A collection of functions for abstract data types which may be + * useful in the implementation of any TTCN-3 test suite. + * @remark End users should be aware that any changes made to the in + * definitions this module may be overwritten in future releases. + * End users are encouraged to contact the distributers of this + * module regarding their modifications or additions so that future + * updates will include your changes. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * + */ + module LibCommon_AbstractData { + + import from LibCommon_BasicTypesAndValues all; + + group stringStack { + + type record StringStack { + UInt stackSize, + StringItems stringItems + } + + type record of charstring StringItems; + + /** + * @desc Constant which can be used to initialize a + * string stack. A string stack can be intialized by + * assigning this value in the variable declariation. + * An alternative is to call the initlialization function. + * @see LibCommon_AbstractData.f_initStringStack + * @remark Note that an initlialized stack stack is not + * necessarily the same as an empty string stack. + * An empty tring stack as 0 zero elements but may + * have a non empty list of (empty) items. + */ + const StringStack c_initStringStack := { 0, {} } + + /** + * @desc The invocation of this function will initialize + * a string stack to an empty string stack. + * An alternative is to initlialize a stack using a + * constant value. + * @see LibCommon_AbstractData.c_initStringStack + * @param p_stack String stack to be initialized. + */ + function f_initStringStack ( inout StringStack p_stack ) { + p_stack := c_initStringStack + } + + /** + * @desc This function checks if a string stack is empty. + * @param p_stack String stack to be checked. + * @return true if empty, false if not empty + */ + function f_isStringStackEmpty ( inout StringStack p_stack ) + return boolean { + if ( p_stack.stackSize == 0 ) {return true} + else {return false} + } + + /** + * @desc This function checks if a given string is on the + * string stack. + * @param p_stack String stack where the string item + * is to be looked for. + * @param p_item String to be checked for. + * @return true if found, false if not found + */ + function f_isItemOnStringStack ( inout StringStack p_stack, + in charstring p_item ) + return boolean { + var integer i; + for (i := 0; i < p_stack.stackSize; i := i+1 ) { + if ( p_stack.stringItems[i] == p_item ) { + return true; + } + } + return false; + } + + /** + * @desc This function checks if a given string is on the + * string stack. + * @param p_stack String stack where the string item + * is to be looked for. + * @param p_item String item on top of the stack. + * @return false if stack is empty, true otherwise + */ + function f_peekStringStackTop ( inout StringStack p_stack, + out charstring p_item) + return boolean { + if (p_stack.stackSize == 0) { + p_item := "f_peekTopStringStack: String stack is empty!"; + return false; + } + p_item := valueof(p_stack.stringItems[p_stack.stackSize-1]); + return true; + } + + + /** + * @desc This function puts a string to the top of a + * string stack. + * @param p_stack String stack to which the string item + * is to be added. + * @param p_item String to be added. + */ + function f_pushStringStack ( inout StringStack p_stack, + in charstring p_item ) { + p_stack.stringItems[p_stack.stackSize] := p_item; + p_stack.stackSize := p_stack.stackSize + 1; + } + + /** + * @desc This function removes the string from the top of a + * string stack. If the stack is empty nothing is done + * @param p_stack String stack from which the top string item + * is to be removed. + */ + function f_popStringStack ( inout StringStack p_stack ) { + if ( p_stack.stackSize > 0 ) { + p_stack.stackSize := p_stack.stackSize-1; + // "delete" top stack item to be safe + // Note: due to record of index the "old top" is size-1! + p_stack.stringItems[p_stack.stackSize] := ""; + } + } + + } // end group stringStack + +} // end module LibCommon_AbstractData diff --git a/ttcn/patch_lib_common_titan/ttcn/LibCommon_BasicTypesAndValues.ttcn b/ttcn/patch_lib_common_titan/ttcn/LibCommon_BasicTypesAndValues.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1077c603348eb4d6659c2de38dc5d71fa85adbd5 --- /dev/null +++ b/ttcn/patch_lib_common_titan/ttcn/LibCommon_BasicTypesAndValues.ttcn @@ -0,0 +1,247 @@ +/** + * @author ETSI + * @version $URL$ + * $Id$ + * @desc A collection of basic type and value definitions which may be + * useful in the implementation of any TTCN-3 test suite.

+ * @remark End users should be aware that any changes made to the in + * definitions this module may be overwritten in future releases. + * End users are encouraged to contact the distributers of this + * module regarding their modifications or additions so that future + * updates will include your changes. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * + */ + module LibCommon_BasicTypesAndValues { + + /** + * @remark Number in subtype name always indicates encoding length + * in _bits_ + */ + group unsignedIntegerDefintions { + + const integer c_uInt1Max := 1; + const integer c_uInt2Max := 3; + const integer c_uInt3Max := 7; + const integer c_uInt4Max := 15; + const integer c_uInt5Max := 31; + const integer c_uInt6Max := 63; + const integer c_uInt7Max := 127; + const integer c_uInt8Max := 255; + const integer c_uInt9Max := 511; + const integer c_uInt10Max := 1023; + const integer c_uInt11Max := 2047; + const integer c_uInt12Max := 4095; + const integer c_uInt13Max := 8191; + const integer c_uInt14Max := 16383; + const integer c_uInt15Max := 32767; + const integer c_uInt16Max := 65535; + const integer c_uInt17Max := 131071; + const integer c_uInt18Max := 262143; + const integer c_uInt19Max := 524287; + const integer c_uInt20Max := 1048575; + const integer c_uInt21Max := 2097151; + const integer c_uInt22Max := 4194303; + const integer c_uInt23Max := 8388607; + const integer c_uInt24Max := 16777215; + const integer c_uInt25Max := 33554431; + const integer c_uInt26Max := 67108863; + const integer c_uInt27Max := 134217727; + const integer c_uInt28Max := 268435456; + const integer c_uInt29Max := 536870911; + const integer c_uInt30Max := 1073741823; + const integer c_uInt31Max := 2147483647; + const integer c_uInt32Max := 4294967295; + const integer c_uInt36Max := 68719476735; + const integer c_uInt48Max := 281474976710655; + const integer c_uInt52Max := 4503599627370495; + const integer c_uInt64Max := 18446744073709551615; + + type integer UInt (0 .. infinity); + type integer UInt1 (0 .. c_uInt1Max) with {variant "unsigned 1 bit"}; + type integer UInt2 (0 .. c_uInt2Max) with {variant "unsigned 2 bit"}; + type integer UInt3 (0 .. c_uInt3Max) with {variant "unsigned 3 bit"}; + type integer UInt4 (0 .. c_uInt4Max) with {variant "unsigned 4 bit"}; + type integer UInt5 (0 .. c_uInt5Max) with {variant "unsigned 5 bit"}; + type integer UInt6 (0 .. c_uInt6Max) with {variant "unsigned 6 bit"}; + type integer UInt7 (0 .. c_uInt7Max) with {variant "unsigned 7 bit"}; + type integer UInt8 (0 .. c_uInt8Max) with {variant "unsigned 8 bit"}; + type integer UInt9 (0 .. c_uInt9Max) with {variant "unsigned 9 bit"}; + type integer UInt10 (0 .. c_uInt10Max) with {variant "unsigned 10 bit"}; + type integer UInt11 (0 .. c_uInt11Max) with {variant "unsigned 11 bit"}; + type integer UInt12 (0 .. c_uInt12Max) with {variant "unsigned 12 bit"}; + type integer UInt13 (0 .. c_uInt13Max) with {variant "unsigned 13 bit"}; + type integer UInt14 (0 .. c_uInt14Max) with {variant "unsigned 14 bit"}; + type integer UInt15 (0 .. c_uInt15Max) with {variant "unsigned 15 bit"}; + type integer UInt16 (0 .. c_uInt16Max) with {variant "unsigned 16 bit"}; + type integer UInt17 (0 .. c_uInt17Max) with {variant "unsigned 17 bit"}; + type integer UInt18 (0 .. c_uInt18Max) with {variant "unsigned 18 bit"}; + type integer UInt19 (0 .. c_uInt19Max) with {variant "unsigned 19 bit"}; + type integer UInt20 (0 .. c_uInt20Max) with {variant "unsigned 20 bit"}; + type integer UInt21 (0 .. c_uInt21Max) with {variant "unsigned 21 bit"}; + type integer UInt22 (0 .. c_uInt22Max) with {variant "unsigned 22 bit"}; + type integer UInt23 (0 .. c_uInt23Max) with {variant "unsigned 23 bit"}; + type integer UInt24 (0 .. c_uInt24Max) with {variant "unsigned 24 bit"}; + type integer UInt25 (0 .. c_uInt25Max) with {variant "unsigned 25 bit"}; + type integer UInt26 (0 .. c_uInt26Max) with {variant "unsigned 26 bit"}; + type integer UInt27 (0 .. c_uInt27Max) with {variant "unsigned 27 bit"}; + type integer UInt28 (0 .. c_uInt28Max) with {variant "unsigned 28 bit"}; + type integer UInt29 (0 .. c_uInt29Max) with {variant "unsigned 29 bit"}; + type integer UInt30 (0 .. c_uInt30Max) with {variant "unsigned 30 bit"}; + type integer UInt31 (0 .. c_uInt31Max) with {variant "unsigned 31 bit"}; + type integer UInt32 (0 .. c_uInt32Max) with {variant "unsigned 32 bit"}; + type integer UInt36 (0 .. c_uInt36Max) with {variant "unsigned 36 bit"}; + type integer UInt48 (0 .. c_uInt48Max) with {variant "unsigned 48 bit"}; + type integer UInt52 (0 .. c_uInt52Max) with {variant "unsigned 52 bit"}; + type integer UInt64 (0 .. c_uInt64Max) with {variant "unsigned 64 bit"}; + + } // end group unsignedIntegerDefintions + + /** + * @remark Number in subtype name always indicates encoding length + * in _bits_ + */ + group signedIntegerDefintions { + + const integer c_int1Min := -1; + const integer c_int1Max := 0; + const integer c_int2Min := -2; + const integer c_int2Max := 1; + const integer c_int3Min := -4; + const integer c_int3Max := 3; + const integer c_int4Min := -8; + const integer c_int4Max := 7; + const integer c_int5Min := -16; + const integer c_int5Max := 15; + const integer c_int6Min := -32; + const integer c_int6Max := 31; + const integer c_int7Min := -64; + const integer c_int7Max := 63; + const integer c_int8Min := -128; + const integer c_int8Max := 127; + const integer c_int9Min := -256; + const integer c_int9Max := 255; + const integer c_int10Min := -512; + const integer c_int10Max := 511; + const integer c_int11Min := -1024; + const integer c_int11Max := 1023; + const integer c_int12Min := -2048; + const integer c_int12Max := 2047; + const integer c_int13Min := -4096; + const integer c_int13Max := 4095; + const integer c_int14Min := -8192; + const integer c_int14Max := 8191; + const integer c_int15Min := -16384; + const integer c_int15Max := 16383; + const integer c_int16Min := -32768; + const integer c_int16Max := 32767; + const integer c_int17Min := -65536; + const integer c_int17Max := 65535; + const integer c_int18Min := -131072; + const integer c_int18Max := 131071; + const integer c_int19Min := -262144; + const integer c_int19Max := 262143; + const integer c_int20Min := -524288; + const integer c_int20Max := 524287; + const integer c_int21Min := -1048576; + const integer c_int21Max := 1048575; + const integer c_int22Min := -2097152; + const integer c_int22Max := 2097151; + const integer c_int23Min := -4194304; + const integer c_int23Max := 4194303; + const integer c_int24Min := -8388608; + const integer c_int24Max := 8388607; + const integer c_int25Min := -16777216; + const integer c_int25Max := 16777215; + const integer c_int26Min := -33554432; + const integer c_int26Max := 33554431; + const integer c_int27Min := -67108864; + const integer c_int27Max := 67108863; + const integer c_int28Min := -134217728; + const integer c_int28Max := 134217727; + const integer c_int29Min := -268435456; + const integer c_int29Max := 268435456; + const integer c_int30Min := -536870912; + const integer c_int30Max := 536870911; + const integer c_int31Min := -1073741824; + const integer c_int31Max := 1073741823; + const integer c_int32Min := -2147483648; + const integer c_int32Max := 2147483647; + + type integer Int; + type integer Int1 (c_int1Min .. c_int1Max) with { variant "1 bit"}; + type integer Int2 (c_int2Min .. c_int2Max) with { variant "2 bit"}; + type integer Int3 (c_int3Min .. c_int3Max) with { variant "3 bit"}; + type integer Int4 (c_int4Min .. c_int4Max) with { variant "4 bit"}; + type integer Int5 (c_int5Min .. c_int5Max) with { variant "5 bit"}; + type integer Int6 (c_int6Min .. c_int6Max) with { variant "6 bit"}; + type integer Int7 (c_int7Min .. c_int7Max) with { variant "7 bit"}; + type integer Int8 (c_int8Min .. c_int8Max) with { variant "8 bit"}; + type integer Int9 (c_int9Min .. c_int9Max) with { variant "9 bit"}; + type integer Int10 (c_int10Min .. c_int10Max) with { variant "10 bit"}; + type integer Int11 (c_int11Min .. c_int11Max) with { variant "11 bit"}; + type integer Int12 (c_int12Min .. c_int12Max) with { variant "12 bit"}; + type integer Int13 (c_int13Min .. c_int13Max) with { variant "13 bit"}; + type integer Int14 (c_int14Min .. c_int14Max) with { variant "14 bit"}; + type integer Int15 (c_int15Min .. c_int15Max) with { variant "15 bit"}; + type integer Int16 (c_int16Min .. c_int16Max) with { variant "16 bit"}; + type integer Int17 (c_int17Min .. c_int17Max) with { variant "17 bit"}; + type integer Int18 (c_int18Min .. c_int18Max) with { variant "18 bit"}; + type integer Int19 (c_int19Min .. c_int19Max) with { variant "19 bit"}; + type integer Int20 (c_int20Min .. c_int20Max) with { variant "20 bit"}; + type integer Int21 (c_int21Min .. c_int21Max) with { variant "21 bit"}; + type integer Int22 (c_int22Min .. c_int22Max) with { variant "22 bit"}; + type integer Int23 (c_int23Min .. c_int23Max) with { variant "23 bit"}; + type integer Int24 (c_int24Min .. c_int24Max) with { variant "24 bit"}; + type integer Int25 (c_int25Min .. c_int25Max) with { variant "25 bit"}; + type integer Int26 (c_int26Min .. c_int26Max) with { variant "26 bit"}; + type integer Int27 (c_int27Min .. c_int27Max) with { variant "27 bit"}; + type integer Int28 (c_int28Min .. c_int28Max) with { variant "28 bit"}; + type integer Int29 (c_int29Min .. c_int29Max) with { variant "29 bit"}; + type integer Int30 (c_int30Min .. c_int30Max) with { variant "30 bit"}; + type integer Int31 (c_int31Min .. c_int31Max) with { variant "31 bit"}; + type integer Int32 (c_int32Min .. c_int32Max) with { variant "32 bit"}; + + } // end group signedIntegerDefintions + + group zeroedIntegers { + + const UInt1 c_uInt1Zero := 0; + const UInt2 c_uInt2Zero := 0; + const UInt3 c_uInt3Zero := 0; + const UInt4 c_uInt4Zero := 0; + const UInt5 c_uInt5Zero := 0; + const UInt6 c_uInt6Zero := 0; + const UInt7 c_uInt7Zero := 0; + const UInt8 c_uInt8Zero := 0; + const UInt10 c_uInt10Zero := 0; + const UInt12 c_uInt12Zero := 0; + const UInt14 c_uInt14Zero := 0; + const UInt16 c_uInt16Zero := 0; + const UInt24 c_uInt24Zero := 0; + const UInt32 c_uInt32Zero := 0; + const UInt48 c_uInt48Zero := 0; + + }//end group zeroedInt + + /** + * @remark Number in subtype name always indicates encoding length + * in _bits_ + */ + group booleanDefintions { + + type boolean Bool1 with { variant "1 bit" }; + type boolean Bool2 with { variant "2 bit" }; + type boolean Bool3 with { variant "3 bit" }; + type boolean Bool4 with { variant "4 bit" }; + type boolean Bool5 with { variant "5 bit" }; + type boolean Bool6 with { variant "6 bit" }; + type boolean Bool7 with { variant "7 bit" }; + type boolean Bool8 with { variant "8 bit" }; + + } // end group booleanDefintions + +} // end module LibCommon_BasicTypesAndValues diff --git a/ttcn/patch_lib_common_titan/ttcn/LibCommon_DataStrings.ttcn b/ttcn/patch_lib_common_titan/ttcn/LibCommon_DataStrings.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0ee60f2fc782e88848d98433ec05663f379373f8 --- /dev/null +++ b/ttcn/patch_lib_common_titan/ttcn/LibCommon_DataStrings.ttcn @@ -0,0 +1,168 @@ +/** + * + * @author ETSI + * @version $URL$ + * $Id$ + * @desc A collection of data string type and value definitions which + * may be useful in the implementation of any TTCN-3 test + * suite. "Data string" refers to TTCN-3 hexstring, octetstring + * and bitstring types. + * @remark End users should be aware that any changes made to the in + * definitions this module may be overwritten in future releases. + * End users are encouraged to contact the distributers of this + * module regarding their modifications or additions so that future + * updates will include your changes. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * + */ + module LibCommon_DataStrings { + + /** + * @remark Number in name indicates string length in number of + * _bits_ + */ + group bitStringSubTypes { + + type bitstring Bit1 length(1) with {encode "length(1)"}; + type bitstring Bit2 length(2) with {encode "length(2)"}; + type bitstring Bit3 length(3) with {encode "length(3)"}; + type bitstring Bit4 length(4) with {encode "length(4)"}; + type bitstring Bit5 length(5) with {encode "length(5)"}; + type bitstring Bit6 length(6) with {encode "length(6)"}; + type bitstring Bit7 length(7) with {encode "length(7)"}; + type bitstring Bit8 length(8) with {encode "length(8)"}; + type bitstring Bit9 length(9) with {encode "length(9)"}; + type bitstring Bit10 length(10) with {encode "length(10)"}; + type bitstring Bit11 length(11) with {encode "length(11)"}; + type bitstring Bit12 length(12) with {encode "length(12)"}; + type bitstring Bit13 length(13) with {encode "length(13)"}; + type bitstring Bit14 length(14) with {encode "length(14)"}; + type bitstring Bit15 length(15) with {encode "length(15)"}; + type bitstring Bit16 length(16) with {encode "length(16)"}; + type bitstring Bit17 length(17) with {encode "length(17)"}; + type bitstring Bit18 length(18) with {encode "length(18)"}; + type bitstring Bit19 length(19) with {encode "length(19)"}; + type bitstring Bit20 length(20) with {encode "length(20)"}; + type bitstring Bit21 length(21) with {encode "length(21)"}; + type bitstring Bit22 length(22) with {encode "length(22)"}; + type bitstring Bit23 length(23) with {encode "length(23)"}; + type bitstring Bit24 length(24) with {encode "length(24)"}; + type bitstring Bit25 length(25) with {encode "length(25)"}; + type bitstring Bit26 length(26) with {encode "length(26)"}; + type bitstring Bit27 length(27) with {encode "length(27)"}; + type bitstring Bit28 length(28) with {encode "length(28)"}; + type bitstring Bit29 length(29) with {encode "length(29)"}; + type bitstring Bit30 length(30) with {encode "length(30)"}; + type bitstring Bit31 length(31) with {encode "length(31)"}; + type bitstring Bit32 length(32) with {encode "length(32)"}; + type bitstring Bit40 length(40) with {encode "length(40)"}; + + type bitstring Bit48 length(48) with {encode "length(48)"}; + type bitstring Bit64 length(64) with {encode "length(64)"}; + type bitstring Bit72 length(72) with {encode "length(72)"}; + type bitstring Bit128 length(128) with {encode "length(128)"}; + type bitstring Bit144 length(144) with {encode "length(144)"}; + type bitstring Bit256 length(256) with {encode "length(256)"}; + + } // end group bitStringSubTypes + + group zeroedBits { + + const Bit1 c_1ZeroBit := int2bit(0,1); + const Bit2 c_2ZeroBits := int2bit(0,2); + const Bit4 c_4ZeroBits := int2bit(0,4); + const Bit5 c_5ZeroBits := int2bit(0,5); + const Bit6 c_6ZeroBits := int2bit(0,6); + const Bit8 c_8ZeroBits := int2bit(0,8); + const Bit14 c_14ZeroBits := int2bit(0,14); + const Bit64 c_64ZeroBits := int2bit(0,64); + + }//end group zeroedBits + + /** + * @remark Number in name indicates string length in number of + * _octets_ + */ + group octetStringSubTypes { + + type octetstring Oct1 length(1) with {encode "length(1)"}; + type octetstring Oct2 length(2) with {encode "length(2)"}; + type octetstring Oct3 length(3) with {encode "length(3)"}; + type octetstring Oct4 length(4) with {encode "length(4)"}; + type octetstring Oct5 length(5) with {encode "length(5)"}; + type octetstring Oct6 length(6) with {encode "length(6)"}; + type octetstring Oct7 length(7) with {encode "length(7)"}; + type octetstring Oct8 length(8) with {encode "length(8)"}; + type octetstring Oct9 length(9) with {encode "length(9)"}; + type octetstring Oct10 length(10) with {encode "length(10)"}; + type octetstring Oct11 length(11) with {encode "length(11)"}; + type octetstring Oct12 length(12) with {encode "length(12)"}; + type octetstring Oct13 length(13) with {encode "length(13)"}; + type octetstring Oct14 length(14) with {encode "length(14)"}; + type octetstring Oct15 length(15) with {encode "length(15)"}; + type octetstring Oct16 length(16) with {encode "length(16)"}; + + type octetstring Oct20 length(20) with {encode "length(20)"}; + type octetstring Oct32 length(32) with {encode "length(32)"}; + type octetstring Oct48 length(48) with {encode "length(48)"}; + type octetstring Oct64 length(64) with {encode "length(64)"}; + type octetstring Oct80 length(80) with {encode "length(80)"}; + type octetstring Oct96 length(96) with {encode "length(96)"}; + type octetstring Oct128 length(128) with {encode "length(128)"}; + type octetstring Oct160 length(160) with {encode "length(160)"}; + type octetstring Oct320 length(320) with {encode "length(320)"}; + type octetstring Oct640 length(640) with {encode "length(640)"}; + type octetstring Oct1280 length(1280) with {encode "length(1280)"}; + type octetstring Oct1380 length(1380) with {encode "length(1380)"}; + + type octetstring Oct0to3 length(0..3) with {encode "length(0..3)"}; + type octetstring Oct0to8 length(0..16) with {encode "length(0..8)"}; + type octetstring Oct0to12 length(0..12) with {encode "length(0..12)"}; + type octetstring Oct0to16 length(0..16) with {encode "length(0..16)"}; + type octetstring Oct0to31 length(0..31) with {encode "length(0..31)"}; + type octetstring Oct0to20 length(0..20) with {encode "length(0..20)"}; + type octetstring Oct0to30 length(0..20) with {encode "length(0..30)"}; + type octetstring Oct0to127 length(0..127) with {encode "length(0..127)"}; + type octetstring Oct0to255 length(0..255) with {encode "length(0..255)"}; + + type octetstring Oct1to15 length(1..15) with {encode "length(1..15)"}; + type octetstring Oct1to31 length(1..31) with {encode "length(1..31)"}; + type octetstring Oct1to128 length(1..128) with {encode "length(1..128)"}; + type octetstring Oct1to254 length(1..254) with {encode "length(1..254)"}; + type octetstring Oct1to255 length(1..255) with {encode "length(1..255)"}; + + type octetstring Oct4to16 length(4..16) with {encode "length(4..16)"}; + type octetstring Oct6to15 length(6..15) with {encode "length(6..15)"}; + + } // end group octetStringSubTypes + + group zeroedBytes { + const Oct1 c_1ZeroByte := int2oct(0,1); + const Oct2 c_2ZeroBytes := int2oct(0,2); + const Oct4 c_4ZeroBytes := int2oct(0,4); + const Oct6 c_6ZeroBytes := int2oct(0,6); + const Oct8 c_8ZeroBytes := int2oct(0,8); + const Oct9 c_9ZeroBytes := int2oct(0,9); + const Oct12 c_12ZeroBytes := int2oct(0,12); + const Oct16 c_16ZeroBytes := int2oct(0,16); + const Oct20 c_20ZeroBytes := int2oct(0,20); + + const Oct80 c_80ZeroBytes := int2oct(0,80); + const Oct160 c_160ZeroBytes := int2oct(0,160); + const Oct320 c_320ZeroBytes := int2oct(0,320); + const Oct640 c_640ZeroBytes := int2oct(0,640); + const Oct1280 c_1280ZeroBytes := int2oct(0,1280); + const Oct1380 c_1380ZeroBytes := int2oct(0,1380); + const octetstring c_256ZeroBytes := int2oct(0,256); + const octetstring c_1KZeroBytes := int2oct(0,1024); + const octetstring c_4KZeroBytes := int2oct(0,4096); + const octetstring c_16KZeroBytes := int2oct(0,16384); + const octetstring c_64KZeroBytes := int2oct(0,65536); + const octetstring c_128KZeroBytes := int2oct(0,131072); + + }//end group zeroedBytes + +} // end module LibCommon_DataStrings diff --git a/ttcn/patch_lib_common_titan/ttcn/LibCommon_Sync.ttcn b/ttcn/patch_lib_common_titan/ttcn/LibCommon_Sync.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f39f5668a4f3a187f23c011da950b3861db45d6 --- /dev/null +++ b/ttcn/patch_lib_common_titan/ttcn/LibCommon_Sync.ttcn @@ -0,0 +1,1359 @@ +/** + * @author ETSI + * @version $URL$ + * $Id$ + * @desc This module implements _one_ generic synchronization mechanism + * for TTCN-3 test cases with one or more test components. + * Key concept is here that one test component acts as a + * synchronization server which listens and triggers one or more + * synchronization clients. It is recomended to use the MTC always as + * the synchronization server but in theory also a PTC can act as such + * a server.

+ * This synchronization is used by calling a function on + * the server test component to wait for a desired amount of clients + * to notify the server that they have reached a specific synchronization + * point. Each client test component must call another + * function to perform this notification.

+ * In the event that a client is not able to reach a synchronization + * point the server sends out a signal to all clients to abort the + * test case. This signal is a STOP message which can be caught by + * a test component default which in turn can then run a proper + * shut down behavior based on the current state of the test + * component.

+ * Note that this synchronization mechanism can also be used + * in a special mode called "self synchronization" when a test case + * only has one test component. Here, the test component in essence + * acts as a server and client at the same time. The main benefit of + * using self synchoronization is that the same shutdown mechanisms + * can also be reused fomr the multi component test cases.

+ * This module contains a lot of TTCN-3 definitions. It has been + * structured into tree main groups to help the user to identify + * quickly relevant TTCN-3 definitions. For rookie users of this + * module basicUserRelevantDefinitions should offer all the needed + * definitions. Advanced users can consider use of definitions in + * advancedUserRelevantDefinitions. Finally, internalDefinitions + * are definitions which are required for the module to work + * properly but do not need to be used in your code. Remember that + * the main motiviation of this sychronization module is to offer + * are _simple_ user interface. Practice has shown that when writing + * actual test component behavior _only a handful_ of functions + * usually wind up being used! Also check the synchronization examples + * module for example uses of this synchronization mechanism.

+ * The invocation of the sync functions is also closely tied + * to the verdict control functions which should also be reviewed + * prior to using this module.

+ * This module has been derived from EtsiCommon_Synchronization + * which was created in ETSIs STF256/276. It has been kept + * intentionally separate to avoid conflicts with future ETSI + * test suite releases. + * @see LibCommon_Sync.basicUserRelevantDefinitions + * @see LibCommon_Sync.advancedUserRelevantDefinitions + * @remark End users should be aware that any changes made to the in + * definitions this module may be overwritten in future releases. + * End users are encouraged to contact the distributers of this + * module regarding their modifications or additions so that future + * updates will include your changes. + * @copyright ETSI Copyright Notification + * No part may be reproduced except as authorized by written permission. + * The copyright and the foregoing restriction extend to reproduction in all media. + * All rights reserved. + * + */ +module LibCommon_Sync { + + //Common + import from LibCommon_BasicTypesAndValues all; + import from LibCommon_AbstractData all; + import from LibCommon_VerdictControl all; + + group basicUserRelevantDefinitions { + + group importantSyncTypeDefinitions { + + group compTypeRelated { + + /** + * @desc This type is used to be the base of any synchronization + * behavior which is to be executed on a sync server + * component. The test component which acts as a + * sync server in a test case must NOT directly use + * this component type in its runs on clause! + * Note that server synchronization functions may be + * invoked by a test component as long as its + * component type is type compatible to this component + * type definition! + */ + type component BaseSyncComp { + port SyncPort syncPort; + timer tc_sync := PX_TSYNC_TIME_LIMIT; + } + + /** + * @desc This type is used to define any synchronization + * behavior which is to be executed on a sync server + * component. The test component which acts as a + * sync server in a test case may - but does + * not have to - directly use this component type its + * runs on clause. + * Note that server synchronization functions may be + * invoked by a test component as long as its + * component type is type compatible to this component + * type definition! + */ + type component ServerSyncComp extends BaseSyncComp { + timer tc_shutDown := PX_TSHUT_DOWN_TIME_LIMIT; + } + + /** + * @desc This type is used to define any synchronization + * behavior which is to be executed on a sync client + * component. The test component(s) which act as a + * sync client in a test case may - but do not have + * to - directly use this component type their runs + * on clause. + * Note that server synchronization functions may be + * invoked by a test component as long as its + * component type is type compatible to this component + * type definition! + */ + type component ClientSyncComp extends BaseSyncComp { + var StringStack v_stateStack:= c_initStringStack; + var TestcaseStep vc_testcaseStep := e_preamble; + } + + /** + * @desc This type is used to define any synchronization + * behavior which is relevant to non-concurrent test + * cases. + * Note that self synchronization functions may be + * invoked by a test component as long as its + * component type is type compatible to this component + * type definition! + * Note also that this type is type compatible to the + * ClientSyncComp type so that shutdown altsteps from + * concurrent test cases can also be reused in single + * component test cases! + * @see LibCommon_Sync.ClientSyncComp + */ + type component SelfSyncComp extends ClientSyncComp { + port SyncPort syncSendPort; + } + + /** + * @desc This port type must be imported into test suites + * when defining test component types which are + * type compatible to a synchronization component + * type + * @see LibCommon_Sync.SelfSyncComp + * @see LibCommon_Sync.ServerSyncComp + * @see LibCommon_Sync.ClientSyncComp + */ + type port SyncPort message { + inout SyncCmd + } with { + extension "internal" + } + + + /** + * @desc Describes in which step of execution is the testcase + */ + type enumerated TestcaseStep { + e_preamble, + e_testBody, + e_postamble + } + + } // end compTypeRelated + + group standardSyncPointNames { + const charstring c_prDone := "preambleDone"; + const charstring c_poDone := "postambleDone"; + const charstring c_tbDone := "testBodyDone"; + const charstring c_initDone := "initDone"; + } + + } // end group importantSyncTypeDefinitions + + group syncCompTestConfiguration { + + /** + * @desc Calls self connect function if invoking + * component is the MTC or otherwise connects the client + * the server. This function allows to implement preambles + * in a way that they can be used by test components + * in both non-concurrent as well as concurrent test + * cases! + * @remark This function should _not_ be called if the MTC + * acts as a client (and not a server) in a concurrent + * test case. In this case f_connect4ClientSync + * should be used instead. + * @see LibCommon_Sync.f_connect4SelfSync + * @see LibCommon_Sync.f_connect4ClientSync + */ + function f_connect4SelfOrClientSync() + runs on SelfSyncComp { + if ( self == mtc ) { + f_connect4SelfSync(); + } else { + f_connect4ClientSync(); + } + } + + /** + * @desc Calls self connect function if the invoking + * component is the MTC or otherwise disconnects the client + * from the server. This function allows to implement + * postambles in a way that they can be used in both + * non-concurrent as well as concurrent test cases. + * @remark This function should _not_ be called if the MTC + * acts as a client (and not a server) in a concurrent + * test case. In this case f_disconnect4ClientSync + * should be used instead. + * @see LibCommon_Sync.f_disconnect4SelfSync + * @see LibCommon_Sync.f_disconnect4ClientSync + */ + function f_disconnect4SelfOrClientSync() + runs on SelfSyncComp { + if ( self == mtc ) { + f_disconnect4SelfSync(); + } else { + f_disconnect4ClientSync(); + } + } + + } // end group syncCompTestConfiguration + + group syncFunctions { + + /** + * @desc Implements synchronization of 2 clients from server side + * on one or more synchronization points. + * If problem occurs, then server sends STOP to all clients. + * Waits for PX_TSYNC_TIME_LIMIT to let clients + * finish executing their behavior until this + * synchronization point. After passing all synchronization + * points successfuly the server waits for all clients + * to stop. + * See f_serverSyncClientsTimed for overwriting this + * the timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @see LibCommon_Sync.f_serverWaitForAllClientsToStop + * @param p_syncPointIds list of synchronization point name/ids + */ + function f_serverSync2ClientsAndStop( in SyncPointList p_syncPointIds ) + runs on ServerSyncComp { + f_serverSyncNClientsAndStop(2, p_syncPointIds); + } + + /** + * @desc Implements synchronization of 3 clients from server side + * on one or more synchronization points. + * If problem occurs, then server sends STOP to all clients. + * Waits for PX_TSYNC_TIME_LIMIT to let clients + * finish executing their behavior until this + * synchronization point. After passing all synchronization + * points successfuly the server waits for all clients + * to stop. + * See f_serverSyncClientsTimed for overwriting this + * the timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @see LibCommon_Sync.f_serverWaitForAllClientsToStop + * @param p_syncPointIds list of synchronization point name/ids + */ + function f_serverSync3ClientsAndStop( in SyncPointList p_syncPointIds ) + runs on ServerSyncComp { + f_serverSyncNClientsAndStop(3, p_syncPointIds); + } + + /** + * @desc Implements synchronization of 4 clients from server side + * on one or more synchronization points. + * If problem occurs, then server sends STOP to all clients. + * Waits for PX_TSYNC_TIME_LIMIT to let clients + * finish executing their behavior until this + * synchronization point. After passing all synchronization + * points successfuly the server waits for all clients + * to stop. + * See f_serverSyncClientsTimed for overwriting this + * the timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @see LibCommon_Sync.f_serverWaitForAllClientsToStop + * @param p_syncPointIds list of synchronization point name/ids + */ + function f_serverSync4ClientsAndStop( in SyncPointList p_syncPointIds ) + runs on ServerSyncComp { + f_serverSyncNClientsAndStop(4, p_syncPointIds); + } + + /** + * @desc Implements synchronization of N clients from server side + * on one or more synchronization points. + * If problem occurs, then server sends STOP to all clients. + * Waits for PX_TSYNC_TIME_LIMIT to let clients + * finish executing their behavior until this + * synchronization point. After passing all synchronization + * points successfuly the server waits for all clients + * to stop. + * See f_serverSyncClientsTimed for overwriting this + * the timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @see LibCommon_Sync.f_serverWaitForAllClientsToStop + * @param p_numClients number of synchronization clients + * @param p_syncPointIds list of synchronization point name/ids + */ + function f_serverSyncNClientsAndStop ( + in UInt p_numClients, + in SyncPointList p_syncPointIds ) + runs on ServerSyncComp { + var integer i, v_noOfSyncIds := sizeof(p_syncPointIds); + for ( i := 0; i < v_noOfSyncIds; i := i+1 ) { + f_serverSyncClientsTimed ( + p_numClients, + valueof(p_syncPointIds[i]), + PX_TSYNC_TIME_LIMIT ); + } + f_serverWaitForAllClientsToStop(); + } + + /** + * @desc Implements synchronization of 2 clients and 1 UT from server side + * on one or more synchronization points. + * If problem occurs, then server sends STOP to all clients. + * Waits for PX_TSYNC_TIME_LIMIT to let clients + * finish executing their behavior until this + * synchronization point. After passing all synchronization + * points successfuly the server waits for all clients + * to stop. + * See f_serverSyncClientsTimed for overwriting this + * the timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @see LibCommon_Sync.f_serverWaitForAllClientsToStop + * @param p_syncPointIds list of synchronization point name/ids + */ + function f_serverSync2ClientsUtAndStop( in SyncPointList p_syncPointIds ) + runs on ServerSyncComp { + var integer i, v_noOfSyncIds := sizeof(p_syncPointIds); + for ( i := 0; i < v_noOfSyncIds; i := i+1 ) { + f_serverSyncClientsTimed(3,valueof(p_syncPointIds[i]), PX_TSYNC_TIME_LIMIT); + } + f_serverWaitForAllClientsToStop(); + } + + /** + * @desc Calls either self synchronization function if + * invoking component is the MTC, otherwise + * calls client synchronization. After that it + * sets the verdict based on the specified return code. + * This function allows to implement TTCN-3 functions + * in a way that they can be used in both non-concurrent + * as well as concurrent test cases. + * @remark This function should _not_ be called if the MTC + * acts as a client (and not a server) in a concurrent + * test case. In this case f_clientSyncAndVerdict + * should be used instead. + * @param p_syncPoint Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_Sync.f_clientSyncAndVerdict + * @see LibCommon_VerdictControl.f_setVerdict + */ + function f_selfOrClientSyncAndVerdict( in charstring p_syncPoint, + in FncRetCode p_ret) + runs on SelfSyncComp { + if ( self == mtc ) { + // then assume we are running non-conurrent test case + f_selfSyncAndVerdict(p_syncPoint, p_ret); + } else { + f_clientSyncAndVerdict(p_syncPoint, p_ret); + } + } + + /** + * @desc Calls either self synchronization function if + * invoking component is the MTC, otherwise + * calls client synchronization. After that it + * sets a preamble specific verdict based on the + * specified return code. + * This function allows to implement TTCN-3 functions + * in a way that they can be used in both non-concurrent + * as well as concurrent test cases. + * @remark This function should _not_ be called if the MTC + * acts as a client (and not a server) in a concurrent + * test case. In this case f_clientSyncAndVerdictPreamble + * should be used instead. + * @param p_syncPoint Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_Sync.f_clientSyncAndVerdict + * @see LibCommon_VerdictControl.f_setVerdictPreamble + */ + function f_selfOrClientSyncAndVerdictPreamble( in charstring p_syncPoint, + in FncRetCode p_ret) + runs on SelfSyncComp { + if ( self == mtc ) { + // then assume we are running non-conurrent test case + f_selfSyncAndVerdictPreamble(p_syncPoint, p_ret); + } else { + f_clientSyncAndVerdictPreamble(p_syncPoint, p_ret); + } + } + + /** + * @desc Calls either self synchronization function if + * invoking component is the MTC, otherwise + * calls client synchronization. After that it + * sets a preamble specific verdict based on the + * specified return code. + * This function allows to implement TTCN-3 functions + * in a way that they can be used in both non-concurrent + * as well as concurrent test cases. + * @remark This function should _not_ be called if the MTC + * acts as a client (and not a server) in a concurrent + * test case. In this case f_clientSyncAndVerdictTestBody + * should be used instead. + * @param p_syncPoint Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_Sync.f_clientSyncAndVerdict + * @see LibCommon_VerdictControl.f_setVerdictPreamble + */ + function f_selfOrClientSyncAndVerdictTestBody( in charstring p_syncPoint, + in FncRetCode p_ret) + runs on SelfSyncComp { + if ( self == mtc ) { + // then assume we are running non-conurrent test case + f_selfSyncAndVerdictTestBody(p_syncPoint, p_ret); + } else { + f_clientSyncAndVerdictTestBody(p_syncPoint, p_ret); + } + } + + /** + * @desc Function kept for backward compatibility + * @see f_selfOrClientSyncAndVerdictPreamble + * + */ + function f_selfOrClientSyncAndVerdictPR( in charstring p_syncPoint, + in FncRetCode p_ret) + runs on SelfSyncComp { + f_selfOrClientSyncAndVerdictPreamble(p_syncPoint, p_ret); + } + + } // end group syncFunctions + + group syncCompStateHandling { + + /** + * + * @desc This function updates the state (stack) of a + * sync client or self sync component. This stack is + * key in the shutdown handling of test components. + * It adds the new state name to the top of the + * sync component stack of states. + * The state will only be added in case of a current + * execution status of e_success. + * @param p_newSyncCompState Name of state which was attempted to be reached. + * @param p_ret Current behavior execution status + * @remark If the state of component changes this function must be + * _at least_ called from your test suite prior to f_selfSync + * or f_clientSync which is the only definite place for the + * shutdown default invocation! + * @see LibCommon_Sync.a_dummyShutDown + * @see LibCommon_Sync.f_selfSync + * @see LibCommon_Sync.f_clientSync + */ + function f_addSyncCompState(in charstring p_newSyncCompState, + in FncRetCode p_ret) + runs on ClientSyncComp { + if ( p_ret == e_success ) { + if ( f_isItemOnStringStack(v_stateStack,p_newSyncCompState) ) { + log("**** f_addSyncCompState: WARNING: Attempt to add state which is already on sync state stack! No additition done.****"); + } else { + f_pushStringStack(v_stateStack,p_newSyncCompState); + } + } + } // end function f_addSyncCompState + + /** + * + * @desc This function returns the top state on the sync + * state stack of a sync client or self sync + * component and removes it from the stack + * This function cna be used, e.g., in a while + * statement within a postamble or shutdown + * implementation + * @param p_state State on top of the state stack. + * @return false if state stack is empty, true otherwise + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_getTopSyncCompState( out charstring p_state ) + runs on ClientSyncComp + return boolean { + if ( not f_peekStringStackTop(v_stateStack,p_state) ) { + p_state := "IDLE"; + return false; + } + f_popStringStack(v_stateStack); + return true; + } // end function f_getTopSyncCompState + + /* + * @desc This function removes the last state on the state stack + * of a sync client or self sync component. + * This stack is key in the shutdown handling of test + * components. + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_popSyncCompState() + runs on ClientSyncComp { + f_popStringStack(v_stateStack); + } // end function f_popSyncCompState + + /** + * + * @desc This function returns the top state on the sync state + * stack of a sync client or self sync component. It + * does not remove it from the stack + * This stack is key in the shutdown handling of test + * components. + * @param p_state State on top of the state stack. + * @return false if state stack is empty, true otherwise + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_peekTopSyncCompState(out charstring p_state) + runs on ClientSyncComp + return boolean { + return f_peekStringStackTop(v_stateStack,p_state); + } // end function f_peekTopSyncCompState + + /** + * @desc This function checks if the sync state stack + * of a sync client or self sync component is empty. + * This stack is key in the shutdown handling of test + * components. + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_isSyncCompStateStackEmpty() + runs on ClientSyncComp + return boolean { + return f_isStringStackEmpty(v_stateStack); + } // end function f_isSyncCompStateStackEmpty + + } // end group syncCompStateHandling + + group shutDownAltsteps { + + /** + * @desc This is an example of a shutdown altstep which can be + * used as a "template" for a interface specific shutdown + * altstep or possily as a first temporary solution in + * test case development.

+ * This altstep shall be activated as a default as the + * first statement in each test case function which drives + * an interface, i.e., in MTC behavior of single component + * and in each client behavior of multi component test + * cases.
+ * The required behavior from this altstep is to:

+ * 1) expect the STOP either via the test component + * syncPort

+ * 2) upon its arrival it should shut down the SUT + * gracefully based on the current component state

+ * The current component state should have been + * previously kept uptodate from a test suite via the + * f_addSyncCompState function. This default will then be + * (automatically) invoked either from within f_selfSync + * or f_clientSync.
+ * Note that shutdown defaults can be written as + * _interface specific_ - they do not need to be test case + * or test component specific! See another example of a + * shutdown altstep in the sync module. + * @see LibCommon_Sync.f_addSyncCompState + * @see LibCommon_Sync.f_selfSync + * @see LibCommon_Sync.f_clientSync + * @see LibCommon_SyncExamples.a_exampleShutDown + * @remark Your application specific shutdown altstep + * implementation(s) should _not_ be defined in this + * module but as part of your test suite or application specific + * modules. + */ + altstep a_dummyShutDown() + runs on SelfSyncComp { + [] syncPort.receive(m_syncServerStop){ + var charstring v_state := ""; + tc_sync.stop; + log("**** a_dummyShutDown: Test component received STOP signal from sync server - going to IDLE state ****"); + while ( f_getTopSyncCompState(v_state) ) { + if ( v_state == "x" ) { + // then do something + } else if ( v_state == "y" ) { + // then do something else + } + } // end while + f_disconnect4SelfOrClientSync(); + // unmap/disconnect more if needed + log("**** a_dummyShutDown: -> Test component stopping itself now! ****") ; + stop ; + } + } // end altstep a_dummyShutDown + + /** + * @desc Shutdown alstep in case the sync server is requesting shutdown. + * + * @remark User shall stop the component + */ + altstep a_shutdown() + runs on ClientSyncComp { + [] syncPort.receive(m_syncServerStop){ + tc_sync.stop ; + log("**** a_shutdown: Test component received STOP signal from MTC **** "); + } + } + + } // end group shutDownAltsteps + + } // end group basicUserRelevantDefinitions + + group advancedUserRelevantDefinitions { + + group serverRelated { + + /** + * @desc Implements synchronization of "n" clients from server + * side. If a problem occurs, then server sends STOP to + * all clients. Waits for PX_TSYNC_TIME_LIMIT to let + * clients finish executing their behavior until this + * synchronization point. See f_serverSyncClientsTimed for + * overwriting this later timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync port! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @param p_noOfClients number of clients to be synchronized + * @param p_syncId synchronization point name/id + */ + function f_serverSyncClients( in UInt p_noOfClients, in charstring p_syncId ) + runs on ServerSyncComp { + f_serverSyncClientsTimed(p_noOfClients,p_syncId, PX_TSYNC_TIME_LIMIT); + } + + /** + * @desc Implements synchronization of "n" clients from server + * side including intermediate synchronization. + * If a problem occurs, then server sends STOP to + * all clients. Waits for PX_TSYNC_TIME_LIMIT to let + * clients finish executing their behavior until this + * synchronization point. See f_serverSyncClientsTimed for + * overwriting this later timing constraint! + * This function sets the server component verdict. + * @remark The use of this function requires prior connection of + * the server sync port! + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.f_serverSyncClientsTimed + * @param p_noOfClients number of clients to be synchronized + * @param p_syncId synchronization point name/id + */ + function f_serverSyncClientsIntermediateSync( in UInt p_noOfClients, in charstring p_syncId, in UInt p_NoOfClientIntermediate, in template (present) charstring p_syncIdIntermediate ) + runs on ServerSyncComp { + f_serverSyncClientsTimedIntermediateSync(p_noOfClients,p_syncId, p_NoOfClientIntermediate, p_syncIdIntermediate, PX_TSYNC_TIME_LIMIT); + } + + /** + * @desc Handles synchronization of clients from server side. + * If problem occurs, then server sends STOP to all clients. + * This function sets the server verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @param p_NoOfClients number of clients to be synchronized + * @param p_syncId synchronization point name/id + * @param p_execTimeLimit time limit given to all clients to finish the execution + * of their behavior up to this synchronization point + * @see LibCommon_Sync.f_connect4SelfOrClientSync + */ + function f_serverSyncClientsTimed(in UInt p_NoOfClients, + in charstring p_syncId, + float p_execTimeLimit ) + runs on ServerSyncComp { + f_serverSyncClientsTimedIntermediateSync(p_NoOfClients, p_syncId, 0, ?, p_execTimeLimit ) + } // end function f_serverSyncClientsTimed + + /** @desc Handles synchronization of clients from server side including + * intermediate synchronization. + * If problem occurs, then server sends STOP to all clients. + * This function sets the server verdict. + * @remark The use of this function requires prior connection of + * the server sync ports! + * @param p_NoOfClients number of clients to be synchronized + * @param p_syncId synchronization point name/id + * @param p_execTimeLimit time limit given to all clients to finish the execution + * of their behavior up to this synchronization point + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @return execution status + */ + function f_serverSyncClientsTimedIntermediateSync( in UInt p_NoOfClients, + in charstring p_syncId, in UInt p_NoOfClientIntermediate, in template (present) charstring p_syncIdIntermediate, + float p_execTimeLimit ) + runs on ServerSyncComp { + + var integer v_noOfRecvdSyncMsgs := 0, v_noOfRecvdSyncMsgsIntermediate := 0; + var boolean v_stopClients := false; + var ClientSyncCompList v_clientRefs := {}, v_clientRefsIntermediate := {}; + var ClientSyncComp v_clientRef; + + if ( p_syncId == c_prDone ) { + log("**** f_serverSyncClientsTimed: Sync server now starting PREAMBLE synchronization ... ****") ; + } else if ( p_syncId == c_tbDone ) { + log("**** f_serverSyncClientsTimed: Sync server now starting TEST BODY synchronization ... ****") ; + } else if ( p_syncId == c_initDone ) { + log("**** f_serverSyncClientsTimed: Sync server now starting UPPER TESTER synchronization ... ****") ; + } else { + log("**** f_serverSyncClientsTimed: Sync server now starting handling of next synchronization point ... ****") ; + } + tc_sync.start(p_execTimeLimit) ; + alt{ + [v_noOfRecvdSyncMsgsIntermediate != p_NoOfClientIntermediate] syncPort.receive(m_syncClientReady(p_syncIdIntermediate)) -> sender v_clientRef { + if(not f_isPresentInArray(v_clientRef, v_clientRefsIntermediate)) { + v_clientRefsIntermediate[v_noOfRecvdSyncMsgsIntermediate] := v_clientRef; + v_noOfRecvdSyncMsgsIntermediate := v_noOfRecvdSyncMsgsIntermediate + 1; + if (v_noOfRecvdSyncMsgsIntermediate == p_NoOfClientIntermediate) { + f_serverSendToAllClients(v_clientRefsIntermediate, m_syncServerReady(p_syncIdIntermediate)); + } + } + repeat; + } + [] syncPort.receive(m_syncClientReady(p_syncId)) -> sender v_clientRef { + if(not f_isPresentInArray(v_clientRef, v_clientRefs)) { + v_clientRefs[v_noOfRecvdSyncMsgs] := v_clientRef; + v_noOfRecvdSyncMsgs := v_noOfRecvdSyncMsgs + 1; + } + if ( v_noOfRecvdSyncMsgs != p_NoOfClients ) { repeat; } + } + [] syncPort.receive(m_syncClientStop) -> sender v_clientRef { + log("**** f_serverSyncClientsTimed: Sync server received STOP signal from a client - server will wait for all clients to reach their next synchronization point and then stop them! ****") ; + v_stopClients := true; + if(not f_isPresentInArray(v_clientRef, v_clientRefs)) { + v_clientRefs[v_noOfRecvdSyncMsgs] := v_clientRef; + v_noOfRecvdSyncMsgs := v_noOfRecvdSyncMsgs + 1; + } + if ( v_noOfRecvdSyncMsgs != p_NoOfClients ) { repeat; } + + } + [] syncPort.receive(m_syncClientReady(?)) -> sender v_clientRef { + log("**** f_serverSyncClientsTimed: Sync server received client sync message with incorrect synchronization point id which is currently not handled - server will stop all clients! ****") ; + v_stopClients := true; + if(not f_isPresentInArray(v_clientRef, v_clientRefs)) { + v_clientRefs[v_noOfRecvdSyncMsgs] := v_clientRef; + } + } + [] syncPort.receive(SyncCmd :? ) { + log("**** f_serverSyncClientsTimed: Sync server received (invalid) sync message from other sync server - server will stop all clients! ****") ; + v_stopClients := true; } + [] any port.receive { + // leave it to be ok to receive anything else + // in case that the user has added any non-sync ports to + // his/her server component type definition! + repeat; + } + [] tc_sync.timeout{ + log("**** f_serverSyncClientsTimed: A client is not responding within specified time limit - sync server is sending stop to all clients! ****"); + v_stopClients := true; } + } //end alt + if (v_noOfRecvdSyncMsgsIntermediate != p_NoOfClientIntermediate) { + v_stopClients := true; + } + tc_sync.stop ; + if ( v_stopClients ) { + setverdict(inconc); + // then send out STOP sync msg + f_serverSendToAllClients(v_clientRefs, m_syncServerStop); + f_serverWaitForAllClientsToShutDown(); // function will never return! + } else { + setverdict(pass); + // then send out READY sync msg + f_serverSendToAllClients(v_clientRefs, m_syncServerReady(p_syncId)); + if ( p_syncId == c_prDone ) { + log("**** f_serverSyncClientsTimed: Sync server successfully passed PREAMBLE synchronization point. ****") ; + } else if ( p_syncId == c_tbDone ) { + log("**** f_serverSyncClientsTimed: Sync server successfully passed TEST BODY synchronization point. ****") ; + } else { + log("**** f_serverSyncClientsTimed: Sync server successfully passed synchronization point. ****") ; + } + } + } // end function f_serverSyncClientsTimedIntermediateSync + + /** + * @desc This function is intended only for use on the sync + * server component in concurrent TTCN-3 test cases. + * It waits for all components to finish execution within + * the PX_TSYNC_TIME_LIMIT. If a timeout occurs + * the server will stop all clients. + * This function sets the server component verdict. + */ + function f_serverWaitForAllClientsToStop() + runs on ServerSyncComp { + tc_sync.start; + alt { + [] all component.done { + tc_sync.stop; + log("**** f_serverWaitForAllClientsToStop: All sync clients have finished their execution. Sync server now terminating test case. ****") ; + } + [] tc_sync.timeout { + log("**** f_serverWaitForAllClientsToStop: Not all sync clients have finshed execution within the sync time limit. Sync server will stop test case! ****") ; + stop; + } + } // end alt + setverdict(pass); + } // end function f_serverWaitForAllClientsToStop + + } // end group serverRelated + + group clientRelated { + + /** + * @desc This function creates the connection needed to + * execute client synchronization functions + * @see LibCommon_Sync.f_clientSync + * @see LibCommon_Sync.f_clientSendStop + */ + function f_connect4ClientSync() + runs on ClientSyncComp { + connect(self:syncPort, mtc:syncPort); + }// end function f_connect4ClientSync + + /** + * @desc This function removes the connection needed + * to execute client synchronization functions + * @see LibCommon_Sync.f_clientSync + * @see LibCommon_Sync.f_clientSendStop + */ + function f_disconnect4ClientSync() + runs on ClientSyncComp { + disconnect(self:syncPort, mtc:syncPort); + }// end function f_disconnect4ClientSync + + /** + * @desc This function combines client verdict setting with its + * synchronization for use,e.g, after or within a + * test body implementation. + * Note that such premables can _not_ be reused in non- + * concurrent test cases. This can be achieved by using + * the f_selfOrClientSyncAndVerdict function instead. + * This function sets the client component verdict. + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @remark The use of this function requires prior connection + * of the client sync port! + * @see LibCommon_Sync.f_connect4ClientSync + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_VerdictControl.f_setVerdict + * @see LibCommon_Sync.f_selfOrClientSyncAndVerdict + */ + function f_clientSyncAndVerdict(in charstring p_syncId, + in FncRetCode p_ret) + runs on ClientSyncComp { + if(vc_testcaseStep == e_preamble) { + f_clientSyncAndVerdictPreamble(p_syncId, p_ret); + } else if(vc_testcaseStep == e_testBody) { + f_clientSyncAndVerdictTestBody(p_syncId, p_ret); + } + else { + f_clientSyncAndVerdictPostamble(p_syncId, p_ret); + } + } + + /** + * @desc This function combines client verdict setting with its + * synchronization for use after or within a preamble + * implementation. + * Note that such preambles can _not_ be reused in non- + * concurrent test cases. + * This function sets the client component verdict. + * @remark The use of this function requires prior connection + * of the client sync port! + * @see LibCommon_Sync.f_connect4ClientSync + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_VerdictControl.f_setVerdictPreamble + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + */ + function f_clientSyncAndVerdictPreamble(in charstring p_syncId , + FncRetCode p_ret) + runs on ClientSyncComp { + f_setVerdictPreamble(p_ret); + f_clientSync(p_syncId,p_ret); + vc_testcaseStep := e_testBody; + } + + /** + * @desc This function combines client verdict setting with its + * synchronization for use,e.g, after or within a + * test body implementation. + * Note that such premables can _not_ be reused in non- + * concurrent test cases. This can be achieved by using + * the f_selfOrClientSyncAndVerdict function instead. + * This function sets the client component verdict. + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @remark The use of this function requires prior connection + * of the client sync port! + * @see LibCommon_Sync.f_connect4ClientSync + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_VerdictControl.f_setVerdict + * @see LibCommon_Sync.f_selfOrClientSyncAndVerdict + */ + function f_clientSyncAndVerdictTestBody(in charstring p_syncId, + in FncRetCode p_ret) + runs on ClientSyncComp { + f_setVerdict(p_ret); + f_clientSync(p_syncId,p_ret); + vc_testcaseStep := e_postamble; + } + + /** + * @desc This function combines client verdict setting with its + * synchronization for use after or within a + * postamble implementation. + * Note that such prostambles can _not_ be reused in non- + * concurrent test cases. + * This function sets the client component verdict. + * @remark The use of this function requires prior connection + * of the client sync port! + * @see LibCommon_Sync.f_connect4ClientSync + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_VerdictControl.f_setVerdictPostamble + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + */ + function f_clientSyncAndVerdictPostamble(in charstring p_syncId , + in FncRetCode p_ret) + runs on ClientSyncComp { + f_setVerdictPostamble(p_ret); + f_clientSync(p_syncId,p_ret); + } + + /** + * @desc This function handles synchronization of a sync client + * with the server. In case of successful execution it sends + * a READY message to the server and waits the READY back. + * The time used for waiting is defined by PX_TSYNC_TIME_LIMIT. + * In case of a non successful execution status it + * sends a STOP message to the server. + * In both cases the receipt of a STOP message or no + * response from the server it will trigger the shutdown + * default (if activated). + * This function will set only the client verdict to INCONC + * (and stop its execution) if no STOP response is received + * from the server within the PX_TSYNC_TIME_LIMIT + * or if no shutdown default is activated. In all other + * cases the client verdict is NOT set. + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @remark The use of this function requires prior connection + * of the client sync port! + * @see LibCommon_Sync.f_connect4ClientSync + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.a_dummyShutDown + * @see LibCommon_Sync.f_clientSendStop + * @return Updated execution status + */ + function f_clientSync( in charstring p_syncId , + in FncRetCode p_ret ) + runs on ClientSyncComp + return FncRetCode{ + + if (p_ret == e_success){ + syncPort.send(m_syncClientReady(p_syncId)); + tc_sync.start; + alt{ + [] syncPort.receive(m_syncServerReady(p_syncId)){ + tc_sync.stop ; } + [] tc_sync.timeout{ + log("**** f_clientSync: Sync client did not receive message from sync server within the specified time limit - sync client will ask sync server to stop test case! ****") ; + f_clientSendStop(); } // function will not return! + } //end alt + } //end if + else { + log("**** f_clientSync: Execution status indicates that execution of test component behavior was not successful - sync client will ask sync server to stop test case! ****") ; + f_clientSendStop(); // function will not return! + } + if ( p_syncId == c_prDone ) { + log("**** f_clientSync: Sync client successfully passed PREAMBLE synchronization point. ****") ; + } else if ( p_syncId == c_tbDone ) { + log("**** f_clientSync: Sync client successfully passed TEST BODY synchronization point. ****") ; + } else { + log("**** f_clientSync: Sync client successfully passed synchronization point. ****") ; + } + return e_success ; + + } // end function f_clientSync + + /** + * @desc This function can be used to request the shutdown a + * multi component test case _prior_ to reaching a + * synchronization point. It sends a STOP message to + * the sync server and awaits then the STOP from the server + * which will trigger the shutdown default (if activated). + * This function will set the server verdict to INCONC (and + * stop the test case) if no shutdown default is activated. + * This function will set only the client verdict to INCONC + * (and stop its execution) if no STOP response is received + * from the server within the PX_TSYNC_TIME_LIMIT + * or if no shutdown default is activated. In all other + * cases the client verdict is NOT set. + * @remark The use of this function requires prior connection + * of the client sync port! + * @see LibCommon_Sync.f_connect4ClientSync + * @see LibCommon_Sync.f_connect4SelfOrClientSync + * @see LibCommon_Sync.PX_TSYNC_TIME_LIMIT + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_clientSendStop() + runs on ClientSyncComp { + log("**** f_clientSendStop: Sync client requesting from server to stop test case (including itself). ****") ; + syncPort.send(m_syncClientStop) ; + tc_sync.start; + alt{ + [] tc_sync.timeout{ + log("**** f_clientSendStop: Stopping sync client without shutdown - either no shutdown default active or no stop received from server. ****") ; + setverdict(inconc); + stop ; + } + }//end alt + tc_sync.stop; + stop; // stop here if shutdown default does not stop + } + + } // end group clientRelated + + } // end group advancedUserRelevantDefinitions + + group otherSyncModuleDefinitions { + + group syncModuleparams { + /** + * + * @desc Default time limit for a sync client to reach a + * synchronization point + */ + modulepar float PX_TSYNC_TIME_LIMIT := 120.0; + + /* + * @desc Default time limit for a sync client to finish + * its execution of the shutdown default + */ + modulepar float PX_TSHUT_DOWN_TIME_LIMIT := 120.0; + } + + group otherSyncTypes { + + type record of charstring SyncPointList; + + type record of ClientSyncComp ClientSyncCompList; + + } // end group otherSyncTypes + + group otherSelfSyncRelatedDefinitions { + + /** + * @desc This function creates the connection needed to + * execute self sync functions + * @see LibCommon_Sync.f_selfSync + * @see LibCommon_Sync.f_selfSyncStop + */ + function f_connect4SelfSync() + runs on SelfSyncComp { + connect(self:syncSendPort, self:syncPort); + }// end function f_connect4SelfSync + + /** + * @desc This function removes the connection needed + * to execute self sync functions + * @see LibCommon_Sync.f_selfSync + * @see LibCommon_Sync.f_selfSyncStop + */ + function f_disconnect4SelfSync() + runs on SelfSyncComp { + disconnect(self:syncSendPort, self:syncPort); + }// end function f_disconnect4SelfSync + + /** + * @desc This function combines MTC verdict setting with self + * synchronization for use in the preamble / test body / postamble + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_VerdictControl.f_setVerdict + * @see LibCommon_Sync.f_selfSync + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_selfSyncAndVerdict( in charstring p_syncId, + in FncRetCode p_ret ) + runs on SelfSyncComp { + if(vc_testcaseStep == e_preamble) { + f_selfSyncAndVerdictPreamble(p_syncId, p_ret); + } else if(vc_testcaseStep == e_testBody) { + f_selfSyncAndVerdictTestBody(p_syncId, p_ret); + } + else { + f_selfSyncAndVerdictPostamble(p_syncId, p_ret); + } + } + + /** + * @desc This function combines MTC verdict setting with self + * synchronization for use after the preamble. + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_VerdictControl.f_setVerdictPreamble + * @see LibCommon_Sync.f_selfSync + */ + function f_selfSyncAndVerdictPreamble( in charstring p_syncId, + in FncRetCode p_ret ) + runs on SelfSyncComp { + f_setVerdictPreOrPostamble(p_ret); + f_selfSync(p_syncId,p_ret); + vc_testcaseStep := e_testBody; + } + + /** + * @desc This function combines MTC verdict setting with self + * synchronization for use after the test body. + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_VerdictControl.f_setVerdict + * @see LibCommon_Sync.f_selfSync + */ + function f_selfSyncAndVerdictTestBody( in charstring p_syncId, + in FncRetCode p_ret ) + runs on SelfSyncComp { + f_setVerdict(p_ret); + f_selfSync(p_syncId,p_ret); + vc_testcaseStep := e_postamble; + } + + /** + * @desc This function combines MTC verdict setting with self + * synchronization for use after the postamble. + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @see LibCommon_VerdictControl.f_setVerdictPostamble + * @see LibCommon_Sync.f_selfSync + */ + function f_selfSyncAndVerdictPostamble( in charstring p_syncId , + in FncRetCode p_ret ) + runs on SelfSyncComp { + f_setVerdictPreOrPostamble(p_ret); + f_selfSync(p_syncId,p_ret); + } + + /** + * @desc This function synchronizes a MTC with itself. In case + * of a non successful execution status it sends a STOP + * message to itself and invokes that way the + * shutdown default (if activated). + * This function will set the server verdict to INCONC (and + * stop the test case) if no shutdown default is activated. + * Otherwise no verdict is set. + * @remark Sync ports should be connected prior to the invocation + * of this function! + * @param p_syncId Synchronization point name/id + * @param p_ret Current behavior execution status + * @return Updated execution status + * @see LibCommon_Sync.f_connect4SelfSync + * @see LibCommon_Sync.a_dummyShutDown + */ + function f_selfSync( in charstring p_syncId , + in FncRetCode p_ret ) + runs on SelfSyncComp + return FncRetCode{ + if (p_ret != e_success){ + f_selfSyncStop() ; // function will not return! + } + if ( p_syncId == c_prDone ) { + log("**** f_selfSync: Successfully passed PREAMBLE synchronization point. ****") ; + } else if ( p_syncId == c_tbDone ) { + log("**** f_selfSync: Successfully passed TEST BODY synchronization point. ****") ; + } else { + log("**** f_selfSync: Successfully passed synchronization point. ****") ; + } + return e_success ; + }// end function f_selfSync + + /** + * @desc This function can be used to shut down a test case _prior_ + * to reaching a synchronization point. it sends a STOP + * message to itself and invokes that way the + * shutdown default (if activated). + * This function will set the server verdict to INCONC (and + * stop the test case) if no shutdown default is activated. + * Otherwise no verdict is set. + * @remark Sync ports should be connected prior to the invocation + * of this function! + * @see LibCommon_Sync.f_connect4SelfSync + */ + function f_selfSyncStop() + runs on SelfSyncComp { + + log("**** f_selfSyncStop: MTC requests to stop test case (itself). ****") ; + syncSendPort.send(m_syncServerStop) ; // this MUST be _server_ for the default to catch! + tc_sync.start(PX_TSYNC_TIME_LIMIT); + alt{ + [] tc_sync.timeout{ + log("**** f_selfSyncStop: Stopping MTC without shutdown - either no shutdown default active or missing syncPort connection ****") ; + setverdict(inconc); + stop ; + } + }//end alt + tc_sync.stop; + stop; // if shutdown default is not activated or if it does not stop + } // end function f_selfSyncStop + + } // end group otherSelfSyncRelatedDefinitions + + /** + * + * @desc The sychronization protocol is conceptually based on + * named synchronization. Each synchronization point + * has it own specific synchronization message. This + * makes each synchronization unique, and allows, e.g., to + * ensure that a server synchronizes only clients which have + * reached the same synchronization point. + */ + group syncProtocolDefinition { + + type union SyncCmd { + ClientReady clientReady, + ServerReady serverReady, + ClientStop clientStop, + ServerStop serverStop + } + + type record ClientReady { + charstring syncPointId + } + + type record ServerReady { + charstring syncPointId + } + + type record ClientStop {} + + type record ServerStop {} + + } // end group syncProtocolDefinition + + group syncMessages { + template SyncCmd m_syncClientReady( template (present) charstring p_syncId ) := { + clientReady := { p_syncId } + } + + template SyncCmd m_syncServerReady( template (present) charstring p_syncId ) := { + serverReady := { p_syncId } + } + + template SyncCmd m_syncClientStop := { + clientStop := {} + } + + template SyncCmd m_syncServerStop := { + serverStop := {} + } + + } // end group syncMessages + + group otherSyncFunctions { + + /** + * @desc Makes server send a sync message to all known clients + * @param p_clientRefs List of client references to which the message is to be send + * @param p_syncCmd The actual synchronization message to be sent out + */ + function f_serverSendToAllClients( in ClientSyncCompList p_clientRefs, + in template (value) SyncCmd p_syncCmd) + runs on ServerSyncComp { + var integer i:=0; + for (i:=0; i< sizeof(p_clientRefs); i:=i+1 ){ + syncPort.send(p_syncCmd) to valueof(p_clientRefs[i]); + } + } // end function f_serverSendToAllClients + + /** + * @desc This function is intended only for use on server in concurrent + * TTCN-3 test cases. It waits for all components to shut down + * within the PX_TSHUT_DOWN_TIME_LIMIT. If a timeout occurs + * it aborts the test case (no matter how far clients got with their + * shutdown). + * This function sets the server verdict. + */ + function f_serverWaitForAllClientsToShutDown() + runs on ServerSyncComp { + + tc_shutDown.start(PX_TSHUT_DOWN_TIME_LIMIT); + alt { + [] syncPort.receive { + // clients may still try to send some sync message + } + [] all component.done { + tc_shutDown.stop; + log("**** f_serverWaitForAllClientsToShutDown: All components have properly shut down. Sync server will now terminate the test case. ****") ; + } + [] tc_shutDown.timeout { + log("**** f_serverWaitForAllClientsToShutDown: Not all clients have properly shutdown within the shut down time limit. Sync server will now terminate test case! ****") ; + } + } // end alt + // cover case that shut down default is NOT activated + setverdict(inconc); + //mtc.stop; + syncPort.send(m_syncServerStop) to self; // this MUST be _server_ for the default to catch! + tc_sync.start(PX_TSYNC_TIME_LIMIT); + alt{ + [] tc_sync.timeout{ + log("**** f_selfSyncStop: Stopping MTC without shutdown - either no shutdown default active or missing syncPort connection ****") ; + setverdict(inconc); + stop ; + } + }//end alt + tc_sync.stop; + stop; // if shutdown default is not activated or if it does not stop + } // end function f_serverWaitForAllClientsToShutDown + + function f_isPresentInArray(in ClientSyncComp p_clientRef, in ClientSyncCompList p_clientRefs) + return boolean { + var integer i; + for(i:=0; i < sizeof(p_clientRefs); i:=i+1) { + if(p_clientRefs[i] == p_clientRef) { + return true; + } + } + return false; + } + } // end group otherSyncFunctions + + } // end group otherSyncDefinitions + +} // end module LibCommon_Sync